From 8a094372721939f505ec730de387447218ad62f9 Mon Sep 17 00:00:00 2001 From: Indukuri Date: Mon, 14 Aug 2023 15:58:06 +0530 Subject: [PATCH 1/4] Added docs for SCT feature Unity XT --- content/docs/csidriver/_index.md | 2 +- content/docs/csidriver/features/unity.md | 13 +++++++++++++ content/docs/csidriver/installation/helm/unity.md | 2 ++ .../docs/csidriver/installation/operator/unity.md | 13 +++++++++---- content/docs/csidriver/release/unity.md | 8 ++------ 5 files changed, 27 insertions(+), 11 deletions(-) diff --git a/content/docs/csidriver/_index.md b/content/docs/csidriver/_index.md index 7c0641bec1..3de22b09b0 100644 --- a/content/docs/csidriver/_index.md +++ b/content/docs/csidriver/_index.md @@ -48,7 +48,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 | yes | no | no | yes | yes | +| Storage Capacity Tracking | yes | no | yes | yes | yes | {{}} ### Supported Storage Platforms {{}} diff --git a/content/docs/csidriver/features/unity.md b/content/docs/csidriver/features/unity.md index 2be1899c6d..893c99e898 100644 --- a/content/docs/csidriver/features/unity.md +++ b/content/docs/csidriver/features/unity.md @@ -492,6 +492,19 @@ This feature: ``` By default this is disabled in CSI Driver for Unity XT. You will have to set the `healthMonitor.enable` flag for controller, node or for both in `values.yaml` to get the volume stats and volume condition. +## Storage Capacity Tracking +CSI for Unity XT driver version 2.8.0 and above supports Storage Capacity Tracking. + +This feature helps the scheduler to make more informed choices about where to schedule pods which depends on unbound volumes with late binding (aka "wait for first consumer"). 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 in Pending state. This means pods 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 `values.yaml` can be used to enable/disable the feature during driver installation using helm. This is by default set to true. To configure how often driver checks for changed capacity set `storageCapacity.pollInterval` attribute. In case of driver installed via operator, this interval can be configured in the sample file provided [here.](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_unity_v280.yaml) by editing the `--capacity-poll-interval` argument present in the provisioner sidecar. + +**Note:** +>This feature requires kubernetes v1.24 and above and will be automatically disabled in lower version of kubernetes. + ## Dynamic Logging Configuration ### Helm based installation diff --git a/content/docs/csidriver/installation/helm/unity.md b/content/docs/csidriver/installation/helm/unity.md index 848d09f1a5..c996d722ac 100644 --- a/content/docs/csidriver/installation/helm/unity.md +++ b/content/docs/csidriver/installation/helm/unity.md @@ -129,6 +129,8 @@ Procedure | podmon.image| pod man image name | false | - | | tenantName | Tenant name added while adding host entry to the array | No | | | 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 | | **controller** | Allows configuration of the controller-specific parameters.| - | - | | controllerCount | Defines the number of csi-unity controller pods to deploy to the Kubernetes release| Yes | 2 | | volumeNamePrefix | Defines a string prefix for the names of PersistentVolumes created | Yes | "k8s" | diff --git a/content/docs/csidriver/installation/operator/unity.md b/content/docs/csidriver/installation/operator/unity.md index c255f7fb14..7a9b0c167c 100644 --- a/content/docs/csidriver/installation/operator/unity.md +++ b/content/docs/csidriver/installation/operator/unity.md @@ -98,7 +98,7 @@ Users should configure the parameters in CR. The following table lists the prima | X_CSI_HEALTH_MONITOR_ENABLED | Enable/Disable health monitor of CSI volumes from Node plugin | No | | ### Example CR for Unity XT -Refer samples from [here](https://github.com/dell/dell-csi-operator/tree/master/samples). Below is an example CR: +Refer samples from [here](https://github.com/dell/csm-operator/blob/main/samples). Below is an example CR: ```yaml apiVersion: storage.dell.com/v1 kind: CSIUnity @@ -107,12 +107,12 @@ metadata: namespace: unity spec: driver: - configVersion: v2.7.0 + configVersion: v2.8.0 replicas: 2 dnsPolicy: ClusterFirstWithHostNet forceUpdate: false common: - image: "dellemc/csi-unity:v2.7.0" + image: "dellemc/csi-unity:v2.8.0" imagePullPolicy: IfNotPresent sideCars: - name: provisioner @@ -121,7 +121,12 @@ spec: args: ["--snapshot-name-prefix=csiunitysnap"] # Enable/Disable health monitor of CSI volumes from node plugin. Provides details of volume usage. # - name: external-health-monitor - # args: ["--monitor-interval=60s"] + # args: ["--monitor-interval=60s"] + # Uncomment the following to configure how often external-provisioner polls the driver to detect changed capacity + # Configure when the storageCapacity is set as "true" + # Allowed values: 1m,2m,3m,...,10m,...,60m etc. Default value: 5m + #- name: provisioner + # args: ["--capacity-poll-interval=5m"] controller: envs: diff --git a/content/docs/csidriver/release/unity.md b/content/docs/csidriver/release/unity.md index 7168afe87f..454e7fc172 100644 --- a/content/docs/csidriver/release/unity.md +++ b/content/docs/csidriver/release/unity.md @@ -3,15 +3,11 @@ title: Unity XT description: Release notes for Unity XT CSI driver --- -## Release Notes - CSI Unity XT v2.7.0 +## Release Notes - CSI Unity XT v2.8.0 ### New Features/Changes -- [Migrated image registry from k8s.gcr.io to registry.k8s.io](https://github.com/dell/csm/issues/744) -- [Added support for OpenShift 4.12](https://github.com/dell/csm/issues/571) -- [Added support for Kubernetes 1.27](https://github.com/dell/csm/issues/761) -- [Added support for K3s on Debian OS](https://github.com/dell/csm/issues/798) -- [Added support for Unisphere 5.3.0 array](https://github.com/dell/csm/issues/842) +- [Added support for Storage Capacity Tracking for Unity XT](https://github.com/dell/csm/issues/876) ### Fixed Issues From e7c4eb30e0f8b1342f1a12a447a4ffa1e67e1b7c Mon Sep 17 00:00:00 2001 From: Indukuri Date: Wed, 16 Aug 2023 16:49:51 +0530 Subject: [PATCH 2/4] Incorporated review comments --- content/docs/csidriver/features/unity.md | 3 --- .../docs/csidriver/installation/operator/unity.md | 7 +------ content/docs/deployment/csmoperator/drivers/unity.md | 2 ++ .../docs/deployment/csmoperator/release/_index.md | 12 +----------- 4 files changed, 4 insertions(+), 20 deletions(-) diff --git a/content/docs/csidriver/features/unity.md b/content/docs/csidriver/features/unity.md index 893c99e898..bf06822b52 100644 --- a/content/docs/csidriver/features/unity.md +++ b/content/docs/csidriver/features/unity.md @@ -502,9 +502,6 @@ Without storage capacity tracking, pods get scheduled on a node satisfying the t The attribute `storageCapacity.enabled` in `values.yaml` can be used to enable/disable the feature during driver installation using helm. This is by default set to true. To configure how often driver checks for changed capacity set `storageCapacity.pollInterval` attribute. In case of driver installed via operator, this interval can be configured in the sample file provided [here.](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_unity_v280.yaml) by editing the `--capacity-poll-interval` argument present in the provisioner sidecar. -**Note:** ->This feature requires kubernetes v1.24 and above and will be automatically disabled in lower version of kubernetes. - ## Dynamic Logging Configuration ### Helm based installation diff --git a/content/docs/csidriver/installation/operator/unity.md b/content/docs/csidriver/installation/operator/unity.md index 7a9b0c167c..9081771f11 100644 --- a/content/docs/csidriver/installation/operator/unity.md +++ b/content/docs/csidriver/installation/operator/unity.md @@ -98,7 +98,7 @@ Users should configure the parameters in CR. The following table lists the prima | X_CSI_HEALTH_MONITOR_ENABLED | Enable/Disable health monitor of CSI volumes from Node plugin | No | | ### Example CR for Unity XT -Refer samples from [here](https://github.com/dell/csm-operator/blob/main/samples). Below is an example CR: +Refer samples from [here](https://github.com/dell/dell-csi-operator/tree/master/samples). Below is an example CR: ```yaml apiVersion: storage.dell.com/v1 kind: CSIUnity @@ -122,11 +122,6 @@ spec: # Enable/Disable health monitor of CSI volumes from node plugin. Provides details of volume usage. # - name: external-health-monitor # args: ["--monitor-interval=60s"] - # Uncomment the following to configure how often external-provisioner polls the driver to detect changed capacity - # Configure when the storageCapacity is set as "true" - # Allowed values: 1m,2m,3m,...,10m,...,60m etc. Default value: 5m - #- name: provisioner - # args: ["--capacity-poll-interval=5m"] controller: envs: diff --git a/content/docs/deployment/csmoperator/drivers/unity.md b/content/docs/deployment/csmoperator/drivers/unity.md index 2d62c87f98..555072356c 100644 --- a/content/docs/deployment/csmoperator/drivers/unity.md +++ b/content/docs/deployment/csmoperator/drivers/unity.md @@ -59,6 +59,8 @@ kubectl get csm --all-namespaces | replicas | Controls the number of controller pods you deploy. If the number of controller pods is greater than the number of available nodes, the excess pods will be in pending state until new nodes are available for scheduling. Default is 2 which allows for Controller high availability. | Yes | 2 | | namespace | Specifies namespace where the driver will be installed | Yes | "unity" | | 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 | | ***Common parameters for node and controller*** | | X_CSI_UNITY_ALLOW_MULTI_POD_ACCESS | To enable sharing of volumes across multiple pods within the same node in RWO access mode | No | false | | X_CSI_UNITY_SYNC_NODEINFO_INTERVAL | Time interval to add node info to array. Default 15 minutes. Minimum value should be 1 | No | 15 | diff --git a/content/docs/deployment/csmoperator/release/_index.md b/content/docs/deployment/csmoperator/release/_index.md index b77b0638ab..907b498fb0 100644 --- a/content/docs/deployment/csmoperator/release/_index.md +++ b/content/docs/deployment/csmoperator/release/_index.md @@ -9,19 +9,9 @@ Description: > ## Release Notes - Container Storage Modules Operator v1.2.0 ### New Features/Changes -- [Added support for CSI Unity XT Driver](https://github.com/dell/csm/issues/756) -- [Added support for PowerMax Driver](https://github.com/dell/csm/issues/769) -- [Added Replication Support for PowerFlex driver](https://github.com/dell/csm/issues/821) -- [CSM Operator: Support install of Resiliency module](https://github.com/dell/csm/issues/739) -- [Migrated image registry from k8s.gcr.io to registry.k8s.io](https://github.com/dell/csm/issues/744) -- [Added support for OpenShift 4.12](https://github.com/dell/csm/issues/571) -- [Added support for Kubernetes 1.27](https://github.com/dell/csm/issues/761) - +- [Added support for Storage Capacity Tracking feature for Unity XT via csm operator](https://github.com/dell/csm/issues/876) ### Fixed Issues -- [CSM object goes into failed state when deployments are getting scaled down/up](https://github.com/dell/csm/issues/816) -- [Install issues of the Replication module have been fixed](https://github.com/dell/csm/issues/788) - ### Known Issues There are no known issues in this release. \ No newline at end of file From 85b7111486046caba9a9826a8f568d6f3fe226ed Mon Sep 17 00:00:00 2001 From: Indukuri Date: Wed, 16 Aug 2023 17:18:41 +0530 Subject: [PATCH 3/4] Incorporated review comments --- content/docs/csidriver/installation/operator/unity.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/docs/csidriver/installation/operator/unity.md b/content/docs/csidriver/installation/operator/unity.md index 9081771f11..d426e4ec13 100644 --- a/content/docs/csidriver/installation/operator/unity.md +++ b/content/docs/csidriver/installation/operator/unity.md @@ -107,12 +107,12 @@ metadata: namespace: unity spec: driver: - configVersion: v2.8.0 + configVersion: v2.7.0 replicas: 2 dnsPolicy: ClusterFirstWithHostNet forceUpdate: false common: - image: "dellemc/csi-unity:v2.8.0" + image: "dellemc/csi-unity:v2.7.0" imagePullPolicy: IfNotPresent sideCars: - name: provisioner From faa83e62aebb092ebe7c64d6b85e860cb2dc70bf Mon Sep 17 00:00:00 2001 From: Indukuri Date: Wed, 16 Aug 2023 17:36:12 +0530 Subject: [PATCH 4/4] Incorporated few more review comments --- content/docs/csidriver/release/unity.md | 2 +- content/docs/deployment/csmoperator/release/_index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/docs/csidriver/release/unity.md b/content/docs/csidriver/release/unity.md index 454e7fc172..e927d8b786 100644 --- a/content/docs/csidriver/release/unity.md +++ b/content/docs/csidriver/release/unity.md @@ -7,7 +7,7 @@ description: Release notes for Unity XT CSI driver ### New Features/Changes -- [Added support for Storage Capacity Tracking for Unity XT](https://github.com/dell/csm/issues/876) +- [Added support for Storage Capacity Tracking feature](https://github.com/dell/csm/issues/876) ### Fixed Issues diff --git a/content/docs/deployment/csmoperator/release/_index.md b/content/docs/deployment/csmoperator/release/_index.md index 907b498fb0..2e9cd67c12 100644 --- a/content/docs/deployment/csmoperator/release/_index.md +++ b/content/docs/deployment/csmoperator/release/_index.md @@ -9,7 +9,7 @@ Description: > ## Release Notes - Container Storage Modules Operator v1.2.0 ### New Features/Changes -- [Added support for Storage Capacity Tracking feature for Unity XT via csm operator](https://github.com/dell/csm/issues/876) +- [Added support for Storage Capacity Tracking feature for Unity XT](https://github.com/dell/csm/issues/876) ### Fixed Issues