Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added docs for Storage Capacity Tracking support in PowerScale #617

Merged
merged 1 commit into from
May 15, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
# order is alphabetical for easier maintenance.
#
# Bharath Sreekanth (bharathsreekanth)
# Chiman Jain (chimanjain)
# Deepak Ghivari (Deepak-Ghivari)
# Matt Schmaelzle (mjsdell)
# Mukesh Gandharva (mgandharva)
Expand All @@ -17,4 +18,4 @@
# Sean Gallacher (gallacher)
# Yamunadevi Shanmugam (shanmydell)

* @bharathsreekanth @Deepak-Ghivari @gallacher @mgandharva @mjsdell @prablr79 @rajendraindukuri @rajkumar-palani @rsedlock1958 @shanmydell
* @bharathsreekanth @chimanjain @Deepak-Ghivari @gallacher @mgandharva @mjsdell @prablr79 @rajendraindukuri @rajkumar-palani @rsedlock1958 @shanmydell
2 changes: 1 addition & 1 deletion content/docs/csidriver/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes-
| Topology | yes | yes | yes | yes | yes |
| Multi-array | yes | yes | yes | yes | yes |
| Volume Health Monitoring | yes | yes | yes | yes | yes |
| Storage Capacity Tracking | no | no | no | no | yes |
| Storage Capacity Tracking | no | no | no | yes | yes |
{{</table>}}
### Supported Storage Platforms
{{<table "table table-striped table-bordered table-sm">}}
Expand Down
14 changes: 14 additions & 0 deletions content/docs/csidriver/features/powerscale.md
Original file line number Diff line number Diff line change
Expand Up @@ -568,3 +568,17 @@ When this feature is enabled, the existing `ReadWriteOnce(RWO)` access mode rest

To migrate existing PersistentVolumes to use `ReadWriteOncePod`, please follow the instruction from [here](https://kubernetes.io/blog/2021/09/13/read-write-once-pod-access-mode-alpha/#migrating-existing-persistentvolumes).

## Storage Capacity Tracking

CSI PowerScale driver version 2.7.0 and above supports Storage Capacity Tracking.

This feature helps the scheduler to make more informed choices about where to start pods which depends on unbound volumes with late binding (aka "WaitForFirstConsumer"). Pods will be scheduled on a node (satisfying the topology constraints) only if the requested capacity is available on the storage array.
If such a node is not available, the pods stay Pending. This means they are not scheduled.

Without storage capacity tracking, pods get scheduled on a node satisfying the topology constraints. If the required capacity is not available, volume attachment to the pods fails, and pods remain in ContainerCreating state. Storage capacity tracking eliminates unnecessary scheduling of pods when there is insufficient capacity.

The attribute `storageCapacity.enabled` in `my-powerscale-settings.yaml` can be used to enable/disable the feature during driver installation.
To configure how often driver checks for changed capacity set `storageCapacity.pollInterval` attribute.

**Note:**
>This feature requires Kubernetes v1.24 and above and will be automatically disabled in lower versions of Kubernetes.
3 changes: 2 additions & 1 deletion content/docs/csidriver/installation/helm/isilon.md
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,8 @@ CRDs should be configured during replication prepare stage with repctl as descri
| kubeletConfigDir | Specify kubelet config dir path | Yes | "/var/lib/kubelet" |
| enableCustomTopology | Indicates PowerScale FQDN/IP which will be fetched from node label and the same will be used by controller and node pod to establish a connection to Array. This requires enableCustomTopology to be enabled. | No | false |
| fsGroupPolicy | Defines which FS Group policy mode to be used, Supported modes `None, File and ReadWriteOnceWithFSType` | No | "ReadWriteOnceWithFSType" |
| storageCapacity.enabled | Enable/Disable storage capacity tracking | No | true |
| storageCapacity.pollInterval | Configure how often the driver checks for changed capacity | No | 5m |
| podmonAPIPort | Defines the port which csi-driver will use within the cluster to support podmon | No | 8083 |
| maxPathLen | Defines the maximum length of path for a volume | No | 192 |
| ***controller*** | Configure controller pod specific parameters | | |
Expand Down Expand Up @@ -314,4 +316,3 @@ level=error clusterName=powerscale runid=10 msg="mount failed: exit status 32
mounting arguments: -t nfs -o rw XX.XX.XX.XX:/ifs/data/csi/k8s-ac7b91962d /var/lib/kubelet/pods/9f72096a-a7dc-4517-906c-20697f9d7375/volumes/kubernetes.io~csi/k8s-ac7b91962d/mount
output: mount.nfs: access denied by server while mounting XX.XX.XX.XX:/ifs/data/csi/k8s-ac7b91962d
```