diff --git a/config.toml b/config.toml index 442433bd6c..02dae9fde7 100644 --- a/config.toml +++ b/config.toml @@ -172,19 +172,19 @@ enable = false # icon = "fa fa-envelope" # desc = "Discuss development issues around the project" [[params.versions]] - version = "Current(v1.9.0)" + version = "Current(v1.10.0)" url = "https://dell.github.io/csm-docs/docs/" [[params.versions]] - version = "v1.8.0" + version = "v1.9.0" url = "https://dell.github.io/csm-docs/v1" [[params.versions]] - version = "v1.7.1" + version = "v1.8.0" url = "https://dell.github.io/csm-docs/v2" [[params.versions]] - version = "v1.6.1" + version = "v1.7.1" url = "https://dell.github.io/csm-docs/v3" [[menu.main]] diff --git a/content/docs/csidriver/_index.md b/content/docs/csidriver/_index.md index 5887bde819..aad92a512e 100644 --- a/content/docs/csidriver/_index.md +++ b/content/docs/csidriver/_index.md @@ -37,7 +37,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- {{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| -| CSI Driver version | 2.9.0 | 2.9.0 | 2.9.0 | 2.9.0 | 2.9.0 | +| CSI Driver version | 2.10.0 | 2.10.0 | 2.10.0 | 2.10.0 | 2.10.0 | | Static Provisioning | yes | yes | yes | yes | yes | | Dynamic Provisioning | yes | yes | yes | yes | yes | | Expand Persistent Volume | yes | yes | yes | yes | yes | diff --git a/content/docs/csidriver/installation/helm/isilon.md b/content/docs/csidriver/installation/helm/isilon.md index 5b5f2d07a2..b39472a03c 100644 --- a/content/docs/csidriver/installation/helm/isilon.md +++ b/content/docs/csidriver/installation/helm/isilon.md @@ -94,13 +94,13 @@ CRDs should be configured during replication prepare stage with repctl as descri **Steps** -1. Run `git clone -b v2.9.0 https://github.com/dell/csi-powerscale.git` to clone the git repository. +1. Run `git clone -b v2.10.0 https://github.com/dell/csi-powerscale.git` to clone the git repository. 2. Ensure that you have created the namespace where you want to install the driver. You can run `kubectl create namespace isilon` to create a new one. The use of "isilon" as the namespace is just an example. You can choose any name for the namespace. 3. Collect information from the PowerScale Systems like IP address, IsiPath, username, and password. Make a note of the value for these parameters as they must be entered in the *secret.yaml*. -4. Download `wget -O my-isilon-settings.yaml https://raw.githubusercontent.com/dell/helm-charts/csi-isilon-2.9.0/charts/csi-isilon/values.yaml` into `cd ../dell-csi-helm-installer` to customize settings for installation. +4. Download `wget -O my-isilon-settings.yaml https://raw.githubusercontent.com/dell/helm-charts/csi-isilon-2.10.0/charts/csi-isilon/values.yaml` into `cd ../dell-csi-helm-installer` to customize settings for installation. 5. Edit *my-isilon-settings.yaml* to set the following parameters for your installation: The following table lists the primary configurable parameters of the PowerScale driver Helm chart and their default values. More detailed information can be - found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/csi-isilon-2.9.0/charts/csi-isilon/values.yaml) file in this repository. + found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/csi-isilon-2.10.0/charts/csi-isilon/values.yaml) file in this repository. | Parameter | Description | Required | Default | | --------- | ----------- | -------- |-------- | @@ -210,7 +210,7 @@ Create isilon-creds secret using the following command: 8. Install the driver using `csi-install.sh` bash script and default yaml by running ```bash - cd dell-csi-helm-installer && wget -O my-isilon-settings.yaml https://raw.githubusercontent.com/dell/helm-charts/csi-isilon-2.9.0/charts/csi-isilon/values.yaml && + cd dell-csi-helm-installer && wget -O my-isilon-settings.yaml https://raw.githubusercontent.com/dell/helm-charts/csi-isilon-2.10.0/charts/csi-isilon/values.yaml && ./csi-install.sh --namespace isilon --values my-isilon-settings.yaml ``` diff --git a/content/docs/csidriver/installation/helm/powerflex.md b/content/docs/csidriver/installation/helm/powerflex.md index efc95b4f93..7c72a96233 100644 --- a/content/docs/csidriver/installation/helm/powerflex.md +++ b/content/docs/csidriver/installation/helm/powerflex.md @@ -72,7 +72,7 @@ When the driver is installed using values generated by installation wizard, then ## Install the Driver **Steps** -1. Run `git clone -b v2.9.0 https://github.com/dell/csi-powerflex.git` to clone the git repository. +1. Run `git clone -b v2.10.0 https://github.com/dell/csi-powerflex.git` to clone the git repository. 2. A namespace for the driver is expected prior to running the command below. If one is not created already, you can run `kubectl create namespace vxflexos` to create a new one. Note that the namespace can be any user-defined name that follows the conventions for namespaces outlined by Kubernetes. In this example we assume that the namespace is 'vxflexos' @@ -151,7 +151,7 @@ Use the below command to replace or update the secret: 7. Download the default values.yaml file ```bash - cd dell-csi-helm-installer && wget -O myvalues.yaml https://github.com/dell/helm-charts/raw/csi-vxflexos-2.9.0/charts/csi-vxflexos/values.yaml + cd dell-csi-helm-installer && wget -O myvalues.yaml https://github.com/dell/helm-charts/raw/csi-vxflexos-2.10.0/charts/csi-vxflexos/values.yaml ``` 8. If you are using custom images, check the fields under `images` in `my-vxflexos-settings.yaml` to make sure that they are pointing to the correct image repository. @@ -160,7 +160,7 @@ Use the below command to replace or update the secret: | Parameter | Description | Required | Default | | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | -| version | Set to verify the values file version matches driver version and used to pull the image as part of the image name. | Yes | 2.9.0 | +| version | Set to verify the values file version matches driver version and used to pull the image as part of the image name. | Yes | 2.10.0 | | images | List all the images used by the CSI driver and CSM. If you use a private repository, change the registries accordingly. | Yes | "" | | images.powerflexSdc | Set to give the location of the SDC image used if automatic SDC deployment is being utilized. | Yes | dellemc/sdc:4.5 | | certSecretCount | Represents the number of certificate secrets, which the user is going to create for SSL authentication. | No | 0 | diff --git a/content/docs/csidriver/installation/helm/powermax.md b/content/docs/csidriver/installation/helm/powermax.md index 3711a6727b..a078808bf3 100644 --- a/content/docs/csidriver/installation/helm/powermax.md +++ b/content/docs/csidriver/installation/helm/powermax.md @@ -191,7 +191,7 @@ CRDs should be configured during replication prepare stage with repctl as descri **Steps** -1. Run `git clone -b v2.9.0 https://github.com/dell/csi-powermax.git` to clone the git repository. This will include the Helm charts and dell-csi-helm-installer scripts. +1. Run `git clone -b v2.10.0 https://github.com/dell/csi-powermax.git` to clone the git repository. This will include the Helm charts and dell-csi-helm-installer scripts. 2. Ensure that you have created a namespace where you want to install the driver. You can run `kubectl create namespace powermax` to create a new one 3. Edit the `samples/secret/secret.yaml` file,to point to the correct namespace, and replace the values for the username and password parameters. These values can be obtained using base64 encoding as described in the following example: @@ -206,7 +206,7 @@ CRDs should be configured during replication prepare stage with repctl as descri ``` 5. Download the default values.yaml file ```bash - cd dell-csi-helm-installer && wget -O my-powermax-settings.yaml https://github.com/dell/helm-charts/raw/csi-powermax-2.9.0/charts/csi-powermax/values.yaml + cd dell-csi-helm-installer && wget -O my-powermax-settings.yaml https://github.com/dell/helm-charts/raw/csi-powermax-2.10.0/charts/csi-powermax/values.yaml ``` 6. Ensure the unisphere have 10.0 REST endpoint support by clicking on Unisphere -> Help (?) -> About in Unisphere for PowerMax GUI. 7. Edit the newly created file and provide values for the following parameters @@ -247,7 +247,7 @@ CRDs should be configured during replication prepare stage with repctl as descri | powerMaxDebug | Enables low level and http traffic logging between the CSI driver and Unisphere. Don't enable this unless asked to do so by the support team. | No | false | | enableCHAP | Determine if the driver is going to configure SCSI node databases on the nodes with the CHAP credentials. If enabled, the CHAP secret must be provided in the credentials secret and set to the key "chapsecret" | No | false | | fsGroupPolicy | Defines which FS Group policy mode to be used, Supported modes `None, File and ReadWriteOnceWithFSType` | No | "ReadWriteOnceWithFSType" | -| version | Current version of the driver. Don't modify this value as this value will be used by the install script. | Yes | v2.9.0 | +| version | Current version of the driver. Don't modify this value as this value will be used by the install script. | Yes | v2.10.0 | | images | List all the images used by the CSI driver and CSM. If you use a private repository, change the registries accordingly. | Yes | "" || driverRepository | Defines the registry of the container image used for the driver. | Yes | dellemc | | maxPowerMaxVolumesPerNode | Specifies the maximum number of volume that can be created on a node. | Yes| 0 | | **controller** | Allows configuration of the controller-specific parameters.| - | - | diff --git a/content/docs/csidriver/installation/helm/powerstore.md b/content/docs/csidriver/installation/helm/powerstore.md index 5992e31abe..af4c8665d9 100644 --- a/content/docs/csidriver/installation/helm/powerstore.md +++ b/content/docs/csidriver/installation/helm/powerstore.md @@ -136,7 +136,7 @@ CRDs should be configured during replication prepare stage with repctl as descri ## Install the Driver **Steps** -1. Run `git clone -b v2.9.0 https://github.com/dell/csi-powerstore.git` to clone the git repository. +1. Run `git clone -b v2.10.0 https://github.com/dell/csi-powerstore.git` to clone the git repository. 2. Ensure that you have created namespace where you want to install the driver. You can run `kubectl create namespace csi-powerstore` to create a new one. "csi-powerstore" is just an example. You can choose any name for the namespace. But make sure to align to the same namespace during the whole installation. 3. Edit `samples/secret/secret.yaml` file and configure connection information for your PowerStore arrays changing following parameters: @@ -163,7 +163,7 @@ CRDs should be configured during replication prepare stage with repctl as descri > If you do not specify `arrayID` parameter in the storage class then the array that was specified as the default would be used for provisioning volumes. 6. Download the default values.yaml file ```bash - cd dell-csi-helm-installer && wget -O my-powerstore-settings.yaml https://github.com/dell/helm-charts/raw/csi-powerstore-2.9.0/charts/csi-powerstore/values.yaml + cd dell-csi-helm-installer && wget -O my-powerstore-settings.yaml https://github.com/dell/helm-charts/raw/csi-powerstore-2.10.0/charts/csi-powerstore/values.yaml ``` 7. Edit the newly created values file and provide values for the following parameters `vi my-powerstore-settings.yaml`: diff --git a/content/docs/csidriver/installation/helm/unity.md b/content/docs/csidriver/installation/helm/unity.md index 526ecf15c9..1e3436905b 100644 --- a/content/docs/csidriver/installation/helm/unity.md +++ b/content/docs/csidriver/installation/helm/unity.md @@ -78,7 +78,7 @@ Install CSI Driver for Unity XT using this procedure. * As a pre-requisite for running this procedure, you must have the downloaded files, including the Helm chart from the source [git repository](https://github.com/dell/csi-unity) with the command ```bash - git clone -b v2.9.0 https://github.com/dell/csi-unity.git + git clone -b v2.10.0 https://github.com/dell/csi-unity.git ``` * In the top-level dell-csi-helm-installer directory, there should be two scripts, `csi-install.sh` and `csi-uninstall.sh`. * Ensure _unity_ namespace exists in Kubernetes cluster. Use the `kubectl create namespace unity` command to create the namespace if the namespace is not present. @@ -98,12 +98,12 @@ Procedure 2. Get the required values.yaml using the command below: ```bash -cd dell-csi-helm-installer && wget -O my-unity-settings.yaml https://github.com/dell/helm-charts/raw/csi-unity-2.9.0/charts/csi-unity/values.yaml +cd dell-csi-helm-installer && wget -O my-unity-settings.yaml https://github.com/dell/helm-charts/raw/csi-unity-2.10.0/charts/csi-unity/values.yaml ``` 3. Edit `values.yaml` to set the following parameters for your installation: - The following table lists the primary configurable parameters of the Unity XT driver chart and their default values. More detailed information can be found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/csi-unity-2.9.0/charts/csi-unity/values.yaml) file in this repository. + The following table lists the primary configurable parameters of the Unity XT driver chart and their default values. More detailed information can be found in the [`values.yaml`](https://github.com/dell/helm-charts/blob/csi-unity-2.10.0/charts/csi-unity/values.yaml) file in this repository. | Parameter | Description | Required | Default | | --------- | ----------- | -------- |-------- | @@ -327,7 +327,7 @@ cd dell-csi-helm-installer && wget -O my-unity-settings.yaml https://github.com/ **Syntax**: ```bash - git clone -b csi-unity-2.9.0 https://github.com/dell/helm-charts + git clone -b csi-unity-2.10.0 https://github.com/dell/helm-charts helm install dell/container-storage-modules -n --version -f diff --git a/content/docs/csidriver/installation/offline/_index.md b/content/docs/csidriver/installation/offline/_index.md index 4e4b1b9074..3b49b4014b 100644 --- a/content/docs/csidriver/installation/offline/_index.md +++ b/content/docs/csidriver/installation/offline/_index.md @@ -83,13 +83,13 @@ bash scripts/csm-offline-bundle.sh -c * * Pulling and saving container images - dellemc/csi-isilon:v2.8.0 + dellemc/csi-isilon:v2.10.0 dellemc/csi-metadata-retriever:v1.6.0 dellemc/csipowermax-reverseproxy:v2.6.0 - dellemc/csi-powermax:v2.9.0 - dellemc/csi-powerstore:v2.9.0 - dellemc/csi-unity:v2.8.0 - dellemc/csi-vxflexos:v2.9.0 + dellemc/csi-powermax:v2.10.0 + dellemc/csi-powerstore:v2.10.0 + dellemc/csi-unity:v2.10.0 + dellemc/csi-vxflexos:v2.10.0 dellemc/csm-authorization-sidecar:v1.9.0 dellemc/csm-metrics-powerflex:v1.5.0 dellemc/csm-metrics-powerscale:v1.2.0 @@ -186,8 +186,8 @@ Preparing a offline bundle for installation * * Loading docker images -Loaded image: docker.io/dellemc/csi-powerstore:v2.9.0 -Loaded image: docker.io/dellemc/csi-isilon:v2.8.0 +Loaded image: docker.io/dellemc/csi-powerstore:v2.10.0 +Loaded image: docker.io/dellemc/csi-isilon:v2.10.0 ... ... Loaded image: registry.k8s.io/sig-storage/csi-resizer:v1.8.0 diff --git a/content/docs/csidriver/release/powerflex.md b/content/docs/csidriver/release/powerflex.md index a14390a4e3..dede1b1c9f 100644 --- a/content/docs/csidriver/release/powerflex.md +++ b/content/docs/csidriver/release/powerflex.md @@ -3,7 +3,7 @@ title: PowerFlex description: Release notes for PowerFlex CSI driver --- -## Release Notes - CSI PowerFlex v2.9.0 +## Release Notes - CSI PowerFlex v2.10.0 @@ -38,7 +38,7 @@ description: Release notes for PowerFlex CSI driver | When a node goes down, the block volumes attached to the node cannot be attached to another node | This is a known issue and has been reported at https://github.com/kubernetes-csi/external-attacher/issues/215. Workaround:
1. Force delete the pod running on the node that went down
2. Delete the volumeattachment to the node that went down.
Now the volume can be attached to the new node. | | sdc:3.6.0.6 is causing issues while installing the csi-powerflex driver on ubuntu,RHEL8.3 | Workaround:
Change the powerflexSdc to sdc:3.6 in values.yaml https://github.com/dell/csi-powerflex/blob/72b27acee7553006cc09df97f85405f58478d2e4/helm/csi-vxflexos/values.yaml#L13
| | sdc:3.6.1 is causing issues while installing the csi-powerflex driver on ubuntu. | Workaround:
Change the powerflexSdc to sdc:3.6 in values.yaml https://github.com/dell/csi-powerflex/blob/72b27acee7553006cc09df97f85405f58478d2e4/helm/csi-vxflexos/values.yaml#L13
| -A CSI ephemeral pod may not get created in OpenShift 4.13 and fail with the error `"error when creating pod: the pod uses an inline volume provided by CSIDriver csi-vxflexos.dellemc.com, and the namespace has a pod security enforcement level that is lower than privileged."` | This issue occurs because OpenShift 4.13 introduced the CSI Volume Admission plugin to restrict the use of a CSI driver capable of provisioning CSI ephemeral volumes during pod admission. Therefore, an additional label `security.openshift.io/csi-ephemeral-volume-profile` in [csidriver.yaml](https://github.com/dell/helm-charts/blob/csi-vxflexos-2.9.0/charts/csi-vxflexos/templates/csidriver.yaml) file with the required security profile value should be provided. Follow [OpenShift 4.13 documentation for CSI Ephemeral Volumes](https://docs.openshift.com/container-platform/4.13/storage/container_storage_interface/ephemeral-storage-csi-inline.html) for more information. | +A CSI ephemeral pod may not get created in OpenShift 4.13 and fail with the error `"error when creating pod: the pod uses an inline volume provided by CSIDriver csi-vxflexos.dellemc.com, and the namespace has a pod security enforcement level that is lower than privileged."` | This issue occurs because OpenShift 4.13 introduced the CSI Volume Admission plugin to restrict the use of a CSI driver capable of provisioning CSI ephemeral volumes during pod admission. Therefore, an additional label `security.openshift.io/csi-ephemeral-volume-profile` in [csidriver.yaml](https://github.com/dell/helm-charts/blob/csi-vxflexos-2.10.0/charts/csi-vxflexos/templates/csidriver.yaml) file with the required security profile value should be provided. Follow [OpenShift 4.13 documentation for CSI Ephemeral Volumes](https://docs.openshift.com/container-platform/4.13/storage/container_storage_interface/ephemeral-storage-csi-inline.html) for more information. | | If the volume limit is exhausted and there are pending pods and PVCs due to `exceed max volume count`, the pending PVCs will be bound to PVs and the pending pods will be scheduled to nodes when the driver pods are restarted. | It is advised not to have any pending pods or PVCs once the volume limit per node is exhausted on a CSI Driver. There is an open issue reported with kubenetes at https://github.com/kubernetes/kubernetes/issues/95911 with the same behavior. | | The PowerFlex Dockerfile is incorrectly labeling the version as 2.7.0 for the 2.8.0 version. | Describe the driver pod using ```kubectl describe pod $podname -n vxflexos``` to ensure v2.8.0 is installed. | diff --git a/content/docs/csidriver/release/powermax.md b/content/docs/csidriver/release/powermax.md index 5a9be9bf00..426e3a9948 100644 --- a/content/docs/csidriver/release/powermax.md +++ b/content/docs/csidriver/release/powermax.md @@ -3,7 +3,7 @@ title: PowerMax description: Release notes for PowerMax CSI driver --- -## Release Notes - CSI PowerMax v2.9.0 +## Release Notes - CSI PowerMax v2.10.0 >Note: Auto SRDF group creation is currently not supported in PowerMaxOS 10.1 (6079) Arrays. diff --git a/content/docs/csidriver/release/powerscale.md b/content/docs/csidriver/release/powerscale.md index 9614b427e8..bae8083061 100644 --- a/content/docs/csidriver/release/powerscale.md +++ b/content/docs/csidriver/release/powerscale.md @@ -4,7 +4,7 @@ description: Release notes for PowerScale CSI driver --- -## Release Notes - CSI Driver for PowerScale v2.9.0 +## Release Notes - CSI Driver for PowerScale v2.10.0 diff --git a/content/docs/csidriver/release/powerstore.md b/content/docs/csidriver/release/powerstore.md index 893749b4c7..bb235614b4 100644 --- a/content/docs/csidriver/release/powerstore.md +++ b/content/docs/csidriver/release/powerstore.md @@ -3,7 +3,7 @@ title: PowerStore description: Release notes for PowerStore CSI driver --- -## Release Notes - CSI PowerStore v2.9.0 +## Release Notes - CSI PowerStore v2.10.0 diff --git a/content/docs/csidriver/release/unity.md b/content/docs/csidriver/release/unity.md index e5d3cd580b..c4cbcbc9c0 100644 --- a/content/docs/csidriver/release/unity.md +++ b/content/docs/csidriver/release/unity.md @@ -3,7 +3,7 @@ title: Unity XT description: Release notes for Unity XT CSI driver --- -## Release Notes - CSI Unity XT v2.9.0 +## Release Notes - CSI Unity XT v2.10.0 diff --git a/content/docs/csidriver/upgradation/drivers/isilon.md b/content/docs/csidriver/upgradation/drivers/isilon.md index 300fbec728..4af2aba090 100644 --- a/content/docs/csidriver/upgradation/drivers/isilon.md +++ b/content/docs/csidriver/upgradation/drivers/isilon.md @@ -8,19 +8,19 @@ Description: Upgrade PowerScale CSI driver --- You can upgrade the CSI Driver for Dell PowerScale using Helm or Dell CSM Operator. -## Upgrade Driver from version 2.8.0 to 2.9.0 using Helm +## Upgrade Driver from version 2.9.0 to 2.10.0 using Helm **Note:** While upgrading the driver via helm, controllerCount variable in myvalues.yaml can be at most one less than the number of worker nodes. ### Steps -1. Clone the repository using `git clone -b v2.9.0 https://github.com/dell/csi-powerscale.git` +1. Clone the repository using `git clone -b v2.10.0 https://github.com/dell/csi-powerscale.git` 2. Change to directory dell-csi-helm-installer to install the Dell PowerScale `cd dell-csi-helm-installer` 3. Download the default values.yaml using following command: ```bash - wget -O my-isilon-settings.yaml https://raw.githubusercontent.com/dell/helm-charts/csi-isilon-2.9.0/charts/csi-isilon/values.yaml + wget -O my-isilon-settings.yaml https://raw.githubusercontent.com/dell/helm-charts/csi-isilon-2.10.0/charts/csi-isilon/values.yaml ``` Edit the _my-isilon-settings.yaml_ as per the requirements. diff --git a/content/docs/csidriver/upgradation/drivers/powerflex.md b/content/docs/csidriver/upgradation/drivers/powerflex.md index f7ec33ffe7..f89a2d419f 100644 --- a/content/docs/csidriver/upgradation/drivers/powerflex.md +++ b/content/docs/csidriver/upgradation/drivers/powerflex.md @@ -10,9 +10,9 @@ Description: Upgrade PowerFlex CSI driver You can upgrade the CSI Driver for Dell PowerFlex using Helm or Dell CSM Operator. -## Update Driver from v2.8.0 to v2.9.0 using Helm +## Update Driver from v2.9.0 to v2.10.0 using Helm **Steps** -1. Run `git clone -b v2.9.0 https://github.com/dell/csi-powerflex.git` to clone the git repository and get the v2.9.0 driver. +1. Run `git clone -b v2.10.0 https://github.com/dell/csi-powerflex.git` to clone the git repository and get the v2.10.0 driver. 2. You need to create secret.yaml with the configuration of your system. Check this section in installation documentation: [Install the Driver](../../../installation/helm/powerflex#install-the-driver) 3. Update myvalues file as needed. diff --git a/content/docs/csidriver/upgradation/drivers/powermax.md b/content/docs/csidriver/upgradation/drivers/powermax.md index cf516f7178..dd1ec8bb12 100644 --- a/content/docs/csidriver/upgradation/drivers/powermax.md +++ b/content/docs/csidriver/upgradation/drivers/powermax.md @@ -16,10 +16,10 @@ You can upgrade CSI Driver for Dell PowerMax using Helm or Dell CSM Operator. 1. Upgrade the Unisphere to have 10.0 endpoint support.Please find the instructions [here.](https://dl.dell.com/content/manual34878027-dell-unisphere-for-powermax-10-0-0-installation-guide.pdf?language=en-us&ps=true) 2. Update the `my-powermax-settings.yaml` to have endpoint with 10.0 support. -## Update Driver from v2.8 to v2.9 using Helm +## Update Driver from v2.9 to v2.10 using Helm **Steps** -1. Run `git clone -b v2.9.0 https://github.com/dell/csi-powermax.git` to clone the git repository and get the driver. +1. Run `git clone -b v2.10.0 https://github.com/dell/csi-powermax.git` to clone the git repository and get the driver. 2. Update the values file as needed. 3. Run the `csi-install` script with the option _\-\-upgrade_ by running: ```bash diff --git a/content/docs/csidriver/upgradation/drivers/powerstore.md b/content/docs/csidriver/upgradation/drivers/powerstore.md index b1bddc435c..c7524b6cfd 100644 --- a/content/docs/csidriver/upgradation/drivers/powerstore.md +++ b/content/docs/csidriver/upgradation/drivers/powerstore.md @@ -9,12 +9,12 @@ Description: Upgrade PowerStore CSI driver You can upgrade the CSI Driver for Dell PowerStore using Helm. -## Update Driver from v2.8.0 to v2.9.0 using Helm +## Update Driver from v2.9.0 to v2.10.0 using Helm Note: While upgrading the driver via helm, controllerCount variable in myvalues.yaml can be at most one less than the number of worker nodes. **Steps** -1. Run `git clone -b v2.9.0 https://github.com/dell/csi-powerstore.git` to clone the git repository and get the driver. +1. Run `git clone -b v2.10.0 https://github.com/dell/csi-powerstore.git` to clone the git repository and get the driver. 2. Edit `samples/secret/secret.yaml` file and configure connection information for your PowerStore arrays changing the following parameters: - *endpoint*: defines the full URL path to the PowerStore API. - *globalID*: specifies what storage cluster the driver should use @@ -38,7 +38,7 @@ Note: While upgrading the driver via helm, controllerCount variable in myvalues. kubectl create secret generic powerstore-config -n csi-powerstore --from-file=config=secret.yaml ``` -5. Download the default values.yaml file `cd dell-csi-helm-installer && wget -O my-powerstore-settings.yaml https://github.com/dell/helm-charts/raw/csi-powerstore-2.9.0/charts/csi-powerstore/values.yaml` and update parameters as per the requirement. +5. Download the default values.yaml file `cd dell-csi-helm-installer && wget -O my-powerstore-settings.yaml https://github.com/dell/helm-charts/raw/csi-powerstore-2.10.0/charts/csi-powerstore/values.yaml` and update parameters as per the requirement. 6. Run the `csi-install` script with the option _\-\-upgrade_ by running: ```bash diff --git a/content/docs/csidriver/upgradation/drivers/unity.md b/content/docs/csidriver/upgradation/drivers/unity.md index 3f0422ef2b..1696cf8d59 100644 --- a/content/docs/csidriver/upgradation/drivers/unity.md +++ b/content/docs/csidriver/upgradation/drivers/unity.md @@ -20,9 +20,9 @@ You can upgrade the CSI Driver for Dell Unity XT using Helm or Dell CSM Operator Preparing myvalues.yaml is the same as explained in the install section. -To upgrade the driver from csi-unity v2.8.0 to csi-unity v2.9.0 +To upgrade the driver from csi-unity v2.9.0 to csi-unity v2.10.0 -1. Get the latest csi-unity v2.9.0 code from Github using `git clone -b v2.9.0 https://github.com/dell/csi-unity.git`. +1. Get the latest csi-unity v2.10.0 code from Github using `git clone -b v2.10.0 https://github.com/dell/csi-unity.git`. 2. Copy the helm/csi-unity/values.yaml to the new location csi-unity/dell-csi-helm-installer and rename it to myvalues.yaml. Customize settings for installation by editing myvalues.yaml as needed. 3. Navigate to csi-unity/dell-csi-hem-installer folder and execute this command: ```bash diff --git a/content/docs/deployment/csminstallationwizard/_index.md b/content/docs/deployment/csminstallationwizard/_index.md index 877bddf150..ab9e5a5835 100644 --- a/content/docs/deployment/csminstallationwizard/_index.md +++ b/content/docs/deployment/csminstallationwizard/_index.md @@ -13,18 +13,23 @@ The [Dell Container Storage Modules Installation Wizard](./src/index.html) is a | CSI Driver | Version | Helm | Operator | | ------------------ | --------- | ------ | --------- | +| CSI PowerStore | 2.10.0 |✔️ |✔️ | | CSI PowerStore | 2.9.0 |✔️ |✔️ | | CSI PowerStore | 2.8.0 |✔️ |✔️ | | CSI PowerStore | 2.7.0 |✔️ |✔️ | +| CSI PowerMax | 2.10.0 |✔️ |✔️ | | CSI PowerMax | 2.9.0 |✔️ |✔️ | | CSI PowerMax | 2.8.0 |✔️ |✔️ | -| CSI PowerMax | 2.7.0 |✔️ |✔️ | +| CSI PowerMax | 2.8.0 |✔️ |✔️ | +| CSI PowerFlex | 2.10.0 |✔️ |❌ | | CSI PowerFlex | 2.9.0 |✔️ |❌ | | CSI PowerFlex | 2.8.0 |✔️ |❌ | | CSI PowerFlex | 2.7.0 |✔️ |❌ | +| CSI PowerScale | 2.10.0 |✔️ |✔️ | | CSI PowerScale | 2.9.0 |✔️ |✔️ | | CSI PowerScale | 2.8.0 |✔️ |✔️ | | CSI PowerScale | 2.7.0 |✔️ |✔️ | +| CSI Unity XT | 2.10.0 |✔️ |❌ | | CSI Unity XT | 2.9.0 |✔️ |❌ | | CSI Unity XT | 2.8.0 |✔️ |❌ | | CSI Unity XT | 2.7.0 |✔️ |❌ | diff --git a/content/docs/deployment/csminstallationwizard/src/csm-versions/default-values.properties b/content/docs/deployment/csminstallationwizard/src/csm-versions/default-values.properties index 5f9bd3164c..fe710c34f4 100644 --- a/content/docs/deployment/csminstallationwizard/src/csm-versions/default-values.properties +++ b/content/docs/deployment/csminstallationwizard/src/csm-versions/default-values.properties @@ -1,4 +1,4 @@ -csmVersion=1.9.0 +csmVersion=1.10.0 imageRepository=dellemc controllerCount=1 nodeSelectorLabel=node-role.kubernetes.io/control-plane: diff --git a/content/docs/deployment/csminstallationwizard/src/index.html b/content/docs/deployment/csminstallationwizard/src/index.html index a277c16752..4cae5c2ec2 100644 --- a/content/docs/deployment/csminstallationwizard/src/index.html +++ b/content/docs/deployment/csminstallationwizard/src/index.html @@ -86,8 +86,9 @@
diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/constants.js b/content/docs/deployment/csminstallationwizard/src/static/js/constants.js index 7245d6e51b..99b8280e3f 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/constants.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/constants.js @@ -43,6 +43,7 @@ const CONSTANTS = { CSM_HELM_V170: "1.0.0", CSM_HELM_V180: "1.1.0", CSM_HELM_V190: "1.2.0", + CSM_HELM_V1100: "1.3.0", HELM_TAINTS: ` - key: "$KEY" operator: "Exists" diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/tests/generate-yaml.test.js b/content/docs/deployment/csminstallationwizard/src/static/js/tests/generate-yaml.test.js index 9de2b70254..d3f86ca24f 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/tests/generate-yaml.test.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/tests/generate-yaml.test.js @@ -45,6 +45,7 @@ const CONSTANTS = { CSM_HELM_V170: "1.0.0", CSM_HELM_V180: "1.1.0", CSM_HELM_V190: "1.2.0", + CSM_HELM_V1100: "1.3.0", HELM_TAINTS: ` - key: "$KEY" operator: "Exists" diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/tests/ui-functions.test.js b/content/docs/deployment/csminstallationwizard/src/static/js/tests/ui-functions.test.js index 9800da66e6..eb6e90a452 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/tests/ui-functions.test.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/tests/ui-functions.test.js @@ -71,6 +71,7 @@ const CONSTANTS = { CSM_HELM_V170: "1.0.0", CSM_HELM_V180: "1.1.0", CSM_HELM_V190: "1.2.0", + CSM_HELM_V1100: "1.3.0", }; describe("GIVEN onAuthorizationChange function", () => { diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/tests/utility.test.js b/content/docs/deployment/csminstallationwizard/src/static/js/tests/utility.test.js index 74aad2dbdf..ec53d7a6e2 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/tests/utility.test.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/tests/utility.test.js @@ -48,6 +48,7 @@ const CONSTANT_PARAM = { CSM_HELM_V170: "1.0.0", CSM_HELM_V180: "1.1.0", CSM_HELM_V190: "1.2.0", + CSM_HELM_V1100: "1.3.0", HELM_TAINTS: ` - key: "$KEY" operator: "Exists" diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/ui-functions.js b/content/docs/deployment/csminstallationwizard/src/static/js/ui-functions.js index 4298b77eca..84842a9311 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/ui-functions.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/ui-functions.js @@ -481,8 +481,11 @@ function displayCommands(releaseNameValue, commandTitleValue, commandNoteValue, case "1.9.0": helmChartVersion = CONSTANTS.CSM_HELM_V190; break; + case "1.10.0": + helmChartVersion = CONSTANTS.CSM_HELM_V1100; + break; default: - helmChartVersion = CONSTANTS.CSM_HELM_V190; + helmChartVersion = CONSTANTS.CSM_HELM_V1100; break; } $("#command-text-area").show(); diff --git a/content/docs/deployment/csminstallationwizard/src/templates/helm/csm-1.10.0-values.template b/content/docs/deployment/csminstallationwizard/src/templates/helm/csm-1.10.0-values.template new file mode 100644 index 0000000000..1d3a98a46e --- /dev/null +++ b/content/docs/deployment/csminstallationwizard/src/templates/helm/csm-1.10.0-values.template @@ -0,0 +1,425 @@ +## K8S/DRIVER ATTRIBUTES +########################################## +## K8S/CSI-PowerStore ATTRIBUTES +########################################## +csi-powerstore: + enabled: $POWERSTORE_ENABLED + version: v2.10.0 + images: + # "driver" defines the container image, used for the driver container. + driver: dellemc/csi-powerstore:v2.10.0 + # CSI sidecars + attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.2 + provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.2 + snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 + resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.2 + registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.1 + healthmonitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.10.0 + + # CSM sidecars + replication: dellemc/dell-csi-replicator:v1.7.0 + vgsnapshotter: dellemc/csi-volumegroup-snapshotter:v1.4.0 + podmon: dellemc/podmon:v1.8.0 + metadataretriever: dellemc/csi-metadata-retriever:v1.6.0 + ## Controller ATTRIBUTES + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + replication: + enabled: $REPLICATION_ENABLED + vgsnapshot: + enabled: $VG_SNAPSHOT_ENABLED + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + ## Node ATTRIBUTES + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.powerstore.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "powerstore.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + podmon: + enabled: $RESILIENCY_ENABLED + + maxPowerstoreVolumesPerNode: $MAX_VOLUMES_PER_NODE + +## K8S/CSI-PowerMax ATTRIBUTES +########################################## +csi-powermax: + enabled: $POWERMAX_ENABLED + global: + storageArrays: + - storageArrayId: "$POWERMAX_STORAGE_ARRAY_ID" + endpoint: $POWERMAX_STORAGE_ARRAY_ENDPOINT_URL + backupEndpoint: $POWERMAX_STORAGE_ARRAY_BACKUP_ENDPOINT_URL + - storageArrayId: "$TARGET_ARRAY_ID" + endpoint: $TARGET_UNISPHERE + managementServers: + - endpoint: $POWERMAX_MANAGEMENT_SERVERS_ENDPOINT_URL + - endpoint: $TARGET_UNISPHERE + version: v2.10.0 + images: + # "driver" defines the container image, used for the driver container. + driver: dellemc/csi-powermax:v2.10.0 + csireverseproxy: dellemc/csipowermax-reverseproxy:v2.9.0 + # CSI sidecars + attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.0 + provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.0 + snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.0 + resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.0 + registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.0 + healthmonitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.10.0 + # CSM sidecars + replication: dellemc/dell-csi-replicator:v1.7.0 + authorization: dellemc/csm-authorization-sidecar:v1.9.0 + migration: dellemc/dell-csi-migrator:v1.3.0 + noderescan: dellemc/dell-csi-node-rescanner:v1.2.0 + clusterPrefix: $POWERMAX_CLUSTER_PREFIX + portGroups: "$POWERMAX_PORT_GROUPS" + fsGroupPolicy: "$FSGROUP_POLICY" + maxPowerMaxVolumesPerNode: $MAX_VOLUMES_PER_NODE + enableCHAP: $ISCSI_CHAP_ENABLED + transportProtocol: "$NODE_TRANSPORT_PROTOCOL" + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + topologyControl: + enabled: $TOPOLOGY_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + - key: "node.kubernetes.io/memory-pressure" + operator: "Exists" + effect: "NoExecute" + - key: "node.kubernetes.io/disk-pressure" + operator: "Exists" + effect: "NoExecute" + - key: "node.kubernetes.io/network-unavailable" + operator: "Exists" + effect: "NoExecute" + csireverseproxy: + deployAsSidecar: true + replication: + enabled: $REPLICATION_ENABLED + migration: + enabled: $MIGRATION_ENABLED + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + vSphere: + enabled: $VSPHERE_ENABLED + fcPortGroup: "$VSPHERE_FC_PORT_GROUP" + fcHostName: "$VSPHERE_FC_HOST_NAME" + vCenterHost: "$VSPHERE_VCENTER_HOST" + vCenterCredSecret: $VSPHERE_VCENTER_CRED_SECRET + +## K8S/CSI-PowerFlex ATTRIBUTES +########################################## +csi-vxflexos: + enabled: $POWERFLEX_ENABLED + version: v2.10.0 + images: + # "driver" defines the container image, used for the driver container. + driver: dellemc/csi-vxflexos:v2.10.0 + # "powerflexSdc" defines the SDC image for init container. + powerflexSdc: dellemc/sdc:4.5 + # CSI sidecars + attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.2 + provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.2 + snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 + resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.2 + registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.1 + healthmonitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.10.0 + # CSM sidecars + replication: dellemc/dell-csi-replicator:v1.7.0 + vgsnapshotter: dellemc/csi-volumegroup-snapshotter:v1.4.0 + podmon: dellemc/podmon:v1.8.0 + authorization: dellemc/csm-authorization-sidecar:v1.9.0 + certSecretCount: $CERT_SECRET_COUNT + controller: + replication: + enabled: $REPLICATION_ENABLED + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + snapshot: + enabled: $SNAPSHOT_ENABLED + resizer: + enabled: $RESIZER_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + renameSDC: + enabled: $RENAME_SDC_ENABLED + sdcPrefix: $SDC_PREFIX + approveSDC: + enabled: $APPROVE_SDC_ENABLED + tolerations: $NODE_TOLERATIONS + # Uncomment if CSM for Resiliency and CSI Driver pods monitor is enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + enableQuota: $QUOTA_ENABLED + externalAccess: + monitor: + enabled: $MONITOR_ENABLED + vgsnapshotter: + enabled: $VG_SNAPSHOT_ENABLED + podmon: + enabled: $RESILIENCY_ENABLED + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + maxPowerflexVolumesPerNode: $MAX_VOLUMES_PER_NODE + +## K8S/CSI-PowerScale ATTRIBUTES +########################################## +csi-isilon: + enabled: $POWERSCALE_ENABLED + version: "v2.10.0" + images: + # "driver" defines the container image, used for the driver container. + driver: dellemc/csi-isilon:v2.10.0 + # CSI sidecars + attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.0 + provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.0 + snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.0 + resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.0 + registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.0 + healthmonitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.10.0 + # CSM sidecars + replication: dellemc/dell-csi-replicator:v1.7.0 + podmon: dellemc/podmon:v1.8.0 + authorization: dellemc/csm-authorization-sidecar:v1.9.0 + metadataretriever: dellemc/csi-metadata-retriever:v1.4.0 + encryption: dellemc/csm-encryption:v0.3.0 + + certSecretCount: $CERT_SECRET_COUNT + allowedNetworks: [] + verbose: 1 + enableCustomTopology: false + fsGroupPolicy: $FSGROUP_POLICY + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + maxIsilonVolumesPerNode: $MAX_VOLUMES_PER_NODE + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + replication: + enabled: $REPLICATION_ENABLED + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + node: + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + # - key: "node.kubernetes.io/memory-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/disk-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/network-unavailable" + # operator: "Exists" + # effect: "NoExecute" + # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + authorization: + enabled: $AUTHORIZATION_ENABLED + proxyHost: $AUTHORIZATION_PROXY_HOST + skipCertificateValidation: $AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION + # Enable this feature only after contact support for additional information + podmon: + enabled: $RESILIENCY_ENABLED + +## K8S/CSI-Unity ATTRIBUTES +########################################## +csi-unity: + enabled: $UNITY_ENABLED + version: v2.10.0 + images: + # "driver" defines the container image, used for the driver container. + driver: dellemc/csi-unity:v2.10.0 + # CSI sidecars + attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.0 + provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.0 + snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.0 + resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.0 + registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.0 + healthmonitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.10.0 + # CSM sidecars + podmon: dellemc/podmon:v1.8.0 + certSecretCount: $CERT_SECRET_COUNT + fsGroupPolicy: $FSGROUP_POLICY + controller: + controllerCount: $CONTROLLER_COUNT + volumeNamePrefix: $VOLUME_NAME_PREFIX + snapshot: + enabled: $SNAPSHOT_ENABLED + snapNamePrefix: $SNAP_NAME_PREFIX + resizer: + enabled: $RESIZER_ENABLED + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + tolerations: $CONTROLLER_TOLERATIONS + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + node: + healthMonitor: + enabled: $HEALTH_MONITOR_ENABLED + nodeSelector: $NODE_POD_NODE_SELECTOR + tolerations: $NODE_TOLERATIONS + # - key: "node.kubernetes.io/memory-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/disk-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/network-unavailable" + # operator: "Exists" + # effect: "NoExecute" + # Uncomment if CSM for Resiliency and CSI Driver pods monitor are enabled + # - key: "offline.vxflexos.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "vxflexos.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.unity.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "unity.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "offline.isilon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + # - key: "isilon.podmon.storage.dell.com" + # operator: "Exists" + # effect: "NoSchedule" + storageCapacity: + enabled: $STORAGE_CAPACITY_ENABLED + maxUnityVolumesPerNode: $MAX_VOLUMES_PER_NODE + podmon: + enabled: $RESILIENCY_ENABLED + +## K8S/Replication Module ATTRIBUTES +########################################## +csm-replication: + enabled: $REPLICATION_ENABLED + +## K8S/Observability Module ATTRIBUTES +########################################## +karavi-observability: + enabled: $OBSERVABILITY_ENABLED + karaviMetricsPowerstore: + enabled: $POWERSTORE_OBSERVABILITY_METRICS_ENABLED + karaviMetricsPowermax: + enabled: $POWERMAX_OBSERVABILITY_METRICS_ENABLED + karaviMetricsPowerflex: + enabled: $POWERFLEX_OBSERVABILITY_METRICS_ENABLED + karaviMetricsPowerscale: + enabled: $POWERSCALE_OBSERVABILITY_METRICS_ENABLED + cert-manager: + enabled: $OBSERVABILITY_CERT_MANAGER_ENABLED + +## K8S/Cert-manager ATTRIBUTES +########################################## +cert-manager: + enabled: $CERT_MANAGER_ENABLED diff --git a/content/docs/deployment/csminstallationwizard/src/templates/helm/csm-1.9.0-values.template b/content/docs/deployment/csminstallationwizard/src/templates/helm/csm-1.9.0-values.template index fc2975abec..826efc7f15 100644 --- a/content/docs/deployment/csminstallationwizard/src/templates/helm/csm-1.9.0-values.template +++ b/content/docs/deployment/csminstallationwizard/src/templates/helm/csm-1.9.0-values.template @@ -93,14 +93,14 @@ csi-powermax: version: v2.9.0 images: # "driver" defines the container image, used for the driver container. - driver: dellemc/csi-powermax:v2.8.0 - csireverseproxy: dellemc/csipowermax-reverseproxy:v2.7.0 + driver: dellemc/csi-powermax:v2.9.0 + csireverseproxy: dellemc/csipowermax-reverseproxy:v2.8.0 # CSI sidecars - attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.0 - provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.0 - snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.0 - resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.0 - registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.0 + attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.2 + provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.2 + snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 + resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.2 + registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.1 healthmonitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.10.0 # CSM sidecars replication: dellemc/dell-csi-replicator:v1.7.0 @@ -247,16 +247,16 @@ csi-vxflexos: ########################################## csi-isilon: enabled: $POWERSCALE_ENABLED - version: "v2.8.0" + version: "v2.9.0" images: # "driver" defines the container image, used for the driver container. - driver: dellemc/csi-isilon:v2.8.0 + driver: dellemc/csi-isilon:v2.9.0 # CSI sidecars - attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.0 - provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.0 - snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.0 - resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.0 - registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.0 + attacher: registry.k8s.io/sig-storage/csi-attacher:v4.4.2 + provisioner: registry.k8s.io/sig-storage/csi-provisioner:v3.6.2 + snapshotter: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 + resizer: registry.k8s.io/sig-storage/csi-resizer:v1.9.2 + registrar: registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.9.1 healthmonitor: registry.k8s.io/sig-storage/csi-external-health-monitor-controller:v0.10.0 # CSM sidecars replication: dellemc/dell-csi-replicator:v1.7.0 diff --git a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.10.0.template b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.10.0.template new file mode 100644 index 0000000000..a269d95c67 --- /dev/null +++ b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-isilon-1.10.0.template @@ -0,0 +1,470 @@ +apiVersion: storage.dell.com/v1 +kind: ContainerStorageModule +metadata: + name: isilon + namespace: $NAMESPACE +spec: + driver: + csiDriverType: "isilon" + csiDriverSpec: + # fsGroupPolicy: Defines if the underlying volume supports changing ownership and permission of the volume before being mounted. + # Allowed values: ReadWriteOnceWithFSType, File , None + # Default value: ReadWriteOnceWithFSType + fSGroupPolicy: "$FSGROUP_POLICY" + # storageCapacity: Helps the scheduler to schedule the pod on a node satisfying the topology constraints, only if the requested capacity is available on the storage array + # Allowed values: + # true: enable storage capacity tracking + # false: disable storage capacity tracking + storageCapacity: $STORAGE_CAPACITY_ENABLED + # Config version for CSI PowerScale v2.10.0 driver + configVersion: v2.10.0 + authSecret: isilon-creds + replicas: $CONTROLLER_COUNT + dnsPolicy: ClusterFirstWithHostNet + # Uninstall CSI Driver and/or modules when CR is deleted + forceRemoveDriver: true + common: + # Image for CSI PowerScale driver v2.10.0 + image: "dellemc/csi-isilon:v2.10.0" + imagePullPolicy: IfNotPresent + envs: + # X_CSI_VERBOSE: Indicates what content of the OneFS REST API message should be logged in debug level logs + # Allowed Values: + # 0: log full content of the HTTP request and response + # 1: log without the HTTP response body + # 2: log only 1st line of the HTTP request and response + # Default value: 0 + - name: X_CSI_VERBOSE + value: "1" + + # X_CSI_ISI_PORT: Specify the HTTPs port number of the PowerScale OneFS API server + # This value acts as a default value for endpointPort, if not specified for a cluster config in secret + # Allowed value: valid port number + # Default value: 8080 + - name: X_CSI_ISI_PORT + value: "8080" + + # X_CSI_ISI_PATH: The base path for the volumes to be created on PowerScale cluster. + # This value acts as a default value for isiPath, if not specified for a cluster config in secret + # Ensure that this path exists on PowerScale cluster. + # Allowed values: unix absolute path + # Default value: /ifs + # Examples: /ifs/data/csi, /ifs/engineering + - name: X_CSI_ISI_PATH + value: "/ifs/data/csi" + + # X_CSI_ISI_NO_PROBE_ON_START: Indicates whether the controller/node should probe all the PowerScale clusters during driver initialization + # Allowed values: + # true : do not probe all PowerScale clusters during driver initialization + # false: probe all PowerScale clusters during driver initialization + # Default value: false + - name: X_CSI_ISI_NO_PROBE_ON_START + value: "false" + + # X_CSI_ISI_AUTOPROBE: automatically probe the PowerScale cluster if not done already during CSI calls. + # Allowed values: + # true : enable auto probe. + # false: disable auto probe. + # Default value: false + - name: X_CSI_ISI_AUTOPROBE + value: "true" + + # X_CSI_ISI_SKIP_CERTIFICATE_VALIDATION: Specify whether the PowerScale OneFS API server's certificate chain and host name should be verified. + # Formerly this attribute was named as "X_CSI_ISI_INSECURE" + # This value acts as a default value for skipCertificateValidation, if not specified for a cluster config in secret + # Allowed values: + # true: skip OneFS API server's certificate verification + # false: verify OneFS API server's certificates + # Default value: true + - name: X_CSI_ISI_SKIP_CERTIFICATE_VALIDATION + value: "true" + + # X_CSI_CUSTOM_TOPOLOGY_ENABLED: Specify if custom topology label .dellemc.com/: + # has to be used for making connection to backend PowerScale Array. + # If X_CSI_CUSTOM_TOPOLOGY_ENABLED is set to true, then do not specify allowedTopologies in storage class. + # Allowed values: + # true : enable custom topology + # false: disable custom topology + # Default value: false + - name: X_CSI_CUSTOM_TOPOLOGY_ENABLED + value: "false" + + # Specify kubelet config dir path. + # Ensure that the config.yaml file is present at this path. + # Default value: None + - name: KUBELET_CONFIG_DIR + value: "/var/lib/kubelet" + + # certSecretCount: Represents number of certificate secrets, which user is going to create for + # ssl authentication. (isilon-cert-0..isilon-cert-n) + # Allowed values: n, where n > 0 + # Default value: None + - name: "CERT_SECRET_COUNT" + value: "1" + + # CSI driver log level + # Allowed values: "error", "warn"/"warning", "info", "debug" + # Default value: "debug" + - name: "CSI_LOG_LEVEL" + value: "debug" + + controller: + envs: + # X_CSI_ISI_QUOTA_ENABLED: Indicates whether the provisioner should attempt to set (later unset) quota + # on a newly provisioned volume. + # This requires SmartQuotas to be enabled on PowerScale cluster. + # Allowed values: + # true: set quota for volume + # false: do not set quota for volume + - name: X_CSI_ISI_QUOTA_ENABLED + value: "true" + + # X_CSI_ISI_ACCESS_ZONE: The name of the access zone a volume can be created in. + # If storageclass is missing with AccessZone parameter, then value of X_CSI_ISI_ACCESS_ZONE is used for the same. + # Default value: System + # Examples: System, zone1 + - name: X_CSI_ISI_ACCESS_ZONE + value: "System" + + # X_CSI_ISI_VOLUME_PATH_PERMISSIONS: The permissions for isi volume directory path + # This value acts as a default value for isiVolumePathPermissions, if not specified for a cluster config in secret + # Allowed values: valid octal mode number + # Default value: "0777" + # Examples: "0777", "777", "0755" + - name: X_CSI_ISI_VOLUME_PATH_PERMISSIONS + value: "0777" + + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from Controller plugin- volume status, volume condition. + # Install the 'external-health-monitor' sidecar accordingly. + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # Default value: false + - name: X_CSI_HEALTH_MONITOR_ENABLED + value: "$HEALTH_MONITOR_ENABLED" + + # X_CSI_ISI_IGNORE_UNRESOLVABLE_HOSTS: Ignore unresolvable hosts on the OneFS. + # When set to true, OneFS allows new host to add to existing export list though any of the existing hosts from the + # same exports are unresolvable/doesn't exist anymore. + # Allowed values: + # true: ignore existing unresolvable hosts and append new host to the existing export + # false: exhibits OneFS default behavior i.e. if any of existing hosts are unresolvable while adding new one it fails + # Default value: false + - name: X_CSI_ISI_IGNORE_UNRESOLVABLE_HOSTS + value: "false" + + # X_CSI_MAX_PATH_LIMIT: this parameter is used for setting the maximum Path length for the given volume. + # Default value: 192 + # Examples: 192, 256 + - name: X_CSI_MAX_PATH_LIMIT + value: "192" + + # nodeSelector: Define node selection constraints for pods of controller deployment. + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector:$CONTROLLER_POD_NODE_SELECTOR + + # tolerations: Define tolerations for the controller deployment, if required. + # Default value: None + tolerations:$CONTROLLER_TOLERATIONS + + node: + envs: + # X_CSI_MAX_VOLUMES_PER_NODE: Specify default value for maximum number of volumes that controller can publish to the node. + # If value is zero CO SHALL decide how many volumes of this type can be published by the controller to the node. + # This limit is applicable to all the nodes in the cluster for which node label 'max-isilon-volumes-per-node' is not set. + # Allowed values: n, where n >= 0 + # Default value: 0 + - name: X_CSI_MAX_VOLUMES_PER_NODE + value: "$MAX_VOLUMES_PER_NODE" + + # X_CSI_ALLOWED_NETWORKS: Custom networks for PowerScale export + # Specify list of networks which can be used for NFS I/O traffic; CIDR format should be used. + # Allowed values: list of one or more networks + # Default value: None + # Provide them in the following format: "[net1, net2]" + # CIDR format should be used + # eg: "[192.168.1.0/24, 192.168.100.0/22]" + - name: X_CSI_ALLOWED_NETWORKS + value: "" + + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from Controller plugin- volume status, volume condition. + # Install the 'external-health-monitor' sidecar accordingly. + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # Default value: false + - name: X_CSI_HEALTH_MONITOR_ENABLED + value: "$HEALTH_MONITOR_ENABLED" + + # X_CSI_MAX_PATH_LIMIT: this parameter is used for setting the maximum Path length for the given volume. + # Default value: 192 + # Examples: 192, 256 + - name: X_CSI_MAX_PATH_LIMIT + value: "192" + + # nodeSelector: Define node selection constraints for pods of node daemonset + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector:$NODE_POD_NODE_SELECTOR + + # tolerations: Define tolerations for the node daemonset, if required. + # Default value: None + tolerations:$NODE_TOLERATIONS + # - key: "node.kubernetes.io/memory-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/disk-pressure" + # operator: "Exists" + # effect: "NoExecute" + # - key: "node.kubernetes.io/network-unavailable" + # operator: "Exists" + # effect: "NoExecute" + + sideCars: + - name: provisioner + args: ["--volume-name-prefix=$VOLUME_NAME_PREFIX"] + # health monitor is disabled by default, refer to driver documentation before enabling it + - name: external-health-monitor + enabled: $HEALTH_MONITOR_ENABLED + 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"] + + modules: + # Authorization: enable csm-authorization for RBAC + - name: authorization + # enable: Enable/Disable csm-authorization + enabled: $AUTHORIZATION_ENABLED + configVersion: v1.9.0 + components: + - name: karavi-authorization-proxy + image: dellemc/csm-authorization-sidecar:v1.9.0 + envs: + # proxyHost: hostname of the csm-authorization server + - name: "PROXY_HOST" + value: "$AUTHORIZATION_PROXY_HOST" + + # skipCertificateValidation: Enable/Disable certificate validation of the csm-authorization server + - name: "SKIP_CERTIFICATE_VALIDATION" + value: "$AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION" + + # replication: allows to configure replication + # Replication CRDs must be installed before installing driver + - name: replication + # enabled: Enable/Disable replication feature + # Allowed values: + # true: enable replication feature(install dell-csi-replicator sidecar) + # false: disable replication feature(do not install dell-csi-replicator sidecar) + # Default value: false + enabled: $REPLICATION_ENABLED + configVersion: v1.7.0 + components: + - name: dell-csi-replicator + # image: Image to use for dell-csi-replicator. This shouldn't be changed + # Allowed values: string + # Default value: None + image: dellemc/dell-csi-replicator:v1.7.0 + envs: + # replicationPrefix: prefix to prepend to storage classes parameters + # Allowed values: string + # Default value: replication.storage.dell.com + - name: "X_CSI_REPLICATION_PREFIX" + value: "replication.storage.dell.com" + # replicationContextPrefix: prefix to use for naming of resources created by replication feature + # Allowed values: string + # Default value: powerscale + - name: "X_CSI_REPLICATION_CONTEXT_PREFIX" + value: "powerscale" + + - name: dell-replication-controller-manager + # image: Defines controller image. This shouldn't be changed + # Allowed values: string + image: dellemc/dell-replication-controller:v1.7.0 + envs: + # TARGET_CLUSTERS_IDS: comma separated list of cluster IDs of the targets clusters. DO NOT include the source(wherever CSM Operator is deployed) cluster ID + # Set the value to "self" in case of stretched/single cluster configuration + # Allowed values: string + - name: "TARGET_CLUSTERS_IDS" + value: "$TARGET_CLUSTER_ID" + # Replication log level + # Allowed values: "error", "warn"/"warning", "info", "debug" + # Default value: "debug" + - name: "REPLICATION_CTRL_LOG_LEVEL" + value: "debug" + + # replicas: Defines number of controller replicas + # Allowed values: int + # Default value: 1 + - name: "REPLICATION_CTRL_REPLICAS" + value: "1" + # retryIntervalMin: Initial retry interval of failed reconcile request. + # It doubles with each failure, upto retry-interval-max + # Allowed values: time + - name: "RETRY_INTERVAL_MIN" + value: "1s" + # RETRY_INTERVAL_MAX: Maximum retry interval of failed reconcile request + # Allowed values: time + - name: "RETRY_INTERVAL_MAX" + value: "5m" + + # observability: allows to configure observability + - name: observability + # enabled: Enable/Disable observability + enabled: $OBSERVABILITY_OPERATOR_ENABLED + configVersion: v1.7.0 + components: + - name: topology + # enabled: Enable/Disable topology + enabled: $OBSERVABILITY_OPERATOR_TOPOLOGY + # image: Defines karavi-topology image. This shouldn't be changed + # Allowed values: string + image: dellemc/csm-topology:v1.7.0 + envs: + # topology log level + # Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, PANIC + # Default value: "INFO" + - name: "TOPOLOGY_LOG_LEVEL" + value: "INFO" + + - name: otel-collector + # enabled: Enable/Disable OpenTelemetry Collector + enabled: $OBSERVABILITY_OPERATOR_OTEL + # image: Defines otel-collector image. This shouldn't be changed + # Allowed values: string + image: otel/opentelemetry-collector:0.42.0 + envs: + # image of nginx proxy image + # Allowed values: string + # Default value: "nginxinc/nginx-unprivileged:1.20" + - name: "NGINX_PROXY_IMAGE" + value: "nginxinc/nginx-unprivileged:1.20" + + - name: cert-manager + # enabled: Enable/Disable cert-manager + # Allowed values: + # true: enable deployment of cert-manager + # false: disable deployment of cert-manager only if it's already deployed + # Default value: false + enabled: $OBSERVABILITY_OPERATOR_ENABLED + + - name: metrics-powerscale + # enabled: Enable/Disable PowerScale metrics + enabled: $OBSERVABILITY_OPERATOR_METRICS + # image: Defines PowerScale metrics image. This shouldn't be changed + # Allowed values: string + image: dellemc/csm-metrics-powerscale:v1.4.0 + envs: + # POWERSCALE_MAX_CONCURRENT_QUERIES: set the default max concurrent queries to PowerScale + # Allowed values: int + # Default value: 10 + - name: "POWERSCALE_MAX_CONCURRENT_QUERIES" + value: "10" + # POWERSCALE_CAPACITY_METRICS_ENABLED: enable/disable collection of capacity metrics + # Allowed values: ture, false + # Default value: true + - name: "POWERSCALE_CAPACITY_METRICS_ENABLED" + value: "true" + # POWERSCALE_PERFORMANCE_METRICS_ENABLED: enable/disable collection of performance metrics + # Allowed values: ture, false + # Default value: true + - name: "POWERSCALE_PERFORMANCE_METRICS_ENABLED" + value: "true" + # POWERSCALE_CLUSTER_CAPACITY_POLL_FREQUENCY: set polling frequency to get cluster capacity metrics data + # Allowed values: int + # Default value: 30 + - name: "POWERSCALE_CLUSTER_CAPACITY_POLL_FREQUENCY" + value: "30" + # POWERSCALE_CLUSTER_PERFORMANCE_POLL_FREQUENCY: set polling frequency to get cluster performance metrics data + # Allowed values: int + # Default value: 20 + - name: "POWERSCALE_CLUSTER_PERFORMANCE_POLL_FREQUENCY" + value: "20" + # POWERSCALE_QUOTA_CAPACITY_POLL_FREQUENCY: set polling frequency to get Quota capacity metrics data + # Allowed values: int + # Default value: 20 + - name: "POWERSCALE_QUOTA_CAPACITY_POLL_FREQUENCY" + value: "30" + # ISICLIENT_INSECURE: set true/false to skip/verify OneFS API server's certificates + # Allowed values: ture, false + # Default value: true + - name: "ISICLIENT_INSECURE" + value: "true" + # ISICLIENT_AUTH_TYPE: set 0/1 to enables session-based/basic Authentication + # Allowed values: ture, false + # Default value: true + - name: "ISICLIENT_AUTH_TYPE" + value: "1" + # ISICLIENT_VERBOSE: set 0/1/2 decide High/Medium/Low content of the OneFS REST API message should be logged in debug level logs + # Allowed values: 0,1,2 + # Default value: 0 + - name: "ISICLIENT_VERBOSE" + value: "0" + # PowerScale metrics log level + # Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, PANIC + # Default value: "INFO" + - name: "POWERSCALE_LOG_LEVEL" + value: "INFO" + # PowerScale Metrics Output logs in the specified format + # Valid values: TEXT, JSON + # Default value: "TEXT" + - name: "POWERSCALE_LOG_FORMAT" + value: "TEXT" + # Otel collector address + # Allowed values: String + # Default value: "otel-collector:55680" + - name: "COLLECTOR_ADDRESS" + value: "otel-collector:55680" + - name: resiliency + # enabled: Enable/Disable Resiliency feature + # Allowed values: + # true: enable Resiliency feature(deploy podmon sidecar) + # false: disable Resiliency feature(do not deploy podmon sidecar) + # Default value: false + enabled: $OPERATOR_RESILIENCY_ENABLED + configVersion: v1.8.0 + components: + - name: podmon-controller + image: dellemc/podmon:v1.8.0 + imagePullPolicy: IfNotPresent + args: + - "--labelvalue=$LABEL_VALUE" + - "--arrayConnectivityPollRate=$POLL_RATE" + - "--skipArrayConnectionValidation=$SKIP_ARRAY_CONNECTION_VALIDATION" + - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" + - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" + # Below 4 args should not be modified. + - "--csisock=unix:/var/run/csi/csi.sock" + - "--mode=controller" + - "--driverPath=csi-isilon.dellemc.com" + - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" + - name: podmon-node + image: dellemc/podmon:v1.8.0 + imagePullPolicy: IfNotPresent + envs: + # podmonAPIPort: Defines the port to be used within the kubernetes cluster + # Allowed values: Any valid and free port (string) + # Default value: 8083 + - name: "X_CSI_PODMON_API_PORT" + value: "8083" + args: + - "--labelvalue=$LABEL_VALUE" + - "--arrayConnectivityPollRate=$POLL_RATE" + - "--leaderelection=$LEADER_ELECTION" + - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" + - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + # Below 4 args should not be modified. + - "--csisock=unix:/var/lib/kubelet/plugins/csi-isilon/csi_sock" + - "--mode=node" + - "--driverPath=csi-isilon.dellemc.com" + - "--driver-config-params=/csi-isilon-config-params/driver-config-params.yaml" diff --git a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powermax-1.10.0 .template b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powermax-1.10.0 .template new file mode 100644 index 0000000000..f49d7df264 --- /dev/null +++ b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powermax-1.10.0 .template @@ -0,0 +1,409 @@ +# +# Copyright © 2023 Dell Inc. or its subsidiaries. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +apiVersion: storage.dell.com/v1 +kind: ContainerStorageModule +metadata: + name: powermax + namespace: $NAMESPACE +spec: + # Add fields here + driver: + csiDriverType: "powermax" + csiDriverSpec: + # fsGroupPolicy: Defines if the underlying volume supports changing ownership and permission of the volume before being mounted. + # Allowed values: ReadWriteOnceWithFSType, File , None + # Default value: ReadWriteOnceWithFSType + fSGroupPolicy: "$FSGROUP_POLICY" + # storageCapacity: Helps the scheduler to schedule the pod on a node satisfying the topology constraints, only if the requested capacity is available on the storage array + # Allowed values: + # true: enable storage capacity tracking + # false: disable storage capacity tracking + storageCapacity: $STORAGE_CAPACITY_ENABLED + # Config version for CSI PowerMax v2.10.0 driver + configVersion: v2.10.0 + # replica: Define the number of PowerMax controller nodes + # to deploy to the Kubernetes release + # Allowed values: n, where n > 0 + # Default value: None + replicas: $CONTROLLER_COUNT + # Default credential secret for Powermax, if not set it to "" + authSecret: powermax-creds + dnsPolicy: ClusterFirstWithHostNet + forceUpdate: false + forceRemoveDriver: true + common: + # Image for CSI PowerMax driver v2.10.0 + image: dellemc/csi-powermax:v2.10.0 + # imagePullPolicy: Policy to determine if the image should be pulled prior to starting the container. + # Allowed values: + # Always: Always pull the image. + # IfNotPresent: Only pull the image if it does not already exist on the node. + # Never: Never pull the image. + # Default value: None + imagePullPolicy: IfNotPresent + envs: + # X_CSI_MANAGED_ARRAYS: Serial ID of the arrays that will be used for provisioning + # Default value: None + # Examples: "000000000001", "000000000002" + - name: X_CSI_MANAGED_ARRAYS + value: "$POWERMAX_MANAGE_ARRAY_ID" + # X_CSI_POWERMAX_ENDPOINT: Address of the Unisphere server that is managing the PowerMax arrays + # In case of multi-array, provide an endpoint of locally attached array + # Default value: None + # Example: https://0.0.0.1:8443 + - name: X_CSI_POWERMAX_ENDPOINT + value: "$POWERMAX_MANAGE_ARRAY_ENDPOINT_URL" + # X_CSI_K8S_CLUSTER_PREFIX: Define a prefix that is appended onto + # all resources created in the Array + # This should be unique per K8s/CSI deployment + # maximum length of this value is 3 characters + # Default value: None + # Examples: "XYZ", "EMC" + - name: X_CSI_K8S_CLUSTER_PREFIX + value: "$POWERMAX_CLUSTER_PREFIX" + # Specify kubelet config dir path. + # Ensure that the config.yaml file is present at this path. + # Default value: None + - name: KUBELET_CONFIG_DIR + value: /var/lib/kubelet + # X_CSI_POWERMAX_PORTGROUPS: Define the set of existing port groups that the driver will use. + # It is a comma separated list of portgroup names. + # Required only in case of iSCSI port groups + # Allowed values: iSCSI Port Group names + # Default value: None + # Examples: "pg1", "pg1, pg2" + - name: X_CSI_POWERMAX_PORTGROUPS + value: "$POWERMAX_PORT_GROUPS" + # "X_CSI_TRANSPORT_PROTOCOL" can be "FC" or "FIBRE" for fibrechannel, + # "ISCSI" for iSCSI, or "" for autoselection. + # Allowed values: + # "FC" - Fiber Channel protocol + # "FIBER" - Fiber Channel protocol + # "ISCSI" - iSCSI protocol + # "" - Automatic selection of transport protocol + # Default value: "" + - name: X_CSI_TRANSPORT_PROTOCOL + value: "$NODE_TRANSPORT_PROTOCOL" + # X_CSI_POWERMAX_PROXY_SERVICE_NAME: Refers to the name of the proxy service in kubernetes + # Allowed values: "csipowermax-reverseproxy" + # default values: "csipowermax-reverseproxy" + - name: X_CSI_POWERMAX_PROXY_SERVICE_NAME + value: "csipowermax-reverseproxy" + # VMware/vSphere virtualization support + # set X_CSI_VSPHERE_ENABLED to true, if you to enable VMware virtualized environment support via RDM + # Allowed values: + # "true" - vSphere volumes are enabled + # "false" - vSphere volumes are disabled + # Default value: "false" + - name: "X_CSI_VSPHERE_ENABLED" + value: "$VSPHERE_ENABLED" + # X_CSI_VSPHERE_PORTGROUP: An existing portGroup that driver will use for vSphere + # recommended format: csi-x-VC-PG, x can be anything of user choice + # Allowed value: valid existing port group on the array + # Default value: "" + - name: "X_CSI_VSPHERE_PORTGROUP" + value: "$VSPHERE_FC_PORT_GROUP" + # X_CSI_VSPHERE_HOSTNAME: An existing host(initiator group)/ host group(cascaded initiator group) that driver will use for vSphere + # this host should contain initiators from all the ESXs/ESXi host where the cluster is deployed + # recommended format: csi-x-VC-HN, x can be anything of user choice + # Allowed value: valid existing host/host group on the array + # Default value: "" + - name: "X_CSI_VSPHERE_HOSTNAME" + value: "$VSPHERE_FC_HOST_NAME" + # X_CSI_VCENTER_HOST: URL/endpoint of the vCenter where all the ESX are present + # Allowed value: valid vCenter host endpoint + # Default value: "" + - name: "X_CSI_VCENTER_HOST" + value: "$VSPHERE_VCENTER_HOST" + controller: + envs: + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from node plugin- volume usage, volume condition + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # Default value: false + - name: X_CSI_HEALTH_MONITOR_ENABLED + value: "$HEALTH_MONITOR_ENABLED" + # nodeSelector: Define node selection constraints for controller pods. + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector: $NODE_POD_NODE_SELECTOR + # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint + # node-role.kubernetes.io/control-plane: "" + + # tolerations: Define tolerations that would be applied to controller deployment + # Leave as blank to install controller on worker nodes + # Allowed values: map of key-value pairs + # Default value: None + tolerations: $NODE_TOLERATIONS + # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint + # - key: "node-role.kubernetes.io/control-plane" + # operator: "Exists" + # effect: "NoSchedule" + node: + envs: + # X_CSI_POWERMAX_ISCSI_ENABLE_CHAP: Determine if the driver is going to configure + # ISCSI node databases on the nodes with the CHAP credentials + # If enabled, the CHAP secret must be provided in the credentials secret + # and set to the key "chapsecret" + # Allowed values: + # "true" - CHAP is enabled + # "false" - CHAP is disabled + # Default value: "false" + - name: X_CSI_POWERMAX_ISCSI_ENABLE_CHAP + value: "$ISCSI_CHAP_ENABLED" + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from node plugin- volume usage, volume condition + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # Default value: false + - name: X_CSI_HEALTH_MONITOR_ENABLED + value: "$HEALTH_MONITOR_ENABLED" + # X_CSI_TOPOLOGY_CONTROL_ENABLED provides a way to filter topology keys on a node based on array and transport protocol + # if enabled, user can create custom topology keys by editing node-topology-config configmap. + # Allowed values: + # true: enable the filtration based on config map + # false: disable the filtration based on config map + # Default value: false + - name: X_CSI_TOPOLOGY_CONTROL_ENABLED + value: "$TOPOLOGY_ENABLED" + # X_CSI_MAX_VOLUMES_PER_NODE: Defines the maximum PowerMax volumes that the controller can schedule on the node + # Allowed values: Any value greater than or equal to 0 + # Default value: "0" + - name: X_CSI_MAX_VOLUMES_PER_NODE + value: "$MAX_VOLUMES_PER_NODE" + # nodeSelector: Define node selection constraints for node pods. + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector: $NODE_POD_NODE_SELECTOR + # Uncomment if nodes you wish to use have the node-role.kubernetes.io/control-plane taint + # node-role.kubernetes.io/control-plane: "" + + # tolerations: Define tolerations that would be applied to node daemonset + # Add/Remove tolerations as per requirement + # Leave as blank if you wish to not apply any tolerations + # Allowed values: map of key-value pairs + # Default value: None + tolerations: + - key: "node.kubernetes.io/memory-pressure" + operator: "Exists" + effect: "NoExecute" + - key: "node.kubernetes.io/disk-pressure" + operator: "Exists" + effect: "NoExecute" + - key: "node.kubernetes.io/network-unavailable" + operator: "Exists" + effect: "NoExecute" + sideCars: + # 'pmax' represents a string prepended to each volume created by the CSI driver + - name: provisioner + args: ["--volume-name-prefix=$VOLUME_NAME_PREFIX"] + # health monitor is disabled by default, refer to driver documentation before enabling it + - name: external-health-monitor + enabled: $HEALTH_MONITOR_ENABLED + args: [ "--monitor-interval=60s" ] + + # Uncomment the following to configure how often external-provisioner polls the driver to detect changed capacity + # Configure only 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"] + + modules: + # CSI Powermax Reverseproxy is a mandatory module for Powermax + - name: csireverseproxy + # enabled: Always set to true + enabled: true + configVersion: v2.9.0 + forceRemoveModule: true + components: + - name: csipowermax-reverseproxy + # image: Define the container images used for the reverse proxy + # Default value: None + # Example: "csipowermax-reverseproxy:v2.9.0" + image: dellemc/csipowermax-reverseproxy:v2.9.0 + envs: + # "tlsSecret" defines the TLS secret that is created with certificate + # and its associated key + # Default value: None + # Example: "tls-secret" + - name: X_CSI_REVPROXY_TLS_SECRET + value: "csirevproxy-tls-secret" + - name: X_CSI_REVPROXY_PORT + value: "2222" + - name: X_CSI_CONFIG_MAP_NAME + value: "powermax-reverseproxy-config" + + # Authorization: enable csm-authorization for RBAC + - name: authorization + # enabled: Enable/Disable csm-authorization + enabled: $AUTHORIZATION_ENABLED + configVersion: v1.9.0 + components: + - name: karavi-authorization-proxy + image: dellemc/csm-authorization-sidecar:v1.9.0 + envs: + # proxyHost: hostname of the csm-authorization server + - name: "PROXY_HOST" + value: "$AUTHORIZATION_PROXY_HOST" + # skipCertificateValidation: Enable/Disable certificate validation of the csm-authorization server + - name: "SKIP_CERTIFICATE_VALIDATION" + value: "$AUTHORIZATION_SKIP_CERTIFICATE_VALIDATION" + + # Replication: allows configuring replication module + # Replication CRDs must be installed before installing driver + - name: replication + # enabled: Enable/Disable replication feature + # Allowed values: + # true: enable replication feature(install dell-csi-replicator sidecar) + # false: disable replication feature(do not install dell-csi-replicator sidecar) + # Default value: false + enabled: $REPLICATION_ENABLED + configVersion: v1.7.0 + components: + - name: dell-csi-replicator + # image: Image to use for dell-csi-replicator. This shouldn't be changed + # Allowed values: string + # Default value: None + image: dellemc/dell-csi-replicator:v1.7.0 + envs: + # replicationPrefix: prefix to prepend to storage classes parameters + # Allowed values: string + # Default value: replication.storage.dell.com + - name: "X_CSI_REPLICATION_PREFIX" + value: "replication.storage.dell.com" + # replicationContextPrefix: prefix to use for naming of resources created by replication feature + # Allowed values: string + # Default value: powermax + - name: "X_CSI_REPLICATION_CONTEXT_PREFIX" + value: "powermax" + + - name: dell-replication-controller-manager + # image: Defines controller image. This shouldn't be changed + # Allowed values: string + image: dellemc/dell-replication-controller:v1.7.0 + envs: + # TARGET_CLUSTERS_IDS: comma separated list of cluster IDs of the targets clusters. DO NOT include the source(wherever CSM Operator is deployed) cluster ID + # Set the value to "self" in case of stretched/single cluster configuration + # Allowed values: string + - name: "TARGET_CLUSTERS_IDS" + value: "$TARGET_CLUSTER_ID" + # Replication log level + # Allowed values: "error", "warn"/"warning", "info", "debug" + # Default value: "debug" + - name: "REPLICATION_CTRL_LOG_LEVEL" + value: "debug" + # replicas: Defines number of controller replicas + # Allowed values: int + # Default value: 1 + - name: "REPLICATION_CTRL_REPLICAS" + value: "1" + # retryIntervalMin: Initial retry interval of failed reconcile request. + # It doubles with each failure, upto retry-interval-max + # Allowed values: time + - name: "RETRY_INTERVAL_MIN" + value: "1s" + # RETRY_INTERVAL_MAX: Maximum retry interval of failed reconcile request + # Allowed values: time + - name: "RETRY_INTERVAL_MAX" + value: "5m" + + # observability: allows to configure observability + - name: observability + # enabled: Enable/Disable observability + enabled: $OBSERVABILITY_OPERATOR_ENABLED + configVersion: v1.7.0 + components: + - name: topology + # enabled: Enable/Disable topology + enabled: $OBSERVABILITY_OPERATOR_TOPOLOGY + # image: Defines karavi-topology image. This shouldn't be changed + # Allowed values: string + image: dellemc/csm-topology:v1.7.0 + envs: + # topology log level + # Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, PANIC + # Default value: "INFO" + - name: "TOPOLOGY_LOG_LEVEL" + value: "INFO" + + - name: otel-collector + # enabled: Enable/Disable OpenTelemetry Collector + enabled: $OBSERVABILITY_OPERATOR_OTEL + # image: Defines otel-collector image. This shouldn't be changed + # Allowed values: string + image: otel/opentelemetry-collector:0.42.0 + envs: + # image of nginx proxy image + # Allowed values: string + # Default value: "nginxinc/nginx-unprivileged:1.20" + - name: "NGINX_PROXY_IMAGE" + value: "nginxinc/nginx-unprivileged:1.20" + + - name: metrics-powermax + # enabled: Enable/Disable PowerMax metrics + enabled: $OBSERVABILITY_OPERATOR_METRICS + # image: Defines PowerMax metrics image. This shouldn't be changed + image: dellemc/csm-metrics-powermax:v1.2.0 + envs: + # POWERMAX_MAX_CONCURRENT_QUERIES: set the default max concurrent queries to PowerMax + # Allowed values: int + # Default value: 10 + - name: "POWERMAX_MAX_CONCURRENT_QUERIES" + value: "10" + # POWERMAX_CAPACITY_METRICS_ENABLED: enable/disable collection of capacity metrics + # Allowed values: ture, false + # Default value: true + - name: "POWERMAX_CAPACITY_METRICS_ENABLED" + value: "true" + # POWERMAX_PERFORMANCE_METRICS_ENABLED: enable/disable collection of volume performance metrics + # Allowed values: ture, false + # Default value: true + - name: "POWERMAX_PERFORMANCE_METRICS_ENABLED" + value: "true" + # POWERMAX_CAPACITY_POLL_FREQUENCY: set polling frequency to get capacity metrics data + # Allowed values: int + # Default value: 10 + - name: "POWERMAX_CAPACITY_POLL_FREQUENCY" + value: "10" + # POWERMAX_PERFORMANCE_POLL_FREQUENCY: set polling frequency to get volume performance data + # Allowed values: int + # Default value: 10 + - name: "POWERMAX_PERFORMANCE_POLL_FREQUENCY" + value: "10" + # PowerMax metrics log level + # Valid values: TRACE, DEBUG, INFO, WARN, ERROR, FATAL, PANIC + # Default value: "INFO" + - name: "POWERMAX_LOG_LEVEL" + value: "INFO" + # PowerMax Metrics Output logs in the specified format + # Valid values: TEXT, JSON + # Default value: "TEXT" + - name: "POWERMAX_LOG_FORMAT" + value: "TEXT" + # otel collector address + # Allowed values: String + # Default value: "otel-collector:55680" + - name: "COLLECTOR_ADDRESS" + value: "otel-collector:55680" + # configMap name which has all array/endpoint related info + - name: "X_CSI_CONFIG_MAP_NAME" + value: "powermax-reverseproxy-config" diff --git a/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.10.0.template b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.10.0.template new file mode 100644 index 0000000000..81e6bd314d --- /dev/null +++ b/content/docs/deployment/csminstallationwizard/src/templates/operator/csm-powerstore-1.10.0.template @@ -0,0 +1,195 @@ +# +# +# Copyright © 2023 Dell Inc. or its subsidiaries. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# http://www.apache.org/licenses/LICENSE-2.0 +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +apiVersion: storage.dell.com/v1 +kind: ContainerStorageModule +metadata: + name: powerstore + namespace: $NAMESPACE +spec: + driver: + csiDriverType: "powerstore" + csiDriverSpec: + # fsGroupPolicy: Defines if the underlying volume supports changing ownership and permission of the volume before being mounted. + # Allowed values: ReadWriteOnceWithFSType, File , None + # Default value: ReadWriteOnceWithFSType + fSGroupPolicy: "$FSGROUP_POLICY" + # storageCapacity: Helps the scheduler to schedule the pod on a node satisfying the topology constraints, only if the requested capacity is available on the storage array + # Allowed values: + # true: enable storage capacity tracking + # false: disable storage capacity tracking + storageCapacity: $STORAGE_CAPACITY_ENABLED + # Config version for CSI PowerStore v2.10.0 driver + configVersion: v2.10.0 + # authSecret: This is the secret used to validate the default PowerStore secret used for installation + # Allowed values: -config + # For example: If the metadataName is set to powerstore, authSecret value should be set to powerstore-config + authSecret: powerstore-config + # Controller count + replicas: $CONTROLLER_COUNT + dnsPolicy: ClusterFirstWithHostNet + forceUpdate: false + forceRemoveDriver: true + common: + # Image for CSI PowerStore driver v2.10.0 + image: "dellemc/csi-powerstore:v2.10.0" + imagePullPolicy: IfNotPresent + envs: + - name: X_CSI_POWERSTORE_NODE_NAME_PREFIX + value: "csi-node" + - name: X_CSI_FC_PORTS_FILTER_FILE_PATH + value: "/etc/fc-ports-filter" + - name: KUBELET_CONFIG_DIR + value: /var/lib/kubelet + - name: CSI_LOG_LEVEL + value: debug + + sideCars: + - name: provisioner + args: ["--volume-name-prefix=$VOLUME_NAME_PREFIX"] + # health monitor is disabled by default, refer to driver documentation before enabling it + - name: external-health-monitor + enabled: $HEALTH_MONITOR_ENABLED + args: ["--monitor-interval=60s"] + + # Uncomment the following to configure how often external-provisioner polls the driver to detect changed capacity + # Configure only 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: + # X_CSI_NFS_ACLS: enables setting permissions on NFS mount directory + # This value will be the default value if a storage class and array config in secret + # do not contain the NFS ACL (nfsAcls) parameter specified + # Permissions can be specified in two formats: + # 1) Unix mode (NFSv3) + # 2) NFSv4 ACLs (NFSv4) + # NFSv4 ACLs are supported on NFSv4 share only. + # Allowed values: + # 1) Unix mode: valid octal mode number + # Examples: "0777", "777", "0755" + # 2) NFSv4 acls: valid NFSv4 acls, seperated by comma + # Examples: "A::OWNER@:RWX,A::GROUP@:RWX", "A::OWNER@:rxtncy" + # Optional: true + # Default value: "0777" + # nfsAcls: "0777" + - name: X_CSI_NFS_ACLS + value: "0777" + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from Controller plugin - volume condition. + # Install the 'external-health-monitor' sidecar accordingly. + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # Default value: false + - name: X_CSI_HEALTH_MONITOR_ENABLED + value: "$HEALTH_MONITOR_ENABLED" + # X_CSI_POWERSTORE_EXTERNAL_ACCESS: Allows to specify additional entries for hostAccess of NFS volumes. Both single IP address and subnet are valid entries. + # Allowed Values: x.x.x.x/xx or x.x.x.x + # Default Value: + - name: X_CSI_POWERSTORE_EXTERNAL_ACCESS + value: + + # nodeSelector: Define node selection constraints for controller pods. + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector: $CONTROLLER_POD_NODE_SELECTOR + + # tolerations: Define tolerations for the controllers, if required. + # Leave as blank to install controller on worker nodes + # Default value: None + tolerations:$CONTROLLER_TOLERATIONS + + node: + envs: + # Set to "true" to enable ISCSI CHAP Authentication + # CHAP password will be autogenerated by driver + - name: "X_CSI_POWERSTORE_ENABLE_CHAP" + value: "false" + # X_CSI_HEALTH_MONITOR_ENABLED: Enable/Disable health monitor of CSI volumes from node plugin - volume usage + # Allowed values: + # true: enable checking of health condition of CSI volumes + # false: disable checking of health condition of CSI volumes + # Default value: false + - name: X_CSI_HEALTH_MONITOR_ENABLED + value: "$HEALTH_MONITOR_ENABLED" + # X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE: Defines the maximum PowerStore volumes that can be created per node + # Allowed values: Any value greater than or equal to 0 + # Default value: "0" + - name: X_CSI_POWERSTORE_MAX_VOLUMES_PER_NODE + value: "$MAX_VOLUMES_PER_NODE" + + # nodeSelector: Define node selection constraints for node pods. + # For the pod to be eligible to run on a node, the node must have each + # of the indicated key-value pairs as labels. + # Leave as blank to consider all nodes + # Allowed values: map of key-value pairs + # Default value: None + nodeSelector:$NODE_POD_NODE_SELECTOR + + # tolerations: Define tolerations for the controllers, if required. + # Leave as blank to install controller on worker nodes + # Default value: None + tolerations:$NODE_TOLERATIONS + + modules: + - name: resiliency + # enabled: Enable/Disable Resiliency feature + # Allowed values: + # true: enable Resiliency feature(deploy podmon sidecar) + # false: disable Resiliency feature(do not deploy podmon sidecar) + # Default value: false + enabled: $OPERATOR_RESILIENCY_ENABLED + configVersion: v1.8.0 + components: + - name: podmon-controller + image: dellemc/podmon:v1.8.0 + imagePullPolicy: IfNotPresent + args: + - "--labelvalue=$LABEL_VALUE" + - "--arrayConnectivityPollRate=$POLL_RATE" + - "--skipArrayConnectionValidation=$SKIP_ARRAY_CONNECTION_VALIDATION" + - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" + - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + - "--arrayConnectivityConnectionLossThreshold=$ARRAY_THRESHOLD" + # Below 4 args should not be modified. + - "--csisock=unix:/var/run/csi/csi.sock" + - "--mode=controller" + - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" + - "--driverPath=csi-powerstore.dellemc.com" + - name: podmon-node + image: dellemc/podmon:v1.8.0 + imagePullPolicy: IfNotPresent + envs: + # podmonAPIPort: Defines the port to be used within the kubernetes cluster + # Allowed values: Any valid and free port (string) + # Default value: 8083 + - name: "X_CSI_PODMON_API_PORT" + value: "8083" + args: + - "--labelvalue=$LABEL_VALUE" + - "--arrayConnectivityPollRate=$POLL_RATE" + - "--leaderelection=$LEADER_ELECTION" + - "--driverPodLabelValue=$DRIVER_POD_LABEL_VALUE" + - "--ignoreVolumelessPods=$IGNORE_VOLUMELESS_PODS" + # Below 4 args should not be modified. + - "--csisock=unix:/var/lib/kubelet/plugins/csi-powerstore.dellemc.com/csi_sock" + - "--mode=node" + - "--driver-config-params=/powerstore-config-params/driver-config-params.yaml" + - "--driverPath=csi-powerstore.dellemc.com" diff --git a/content/docs/deployment/csmoperator/_index.md b/content/docs/deployment/csmoperator/_index.md index 73d89aee03..1d9239875f 100644 --- a/content/docs/deployment/csmoperator/_index.md +++ b/content/docs/deployment/csmoperator/_index.md @@ -24,18 +24,23 @@ The table below lists the driver and modules versions installable with the CSM O | CSI Driver | Version | CSM Authorization | CSM Replication | CSM Observability | CSM Resiliency | | ------------------ |---------|-------------------|-----------------|-------------------|----------------| +| CSI PowerScale | 2.10.0 | ✔ 1.9.0 | ✔ 1.7.0 | ✔ 1.7.0 | ✔ 1.8.0 | | CSI PowerScale | 2.9.0 | ✔ 1.9.0 | ✔ 1.7.0 | ✔ 1.7.0 | ✔ 1.8.0 | | CSI PowerScale | 2.8.0 | ✔ 1.8.0 | ✔ 1.6.0 | ✔ 1.6.0 | ✔ 1.7.0 | | CSI PowerScale | 2.7.0 | ✔ 1.7.0 | ✔ 1.5.0 | ✔ 1.5.0 | ✔ 1.6.0 | +| CSI PowerFlex | 2.10.0 | ✔ 1.9.0 | ✔ 1.7.0 | ✔ 1.7.0 | ✔ 1.8.0 | | CSI PowerFlex | 2.9.0 | ✔ 1.9.0 | ✔ 1.7.0 | ✔ 1.7.0 | ✔ 1.8.0 | | CSI PowerFlex | 2.8.0 | ✔ 1.8.0 | ✔ 1.6.0 | ✔ 1.6.0 | ✔ 1.7.0 | | CSI PowerFlex | 2.7.0 | ✔ 1.7.0 | ✔ 1.5.0 | ✔ 1.5.0 | ✔ 1.6.0 | +| CSI PowerStore | 2.10.0 | ❌ | ❌ | ❌ | ✔ 1.8.0 | | CSI PowerStore | 2.9.0 | ❌ | ❌ | ❌ | ✔ 1.8.0 | | CSI PowerStore | 2.8.0 | ❌ | ❌ | ❌ | ✔ 1.7.0 | | CSI PowerStore | 2.7.0 | ❌ | ❌ | ❌ | ✔ 1.6.0 | +| CSI PowerMax | 2.10.0 | ✔ 1.9.0 | ✔ 1.7.0 | ✔ 1.7.0 | ❌ | | CSI PowerMax | 2.9.0 | ✔ 1.9.0 | ✔ 1.7.0 | ✔ 1.7.0 | ❌ | | CSI PowerMax | 2.8.0 | ✔ 1.8.0 | ✔ 1.6.0 | ✔ 1.6.0 | ❌ | | CSI PowerMax | 2.7.0 | ✔ 1.7.0 | ✔ 1.5.0 | ❌ | ❌ | +| CSI Unity XT | 2.10.0 | ❌ | ❌ | ❌ | ❌ | | CSI Unity XT | 2.9.0 | ❌ | ❌ | ❌ | ❌ | | CSI Unity XT | 2.8.0 | ❌ | ❌ | ❌ | ❌ | | CSI Unity XT | 2.7.0 | ❌ | ❌ | ❌ | ❌ | @@ -161,13 +166,13 @@ Here is the output of a request to build an offline bundle for the Dell CSM Oper * * Pulling and saving container images - dellemc/csi-isilon:v2.9.0 + dellemc/csi-isilon:v2.10.0 dellemc/csi-metadata-retriever:v1.6.0 - dellemc/csipowermax-reverseproxy:v2.8.0 - dellemc/csi-powermax:v2.9.0 - dellemc/csi-powerstore:v2.9.0 - dellemc/csi-unity:v2.9.0 - dellemc/csi-vxflexos:v2.9.0 + dellemc/csipowermax-reverseproxy:v2.9.0 + dellemc/csi-powermax:v2.10.0 + dellemc/csi-powerstore:v2.10.0 + dellemc/csi-unity:v2.10.0 + dellemc/csi-vxflexos:v2.10.0 dellemc/csm-authorization-sidecar:v1.9.0 dellemc/csm-metrics-powerflex:v1.7.0 dellemc/csm-metrics-powerscale:v1.4.0 @@ -265,8 +270,8 @@ Preparing a offline bundle for installation * * Loading docker images -Loaded image: docker.io/dellemc/csi-powerstore:v2.9.0 -Loaded image: docker.io/dellemc/csi-isilon:v2.9.0 +Loaded image: docker.io/dellemc/csi-powerstore:v2.10.0 +Loaded image: docker.io/dellemc/csi-isilon:v2.10.0 ... ... Loaded image: registry.k8s.io/sig-storage/csi-resizer:v1.9.2 @@ -275,7 +280,7 @@ Loaded image: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 * * Tagging and pushing images - dellemc/csi-isilon:v2.9.0 -> localregistry:5000/dell-csm-operator/csi-isilon:v2.9.0 + dellemc/csi-isilon:v2.10.0 -> localregistry:5000/dell-csm-operator/csi-isilon:v2.10.0 dellemc/csi-metadata-retriever:v1.6.0 -> localregistry:5000/dell-csm-operator/csi-metadata-retriever:v1.6.0 ... ... @@ -285,7 +290,7 @@ Loaded image: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.2 * * Preparing files within /root/dell-csm-operator-bundle - changing: dellemc/csi-isilon:v2.9.0 -> localregistry:5000/dell-csm-operator/csi-isilon:v2.9.0 + changing: dellemc/csi-isilon:v2.10.0 -> localregistry:5000/dell-csm-operator/csi-isilon:v2.10.0 changing: dellemc/csi-metadata-retriever:v1.6.0 -> localregistry:5000/dell-csm-operator/csi-metadata-retriever:v1.6.0 ... ... @@ -376,7 +381,7 @@ The following notes explain some of the general items to take care of. 1. If you are trying to upgrade the CSI driver from an older version, make sure to modify the _configVersion_ field. ```yaml driver: - configVersion: v2.9.0 + configVersion: v2.10.0 ``` ## Custom Resource Definitions diff --git a/content/docs/deployment/csmoperator/drivers/_index.md b/content/docs/deployment/csmoperator/drivers/_index.md index 9dadf6f858..7ad4986f00 100644 --- a/content/docs/deployment/csmoperator/drivers/_index.md +++ b/content/docs/deployment/csmoperator/drivers/_index.md @@ -58,7 +58,7 @@ The CSI Drivers and CSM Modules installed by the Dell CSM Operator can be update 1. If you are trying to upgrade the CSI driver from an older version, make sure to modify the _configVersion_ field if required. ```yaml driver: - configVersion: v2.9.0 + configVersion: v2.10.0 ``` 2. Do not try to update the operator by modifying the original `CustomResource` manifest file and running the `kubectl apply -f` command. As part of the driver installation, the Operator sets some annotations on the `CustomResource` object which are further utilized in some workflows (like detecting upgrade of drivers). If you run the `kubectl apply -f` command to update the driver, these annotations are overwritten and this may lead to failures.