Skip to content

Commit

Permalink
CSI 1.6 for CSI PowerScale and CSI Unity (#861)
Browse files Browse the repository at this point in the history
* docs to CSI 1.6 for powerscale and unity

* change csi unity/powerscale version to 2.9.0

* fix typos

* fix openshift version
  • Loading branch information
mdutka-dell authored Nov 9, 2023
1 parent 7b27d6f commit d9a076e
Show file tree
Hide file tree
Showing 10 changed files with 32 additions and 21 deletions.
2 changes: 1 addition & 1 deletion content/docs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ CSM is made up of multiple components including modules (enterprise capabilities

## CSM Modules Support Matrix for Dell CSI Drivers

| CSM Module | CSI PowerFlex v2.8.0 | CSI PowerScale v2.8.0 | CSI PowerStore v2.8.0 | CSI PowerMax v2.8.0 | CSI Unity XT v2.8.0 |
| CSM Module | CSI PowerFlex v2.8.0 | CSI PowerScale v2.9.0 | CSI PowerStore v2.8.0 | CSI PowerMax v2.8.0 | CSI Unity XT v2.9.0 |
| ----------------------------------------------------------- | -------------------- | --------------------- | --------------------- | ------------------- | ------------------- |
| [**Authorization**](authorization/) v1.8.0 | ✔️ | ✔️ || ✔️ ||
| [**Observability**](observability/) v1.6.0 | ✔️ | ✔️ | ✔️ | ✔️ ||
Expand Down
6 changes: 3 additions & 3 deletions content/docs/csidriver/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes-
{{<table "table table-striped table-bordered table-sm">}}
| | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore |
|---------------|:----------------:|:-------------------:|:----------------:|:-----------------:|:----------------:|
| Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 |
| Kubernetes | 1.25, 1.26, 1.27 | 1.25, 1.26, 1.27 | 1.26, 1.27, 1.28 | 1.26, 1.27, 1.28 | 1.25, 1.26, 1.27 |
| Red Hat OpenShift | 4.12, 4.12 EUS, 4.13 | 4.12, 4.12 EUS, 4.13 | 4.12, 4.12 EUS, 4.13 | 4.12, 4.12 EUS, 4.13 | 4.12, 4.13, 4.13 EUS |
| Mirantis Kubernetes Engine | 3.6.x | 3.6.x | 3.6.x | 3.5.x, 3.6.x | 3.6.x |
| Google Anthos | 1.15 | 1.15 | no | 1.15 | 1.15 |
| VMware Tanzu | no | no | NFS | NFS | NFS,iSCSI |
| Rancher Kubernetes Engine | 1.4.1| 1.4.7 | 1.4.8 | 1.4.7 | 1.4.5 |
| Amazon Elastic Kubernetes Service<br> Anywhere | yes | yes | yes | yes | yes |
| Kubernetes K3s Engine on Debian OS | no | no | 1.26, 1.27 | no | no |
| Kubernetes K3s Engine on Debian OS | no | no | 1.26, 1.27, 1.28 | no | no |
| OS dependencies | iscsi-initiator-utils<br>multipathd or powerpath<br>nvme-cli<br>nfs-utils | - | iscsi-initiator-utils<br>multipathd<br>nfs-utils | nfs-utils | iscsi-initiator-utils<br>multipathd<br>nvme-cli<br>nfs-utils |
{{</table>}}

Expand All @@ -36,7 +36,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes-
{{<table "table table-striped table-bordered table-sm">}}
| Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore |
|--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:|
| CSI Driver version | 2.8.0 | 2.8.0 | 2.8.0 | 2.8.0 | 2.8.0 |
| CSI Driver version | 2.8.0 | 2.8.0 | 2.9.0 | 2.9.0 | 2.8.0 |
| Static Provisioning | yes | yes | yes | yes | yes |
| Dynamic Provisioning | yes | yes | yes | yes | yes |
| Expand Persistent Volume | yes | yes | yes | yes | yes |
Expand Down
11 changes: 11 additions & 0 deletions content/docs/csidriver/features/powerscale.md
Original file line number Diff line number Diff line change
Expand Up @@ -447,6 +447,17 @@ The user can also set the volume limit for all the nodes in the cluster by speci

>**NOTE:** <br>The default value of `maxIsilonVolumesPerNode` is 0. <br>If `maxIsilonVolumesPerNode` is set to zero, then CO shall decide how many volumes of this type can be published by the controller to the node.<br><br>The volume limit specified to `maxIsilonVolumesPerNode` attribute is applicable to all the nodes in the cluster for which node label `max-isilon-volumes-per-node` is not set.

## Storage Capacity Tracking

CSI for PowerScale driver version 2.8.0 and above supports Storage Capacity Tracking.

This feature helps the scheduler to make more informed choices about where to schedule pods which depends on unbound volumes with late binding (aka "wait for first consumer"). Pods will be scheduled on a node (satisfying the topology constraints) only if the requested capacity is available on the storage array.
If such a node is not available, the pods stay in Pending state. This means pods are not scheduled.

Without storage capacity tracking, pods get scheduled on a node satisfying the topology constraints. If the required capacity is not available, volume attachment to the pods fails, and pods remain in ContainerCreating state. Storage capacity tracking eliminates unnecessary scheduling of pods when there is insufficient capacity.

The attribute `storageCapacity.enabled` in `values.yaml` can be used to enable/disable the feature during driver installation using helm. This is by default set to true. To configure how often driver checks for changed capacity set `storageCapacity.pollInterval` attribute. In case of driver installed via operator, this interval can be configured in the sample file provided [here.](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_powerscale_v280.yaml) by editing the `--capacity-poll-interval` argument present in the provisioner sidecar.

## Node selector in helm template

Now user can define in which worker node, the CSI node pod daemonset can run (just like any other pod in Kubernetes world).For more information, refer to <https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector>
Expand Down
2 changes: 1 addition & 1 deletion content/docs/csidriver/features/unity.md
Original file line number Diff line number Diff line change
Expand Up @@ -498,7 +498,7 @@ CSI for Unity XT driver version 2.8.0 and above supports Storage Capacity Tracki
This feature helps the scheduler to make more informed choices about where to schedule pods which depends on unbound volumes with late binding (aka "wait for first consumer"). Pods will be scheduled on a node (satisfying the topology constraints) only if the requested capacity is available on the storage array.
If such a node is not available, the pods stay in Pending state. This means pods are not scheduled.

Without storage capacity tracking, pods get scheduled on a node satisfying the topology constraints. If the required capacity is not available, volume attachment to the pods fails, and pods remain in ContainerCreating state. Storage capacity tracking eliminates unnecessary scheduling of pods when there is insufficient capacity.
Without storage capacity tracking, pods get scheduled on a node satisfying the topology constraints. If the required capacity is not available, volume attachment to the pods fails, and pods remain in ContainerCreating state. Storage capacity tracking eliminates unnecessary scheduling of pods when there is insufficient capacity. Moreover, storage capacity tracking returns `MaximumVolumeSize` parameter, which may be used as an input to the volume creation.

The attribute `storageCapacity.enabled` in `values.yaml` can be used to enable/disable the feature during driver installation using helm. This is by default set to true. To configure how often driver checks for changed capacity set `storageCapacity.pollInterval` attribute. In case of driver installed via operator, this interval can be configured in the sample file provided [here.](https://github.com/dell/csm-operator/blob/main/samples/storage_csm_unity_v280.yaml) by editing the `--capacity-poll-interval` argument present in the provisioner sidecar.

Expand Down
8 changes: 4 additions & 4 deletions content/docs/csidriver/installation/helm/isilon.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,13 +107,13 @@ CRDs should be configured during replication prepare stage with repctl as descri

**Steps**

1. Run `git clone -b v2.8.0 https://github.com/dell/csi-powerscale.git` to clone the git repository.
1. Run `git clone -b v2.9.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.8.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.9.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.8.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.9.0/charts/csi-isilon/values.yaml) file in this repository.

| Parameter | Description | Required | Default |
| --------- | ----------- | -------- |-------- |
Expand Down Expand Up @@ -226,7 +226,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.8.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.9.0/charts/csi-isilon/values.yaml &&
./csi-install.sh --namespace isilon --values my-isilon-settings.yaml
```

Expand Down
8 changes: 4 additions & 4 deletions content/docs/csidriver/installation/helm/unity.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,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.8.0 https://github.com/dell/csi-unity.git
git clone -b v2.9.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.
Expand All @@ -112,12 +112,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.8.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.9.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.8.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.9.0/charts/csi-unity/values.yaml) file in this repository.

| Parameter | Description | Required | Default |
| --------- | ----------- | -------- |-------- |
Expand Down Expand Up @@ -341,7 +341,7 @@ cd dell-csi-helm-installer && wget -O my-unity-settings.yaml https://github.com/
**Syntax**:
```bash
git clone -b csi-unity-2.8.0 https://github.com/dell/helm-charts
git clone -b csi-unity-2.9.0 https://github.com/dell/helm-charts
helm install <release-name> dell/container-storage-modules -n <namespace> --version <container-storage-module chart-version> -f <values.yaml location>
Expand Down
3 changes: 2 additions & 1 deletion content/docs/csidriver/release/powerscale.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description: Release notes for PowerScale CSI driver
---


## Release Notes - CSI Driver for PowerScale v2.8.0
## Release Notes - CSI Driver for PowerScale v2.9.0



Expand All @@ -25,6 +25,7 @@ description: Release notes for PowerScale CSI driver

| Issue | Resolution or workaround, if known |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Storage capacity tracking does not return `MaximumVolumeSize` parameter. PowerScale is purely NFS based meaning it has no actual volumes. Therefore `MaximumVolumeSize` cannot be implemented if there is no volume creation. | CSI PowerScale 2.9.0 is compliant with CSI 1.6 specification since the field `MaximumVolumeSize` is optional. |
| If the length of the nodeID exceeds 128 characters, the driver fails to update the CSINode object and installation fails. This is due to a limitation set by CSI spec which doesn't allow nodeID to be greater than 128 characters. | The CSI PowerScale driver uses the hostname for building the nodeID which is set in the CSINode resource object, hence we recommend not having very long hostnames in order to avoid this issue. This current limitation of 128 characters is likely to be relaxed in future Kubernetes versions as per this issue in the community: https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/issues/581 <br><br> **Note:** In kubernetes 1.22 this limit has been relaxed to 192 characters. |
| If some older NFS exports /terminated worker nodes still in NFS export client list, CSI driver tries to add a new worker node it fails (For RWX volume). | User need to manually clean the export client list from old entries to make successful addition of new worker nodes. |
| Delete namespace that has PVCs and pods created with the driver. The External health monitor sidecar crashes as a result of this operation. | Deleting the namespace deletes the PVCs first and then removes the pods in the namespace. This brings a condition where pods exist without their PVCs and causes the external-health-monitor sidecar to crash. This is a known issue and has been reported at https://github.com/kubernetes-csi/external-health-monitor/issues/100 |
Expand Down
3 changes: 1 addition & 2 deletions content/docs/csidriver/release/unity.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ title: Unity XT
description: Release notes for Unity XT CSI driver
---

## Release Notes - CSI Unity XT v2.8.0

## Release Notes - CSI Unity XT v2.9.0



Expand Down
6 changes: 3 additions & 3 deletions content/docs/csidriver/upgradation/drivers/isilon.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,19 @@ Description: Upgrade PowerScale CSI driver
---
You can upgrade the CSI Driver for Dell PowerScale using Helm or Dell CSI Operator.

## Upgrade Driver from version 2.7.0 to 2.8.0 using Helm
## Upgrade Driver from version 2.8.0 to 2.9.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.8.0 https://github.com/dell/csi-powerscale.git`
1. Clone the repository using `git clone -b v2.9.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.8.0/charts/csi-isilon/values.yaml
wget -O my-isilon-settings.yaml https://raw.githubusercontent.com/dell/helm-charts/csi-isilon-2.9.0/charts/csi-isilon/values.yaml
```

Edit the _my-isilon-settings.yaml_ as per the requirements.
Expand Down
4 changes: 2 additions & 2 deletions content/docs/csidriver/upgradation/drivers/unity.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ You can upgrade the CSI Driver for Dell Unity XT using Helm or Dell CSI Operator

Preparing myvalues.yaml is the same as explained in the install section.

To upgrade the driver from csi-unity v2.7.0 to csi-unity v2.8.0
To upgrade the driver from csi-unity v2.8.0 to csi-unity v2.9.0

1. Get the latest csi-unity v2.8.0 code from Github using `git clone -b v2.8.0 https://github.com/dell/csi-unity.git`.
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`.
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
Expand Down

0 comments on commit d9a076e

Please sign in to comment.