Skip to content

Commit

Permalink
Volume limit support in CSI Powerflex Driver (#748)
Browse files Browse the repository at this point in the history
* volume limit support in CSI Powerflex Driver

* Incorporate review comments
  • Loading branch information
panigs7 authored Aug 17, 2023
1 parent 48b8dcd commit 305c904
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 2 deletions.
11 changes: 11 additions & 0 deletions content/docs/csidriver/features/powerflex.md
Original file line number Diff line number Diff line change
Expand Up @@ -750,3 +750,14 @@ node:
> NOTE: Currently, the CSI-PowerFlex driver only supports GUID for the restricted SDC mode.

If SDC approval is denied, then provisioning of the volume will not be attempted and an appropriate error message is reported in the logs/events so the user is informed.

## Volume Limit

The CSI Driver for Dell PowerFlex allows users to specify the maximum number of PowerFlex volumes that can be used in a node.

The user can set the volume limit for a node by creating a node label `max-vxflexos-volumes-per-node` and specifying the volume limit for that node.
<br/> `kubectl label node <node_name> max-vxflexos-volumes-per-node=<volume_limit>`

The user can also set the volume limit for all the nodes in the cluster by specifying the same to `maxVxflexosVolumesPerNode` attribute in values.yaml file.

>**NOTE:** <br>To reflect the changes after setting the value either via node label or in values.yaml file, user has to bounce the driver controller and node pods using the command `kubectl get pods -n vxflexos --no-headers=true | awk '/vxflexos-/{print $1}'| xargs kubectl delete -n vxflexos pod`. <br><br> If the value is set both by node label and values.yaml file then node label value will get the precedence and user has to remove the node label in order to reflect the values.yaml value. <br><br>The default value of `maxVxflexosVolumesPerNode` is 0. <br><br>If `maxVxflexosVolumesPerNode` is set to zero, then Container Orchestration decides how many volumes of this type can be published by the controller to the node.<br><br>The volume limit specified to `maxVxflexosVolumesPerNode` attribute is applicable to all the nodes in the cluster for which node label `max-vxflexos-volumes-per-node` is not set.
1 change: 1 addition & 0 deletions content/docs/csidriver/installation/helm/powerflex.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,7 @@ Use the below command to replace or update the secret:
| enablesnapshotcgdelete | A boolean that, when enabled, will delete all snapshots in a consistency group everytime a snap in the group is deleted. | Yes | false |
| enablelistvolumesnapshot | A boolean that, when enabled, will allow list volume operation to include snapshots (since creating a volume from a snap actually results in a new snap). It is recommend this be false unless instructed otherwise. | Yes | false |
| allowRWOMultiPodAccess | Setting allowRWOMultiPodAccess to "true" will allow multiple pods on the same node to access the same RWO volume. This behavior conflicts with the CSI specification version 1.3. NodePublishVolume description that requires an error to be returned in this case. However, some other CSI drivers support this behavior and some customers desire this behavior. Customers use this option at their own risk. | Yes | false |
| maxVxflexosVolumesPerNode | Maximum number of volumes that controller can publish to the node. | No | 0 |
| **controller** | This section allows the configuration of controller-specific parameters. To maximize the number of available nodes for controller pods, see this section. For more details on the new controller pod configurations, see the [Features section](../../../features/powerflex#controller-ha) for Powerflex specifics. | - | - |
| volumeNamePrefix | Set so that volumes created by the driver have a default prefix. If one PowerFlex/VxFlex OS system is servicing several different Kubernetes installations or users, these prefixes help you distinguish them. | Yes | "k8s" |
| controllerCount | Set to deploy multiple controller instances. If the controller count is greater than the number of available nodes, excess pods remain in a pending state. It should be greater than 0. You can increase the number of available nodes by configuring the "controller" section in your values.yaml. For more details on the new controller pod configurations, see the [Features section](../../../features/powerflex#controller-ha) for Powerflex specifics. | Yes | 2 |
Expand Down
12 changes: 10 additions & 2 deletions content/docs/csidriver/installation/operator/powerflex.md
Original file line number Diff line number Diff line change
Expand Up @@ -170,13 +170,13 @@ For detailed PowerFlex installation procedure, see the _Dell PowerFlex Deploymen
namespace: test-vxflexos
spec:
driver:
configVersion: v2.6.0
configVersion: v2.8.0
replicas: 1
dnsPolicy: ClusterFirstWithHostNet
forceUpdate: false
fsGroupPolicy: File
common:
image: "dellemc/csi-vxflexos:v2.7.0"
image: "dellemc/csi-vxflexos:v2.8.0"
imagePullPolicy: IfNotPresent
envs:
- name: X_CSI_VXFLEXOS_ENABLELISTVOLUMESNAPSHOT
Expand Down Expand Up @@ -222,6 +222,14 @@ For detailed PowerFlex installation procedure, see the _Dell PowerFlex Deploymen
- name: X_CSI_HEALTH_MONITOR_ENABLED
value: "false"
# X_CSI_MAX_VOLUMES_PER_NODE: Defines the maximum PowerFlex volumes that can be created per node
# Allowed values: Any value greater than or equal to 0
# If value is 0 then the orchestrator decides how many volumes can be published by the controller to
# the node
# Default value: "0"
- name: X_CSI_MAX_VOLUMES_PER_NODE
value: "0"
initContainers:
- image: dellemc/sdc:3.6.0.6
imagePullPolicy: IfNotPresent
Expand Down
1 change: 1 addition & 0 deletions content/docs/csidriver/release/powerflex.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ description: Release notes for PowerFlex CSI driver

### New Features/Changes
- [Added support for OpenShift 4.13](https://github.com/dell/csm/issues/724)
- [Enabled volume limits feature](https://github.com/dell/csm/issues/878)

### Fixed Issues
-
Expand Down

0 comments on commit 305c904

Please sign in to comment.