docs/doc/source/storage/kubernetes/configure-powermax-csi-backend-7b6e65e3a811.rst
Ngairangbam Mili 35e126e210 Dell PowerStore CSM/CSI support
Story: 2010693
Task: 50902

Change-Id: I75bf7c15a7539e15c768a18c5069248aa4f9b5c7
Signed-off-by: Ngairangbam Mili <ngairangbam.mili@windriver.com>
2024-09-05 07:27:37 +00:00

32 KiB

Configure PowerMax CSI Backend

driver for PowerMax is a part of the open-source suite of Kubernetes storage enablers for Dell products. It is a driver that provides support for provisioning persistent storage using Dell PowerMax storage array.

Note

By default, the csi-powermax chart is disabled. It is necessary to enable the chart and update user-overrides before applying the dell-storage application.

Enable CSI PowerMax Chart

Note

Disable any other / if not used/configured, otherwise it could cause the application to fail on apply.

(keystone_admin)$ system helm-chart-attribute-modify --enabled false dell-storage <chart_name> dell-storage
  1. Enable the chart.

    (keystone_admin)$  system helm-chart-attribute-modify --enabled true dell-storage csi-powermax dell-storage
  2. Create overrides to configure the storage connection.

    :name: powermaxOverrides.yaml
    secret:
      username: <USERNAME>
      password: <PASSWORD>
    
    authorization:
      configs:
        - username: <USERNAME>
          password: <PASSWORD>
          intendedEndpoint: endpoint1
          systemID: <SYSTEM_ID>
          isDefault: true
    
    global:
      managementServers:
        - endpoint: https://primary-1.unisphe.re:8443
          credentialsSecret: primary-1-secret
          username: <USERNAME>
          password: <PASSWORD>
          skipCertificateValidation: true
    
    storageClasses:
    - name: "sc-0"
      SRP: "TEST"
      SYMID: "TEST1"
      ApplicationPrefix: "prefix1"
      HostLimitName: "1000"
      DynamicDistribution: "Optimized
  3. Apply overrides.

    (keystone_admin)$ system helm-override-update dell-storage csi-powermax dell-storage --values=powermaxOverrides.yaml
  4. Apply the chart.

    (keystone_admin)$ system application-apply dell-storage

UserOverrides Parameters

General Parameters

Parameter Description Required Default
csm.replication Enables/disables replication sidecar container. No false
csm.authorization Enables/disables authorization and sidecar container. No false
app.starlingx.io/component Core affinity. No platform
replication.replicationPrefix Change replication prefix. No replication.storage.dell.com
controller.snapshot.deletionPolicy Specifies what happens when VolumeSnapshot is deleted. No Delete
defaultFsType Default value for Filesystem type for mounted volumes. No ext4
certSecret Secret containing the certificate. No Not Applicable
global.storageArrays This refers to the list of arrays managed by the driver and Reverse Proxy in StandAlone mode. Yes Not Applicable
global.storageArrays[0].storageArrayId This refers to PowerMax Symmetrix ID. Yes Not Applicable
global.storageArrays[0].endpoint This refers to the URL of the Unisphere server managing storageArrayId. Yes Not Applicable
global.storageArrays[0].backupEndpoint This refers to the URL of the backup Unisphere server managing storageArrayId, if Reverse Proxy is installed in StandAlone mode. Yes Not Applicable

StorageClasses Parameters

Parameter Description Required Default
storageClasses[0].name StorageClass name. Yes Not Applicable
storageClasses[0].ServiceLevel Name of service level on PowerMax array that should be used for provisioning. No Optimized
storageClasses[0].SRP Serial ID of the array that is used for provisioning. Yes Not Applicable
storageClasses[0].SYMID Name of service level on PowerMax array that should be used for provisioning. No Not Applicable
storageClasses[0].ApplicationPrefix Name of application to be used to group volumes. No Not Applicable
storageClasses[0].HostLimitName HostLimitName uniquely identifies given set of limits on a storage class (max of 3 letters). No Not Applicable
storageClasses[0].HostIOLimitMBSec The MBs per Second Host IO limit for the storage class. No Not Applicable
storageClasses[0].HostIOLimitIOSec The IOs per Second Host IO limit for the storage class. No Not Applicable
storageClasses[0].DynamicDistribution Distribution of the Host IO limits for the storage class. No Not Applicable
storageClasses[0].nasServer server's name. Important: required for protocol. No Not Applicable
storageClasses[0].provisioner Driver name. No csi-powermax.dellemc.com
storageClasses[0].fstype Filesystem type for mounted volumes. No $.Values.defaultFsType
storageClasses[0].reclaimPolicy PVs that are dynamically created by a StorageClass will have the reclaim policy specified here. No Delete
storageClasses[0].allowVolumeExpansion Allows the users to resize the volume by editing the corresponding object. No true
storageClasses[0].volumeBindingMode Controls when volume binding and dynamic provisioning should occur. No Immediate
storageClasses[0].allowRoot Enables or disables root squashing (valid only for ). No Not Applicable
storageClasses[0].mountOptions Specifies additional mount options when a persistent volume is being mounted on a node. No Not Applicable
storageClasses[0].allowedTopologies This feature lets you specify sub-divisions of a cluster for a volume to be placed in. Yes Not Applicable
storageClasses[0].replication Used to configure replication sidecar container. No Not Applicable
storageClasses[0].replication.remoteStorageClassName Storage class name on remote cluster to create remote PV. No csi-powermax-replication
storageClasses[0].replication.remoteClusterID ClusterID to which resources will get replicated. No Not Applicable
storageClasses[0].replication.RemoteSRP Name of on the remote array that should be used for provisioning. No Not Applicable
storageClasses[0].replication.RemoteSYMID Serial ID of the remote array that is used for replication. No Not Applicable
storageClasses[0].replication.RemoteServiceLevel Service Level on remote PowerMax array. No Not Applicable
storageClasses[0].replication.RdfMode SRDF mode of the replication. No Not Applicable
storageClasses[0].replication.RdfGroup Local group which protects using mode mentioned above. No Not Applicable
storageClasses[0].replication.Bias Configure Bias for Metro mode. No Not Applicable
storageClasses[0].replication.RemoteRDFGroup Remote Group which is bound with Local group. No Not Applicable

Secret Parameters

Parameter Description Required Default
global.defaultSecret Used to configure default credential secrets values. Yes Not Applicable
global.defaultSecret.username Username for connecting to REST API server. Yes Not Applicable
global.defaultSecret.password Password for connecting to REST API server. Yes Not Applicable
global.defaultSecret.chapsecret Secret that contains chap to authentication. No Not Applicable
global.defaultSecret.managementServers A list of values to configure all credential secrets used. Yes []
global.defaultSecret.managementServers[0].credentialsSecret Secret name. No $.Release.Name -creds- $index
global.defaultSecret.managementServers[0].username Username for connecting to REST API server. Yes Not Applicable
global.defaultSecret.managementServers[0].password Password for connecting to REST API server. Yes Not Applicable
global.defaultSecret.managementServers[0].chapsecret Secret that contains chap to authentication. No Not Applicable
global.defaultSecret.managementServers[0].endpoint Endpoint to REST API server. Yes Not Applicable
global.defaultSecret.managementServers[0].skipCertificateValidation Indicates if client side validation of server's certificate can be skipped. Yes Not Applicable
global.defaultSecret.managementServers[0].certSecret Secret containing the certificate. No Not Applicable
global.defaultSecret.managementServers[0].limits This refers to various limits for Reverse Proxy. No Not Applicable
global.defaultSecret.managementServers[0].limits.maxActiveRead This refers to the maximum concurrent READ request handled by the reverse proxy. No 5
global.defaultSecret.managementServers[0].limits.maxActiveWrite This refers to the maximum concurrent WRITE request handled by the reverse proxy. No 4
global.defaultSecret.managementServers[0].limits.maxOutStandingRead This refers to maximum queued READ request when reverse proxy receives more than maxActiveRead requests. No 50
global.defaultSecret.managementServers[0].limits.maxOutStandingWrite This refers to maximum queued WRITE request when reverse proxy receives more than maxActiveWrite requests. No 50

Authorization Parameters

Parameter Description Required Default
authorization.configs List of authorization configurations.
No
Not Applicable
authorization.configs[0].username Username for connecting to the backend storage array. This parameter is ignored. No Not Applicable
authorization.configs[0].password Password for connecting to the backend storage array. This parameter is ignored. No Not Applicable
authorization.configs[0].intendedEndpoint HTTPS REST API endpoint of the backend storage array. No Not Applicable
authorization.configs[0].endpoint HTTPS localhost endpoint that the authorization sidecar will listen on. No https://localhost:9400
authorization.configs[0].SystemID System ID of the backend storage array. No " "
authorization.configs[0].isDefault If the configuration is default or not. No false
skipCertificateValidation If certificate is used or not. No true
proxyAuthzTokens information No Not Applicable
proxyAuthzTokens.access Access token for authorization sidecar container access. No Not Applicable
proxyAuthzTokens.refresh Refresh token for authorization sidecar container access. No Not Applicable