Skip to content

CSI PowerStore - Multiple NAS Support#484

Merged
suryagupta4 merged 26 commits into
mainfrom
feature/multi-nas-support
May 13, 2025
Merged

CSI PowerStore - Multiple NAS Support#484
suryagupta4 merged 26 commits into
mainfrom
feature/multi-nas-support

Conversation

@rishabhatdell

@rishabhatdell rishabhatdell commented May 8, 2025

Copy link
Copy Markdown
Contributor

Description

This enhancement to the CSI-PowerStore driver enables support for multiple NAS servers within a single storage class, overcoming the 125 filesystem limit by scaling up to 2000 filesystems. It allows Kubernetes administrators to efficiently provision up to 2000 PersistentVolumes, with intelligent NAS server selection based on available capacity.

GitHub Issues

List the GitHub issues impacted by this PR:

GitHub Issue #
https://github.com/dell/csm/issues/1758

Checklist:

  • I have performed a self-review of my own code to ensure there are no formatting, vetting, linting, or security issues
  • I have verified that new and existing unit tests pass locally with my changes
  • I have not allowed coverage numbers to degenerate
  • I have maintained at least 90% code coverage
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added tests that prove my fix is effective or that my feature works
  • Backward compatibility is not broken

How Has This Been Tested?

i. Ran volumeio longevity tests using NAS server nas8 and nas9 and volumes got scaled to both NAS servers as shown in attached image:
image

ii.Cert csi runs for below suite passed:

  1. EphemeralVolumeSuite
  2. Capacitytracking suite
  3. MultiAttachSuite
    4.Replication suite
    5.Snapsuite
    6.voume expansion suite
    7.clonevolume suite
  4. Scaling suite
  5. Volume io suite

iii. Provisioned 1000 volumes and its successful

Comment thread pkg/controller/controller.go Outdated
Comment thread pkg/controller/controller.go Outdated
Comment thread pkg/controller/controller_test.go Outdated
Comment thread pkg/controller/controller_test.go Outdated
Comment thread pkg/controller/controller_test.go Outdated
Comment thread pkg/controller/controller_test.go
Comment thread pkg/array/array.go
Comment thread pkg/array/array.go
Comment thread pkg/array/array.go
@rishabhatdell rishabhatdell changed the title [WIP] CSI PowerStore - Multiple NAS Support CSI PowerStore - Multiple NAS Support May 12, 2025
@rishabhatdell rishabhatdell marked this pull request as ready for review May 12, 2025 11:19
Comment thread pkg/controller/controller.go
@github-actions

Copy link
Copy Markdown
Contributor

Merging this branch will not change overall coverage

Impacted Packages Coverage Δ 🤖
github.com/dell/csi-powerstore/pkg/array 0.00% (ø)
github.com/dell/csi-powerstore/pkg/common 0.00% (ø)
github.com/dell/csi-powerstore/pkg/controller 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/dell/csi-powerstore/pkg/array/array.go 0.00% (ø) 0 0 0
github.com/dell/csi-powerstore/pkg/common/envvars.go 0.00% (ø) 0 0 0
github.com/dell/csi-powerstore/pkg/controller/controller.go 0.00% (ø) 0 0 0

Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code.

Changed unit test files

  • github.com/dell/csi-powerstore/pkg/array/array_test.go
  • github.com/dell/csi-powerstore/pkg/controller/controller_test.go

@suryagupta4 suryagupta4 merged commit 3034ac4 into main May 13, 2025
6 checks passed
@suryagupta4 suryagupta4 deleted the feature/multi-nas-support branch May 13, 2025 06:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants