
Story: 2010693 Task: 50902 Change-Id: I75bf7c15a7539e15c768a18c5069248aa4f9b5c7 Signed-off-by: Ngairangbam Mili <ngairangbam.mili@windriver.com>
264 lines
31 KiB
ReStructuredText
264 lines
31 KiB
ReStructuredText
.. WARNING: Add no lines of text between the label immediately following
|
|
.. and the title.
|
|
|
|
.. _configure-powerscale-csi-backend-aa6a128c0b44:
|
|
|
|
================================
|
|
Configure PowerScale CSI Backend
|
|
================================
|
|
|
|
|CSI| driver for PowerScale is part of the |CSM| open-source suite of
|
|
Kubernetes storage enablers for Dell Technology (Dell) products. It is a |CSI|
|
|
driver that provides support for provisioning persistent storage using Dell
|
|
PowerScale storage array.
|
|
|
|
.. note::
|
|
|
|
Isilon is the legacy name for PowerScale.
|
|
|
|
.. note::
|
|
|
|
By default, the csi-powerscale chart is disabled. It is necessary to enable
|
|
and update user-overrides before applying dell-storage application.
|
|
|
|
.. contents::
|
|
:local:
|
|
:depth: 2
|
|
|
|
---------------------------
|
|
Enable CSI PowerScale Chart
|
|
---------------------------
|
|
|
|
.. note::
|
|
|
|
Disable any other |CSI|/|CSM| if not used/configured, otherwise it could cause the
|
|
application to fail on apply.
|
|
|
|
.. code-block::
|
|
|
|
(keystone_admin)$ system helm-chart-attribute-modify --enabled false dell-storage <chart_name> dell-storage
|
|
|
|
#. Enable the chart.
|
|
|
|
.. code-block::
|
|
|
|
(keystone_admin)$ system helm-chart-attribute-modify --enabled true dell-storage csi-powerscale dell-storage
|
|
|
|
#. Create overrides to configure the storage connection.
|
|
|
|
.. code-block:: none
|
|
|
|
:name: powerscaleOverrides.yaml
|
|
|
|
isiPath: "/my/isi/path"
|
|
|
|
controller:
|
|
replication:
|
|
replicationPrefix: "myCustomReplicationPrefix"
|
|
|
|
secret:
|
|
arrays:
|
|
- clusterName: Cluster1
|
|
username: <USERNAME>
|
|
password: <PASSWORD>
|
|
endpoint: https://<cluster1_address>
|
|
endpointPort: 8888
|
|
isDefault: true
|
|
skipCertificateValidation: false
|
|
isiPath: "/my/isi/path"
|
|
isiVolumePathPermissions: "0755"
|
|
ignoreUnresolvableHosts: true
|
|
replicationCertificateID: "dd9c736cc17e6dd5f7d85fe13528cfc20f3b4b0af4f26595d22328c8d1f461af"
|
|
authorizationEndpoint: "https://localhost:9999"
|
|
|
|
- clusterName: "Cluster2"
|
|
username: <USERNAME>
|
|
password: <PASSWORD>
|
|
endpoint: https://<cluster2_address>
|
|
isiPath: "/my/isi/path2"
|
|
|
|
storageClasses:
|
|
- name: "storageClassDefault"
|
|
|
|
proxyAuthzTokens:
|
|
access: "YWJjZGVmCg=="
|
|
refresh: "YWJjZGVmCg=="
|
|
|
|
#. Apply override.
|
|
|
|
.. code-block::
|
|
|
|
(keystone_admin)$ system helm-override-update dell-storage csi-powerscale dell-storage --values=powerscaleOverrides.yaml
|
|
|
|
#. Apply chart.
|
|
|
|
.. code-block::
|
|
|
|
(keystone_admin)$ system application-apply dell-storage
|
|
|
|
------------------------
|
|
UserOverrides Parameters
|
|
------------------------
|
|
|
|
******************
|
|
General Parameters
|
|
******************
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| Parameter | Description | Required | Default |
|
|
+==========================================+====================================================================+==================================+==============================+
|
|
| app.starlingx.io/component | Code affinity. | No | platform |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| authorization.rootCertificate | Authorization proxy server root certificate. | Only if authorization is enabled | Not Applicable |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| certSecret | Secret containing the certificate. | No | Not Applicable |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| controller.replication.replicationPrefix | Change replication prefix. | No | replication.storage.dell.com |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| controller.snapshot.deletionPolicy | Specifies what happens when VolumeSnapshot is deleted. | No | Delete |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| csm.authorization | Enables/disables authorization sidecar container. | No | false |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| csm.replication | Enables/disables dell-csi-replicator sidecar container. | No | false |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| csm.resiliency | Enables/disables podmon sidecar container. | No | false |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| driverName | Driver name. | No | csi-isilon.dellemc.com |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| isiPath | The base path for the volumes to be created on PowerScale cluster. | No | /ifs/data/csi |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| proxyAuthzTokens.access | Access token for authorization sidecar container access. | Only if authorization is enabled | Not Applicable |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
| proxyAuthzTokens.refresh | Refresh token for authorization sidecar container access. | Only if authorization is enabled | Not Applicable |
|
|
+------------------------------------------+--------------------------------------------------------------------+----------------------------------+------------------------------+
|
|
|
|
*************************
|
|
StorageClasses Parameters
|
|
*************************
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| Parameter | Description | Required | Default |
|
|
+=======================================================+==========================================================================================================================================================================+==========+===============================+
|
|
| storageClasses | List of storage classes. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].name | StorageClass name. | yes | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].provisioner | Driver name. | no | "csi-isilon.dellemc.com" |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| 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 |PVC| object. | no | true |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].AccessZone | The name of the access zone a volume can be created in. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].IsiPath | The base path for the volumes to be created on PowerScale cluster. | no | Same as General isiPath |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].IsiVolumePathPermissions | The permissions for isi volume directory path. | no | "0777" |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].AzServiceIP | AccessZone groupnet service IP. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].RootClientEnabled | Determines whether the driver should enable root squashing or not. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].ClusterName | Name of PowerScale cluster where PV will be provisioned. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].AdvisoryLimit | Parameter to set advisory limit to quota. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].SoftLimit | Parameter to set soft limit to quota. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].SoftGracePrd | Parameter which must be mentioned along with soft limit. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].fstype | Sets the filesystem type which will be used to format the new volume. | no | "nfs" |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].volumeBindingMode | Controls when volume binding and dynamic provisioning should occur. | no | Immediate |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].allowedTopologies | Helps scheduling pods on worker nodes which match all of the below expressions. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].mountOptions | Specifies additional mount options for when a persistent volume is being mounted on a node. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.isReplicationEnabled | If set to true, will mark this storage class as replication enabled. | no | "true" |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.remoteStorageClassName | Name of the remote storage class. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.remoteClusterID | ID of a remote cluster. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.remoteSystem | Name of the remote system that should match whatever clusterName you called it in csI-powerscale-creds secret. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.rpo | Recovery Point Objective value. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.ignoreNamespaces | If set to true PowerScale driver, it will ignore what namespace volumes are created and put every volume created using this storage class into a single volume group. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.volumeGroupPrefix | String that would be appended to the volume group name to differentiate the Volume Groups. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.remoteAccessZone | Name of the access zone a remote volume can be created in. | no | Same as General isiAccessZone |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.remoteAzServiceIP | AccessZone groupnet service IP. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
| storageClasses[0].replication.remoteRootClientEnabled | Determines whether the driver should enable root squashing or not for the remote volume. | no | Not Applicable |
|
|
+-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+-------------------------------+
|
|
|
|
|
|
**************************
|
|
SnapshotClasses Parameters
|
|
**************************
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+-----------------------------------+-----------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| Parameter | Description | Required | Default |
|
|
+===================================+===============================================================================================+==========+=========================+
|
|
| snapshotClasses | List of snapshot classes. | no | Not Applicable |
|
|
+-----------------------------------+-----------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| snapshotClasses[0].name | SnapshotClass name. | yes | Not Applicable |
|
|
+-----------------------------------+-----------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| snapshotClasses[0].deletionPolicy | Configure what happens to a VolumeSnapshotContent when the VolumeSnapshot object is deleted. | yes | Delete |
|
|
+-----------------------------------+-----------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| snapshotClasses[0].IsiPath | The base path of the volumes on Isilon cluster for which snapshot is being created. | no | Same as General isiPath |
|
|
+-----------------------------------+-----------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
|
|
|
|
******************
|
|
Secrets Parameters
|
|
******************
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| Parameter | Description | Required | Default |
|
|
+============================================+=======================================================================================================+==========+=========================+
|
|
| secret.arrays | List of PowerStore array. | no | Not Applicable |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].clusterName | Logical name of PowerScale Cluster. | yes | Not Applicable |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].username | Username for connecting to PowerScale OneFS API server. | yes | Not Applicable |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].password | Password for connecting to PowerScale OneFS API server. | yes | Not Applicable |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].endpoint | HTTPS endpoint of the PowerScale OneFS API server. | yes | Not Applicable |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].endpointPort | Specifies the HTTPs port number of the PowerScale OneFS API server. | no | 8080 |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].isDefault | Is this a default cluster? | no | false |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].skipCertificateValidation | Specifies whether the PowerScale OneFS API server's certificate chain and host name should be verified| no | true |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].isiPath | The base path for the volumes to be created on PowerScale cluster. | no | Same as General isiPath |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].isiVolumePathPermissions | The permissions for isi volume directory path. | no | "0777" |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].ignoreUnresolvableHosts | Ignore unresolvable hosts on the OneFS. | no | false |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].replicationCertificateID | Unique ID if the certificate is used to encrypt replication policy. | no | "" |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
| secret.arrays[0].authorizationEndpoint | HTTPS localhost endpoint that the authorization sidecar will listen on. | no | https://localhost:9400 |
|
|
+--------------------------------------------+-------------------------------------------------------------------------------------------------------+----------+-------------------------+
|
|
|
|
|