Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated CSI-PowerScale Release notes and documentation #821

Merged
merged 2 commits into from
Sep 4, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions content/docs/csidriver/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes-
## Features and capabilities

### Supported Operating Systems/Container Orchestrator Platforms

{{<table "table table-striped table-bordered table-sm">}}
| | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore |
|---------------|:----------------:|:-------------------:|:----------------:|:-----------------:|:----------------:|
Expand All @@ -23,9 +24,9 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes-
| SLES | 15SP4 | 15SP4 | 15SP4 | 15SP4 | 15SP4 |
| 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 |
| 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.1 | 1.4.5 |
| 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 |
{{</table>}}
Expand Down
2 changes: 1 addition & 1 deletion content/docs/csidriver/features/powerscale.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ You can use existing volumes from the PowerScale array as Persistent Volumes in

1. Open your volume in One FS, and take a note of volume-id.
2. Create PersistentVolume and use this volume-id as a volumeHandle in the manifest. Modify other parameters according to your needs.
3. In the following example, the PowerScale cluster accessZone is assumed as 'System', storage class as 'isilon', cluster name as 'pscale-cluster' and volume's internal name as 'isilonvol'. The volume-handle should be in the format of <volume_name>=_=_=<export_id>=_=_=<access_zone_name>=_=_=<cluster_name>
3. In the following example, the PowerScale cluster accessZone is assumed as 'System', storage class as 'isilon', cluster name as 'pscale-cluster' and volume's internal name as 'isilonvol'. The volume-handle should be in the format of `<volume_name>=_=_=<export_id>=_=_=<access_zone_name>=_=_=<cluster_name>`
4. If Quotas are enabled in the driver, it is required to add the Quota ID to the description of the NFS export in this format:
`CSI_QUOTA_ID:sC-kAAEAAAAAAAAAAAAAQEpVAAAAAAAA`
5. Quota ID can be identified by querying the PowerScale system.
Expand Down
50 changes: 21 additions & 29 deletions content/docs/csidriver/installation/helm/isilon.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ To enable this feature, add the below block to the driver manifest before instal
health monitor sidecar. To get the volume health state value under controller should be set to true as seen below. To get the
volume stats value under node should be set to true.


```yaml
controller:
healthMonitor:
Expand All @@ -85,10 +84,10 @@ node:

*NOTE*: To enable this feature to existing driver OR enable this feature while upgrading the driver versions,
follow either of the way.

1. Reinstall of Driver
2. Upgrade the driver smoothly with "--upgrade" option


### (Optional) Replication feature Requirements

Applicable only if you decided to enable the Replication feature in `values.yaml`
Expand All @@ -111,14 +110,14 @@ CRDs should be configured during replication prepare stage with repctl as descri
1. Run `git clone -b v2.8.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 -b csi-isilon-2.8.0 https://raw.githubusercontent.com/dell/helm-charts/main/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.8.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/main/charts/csi-isilon/values.yaml) file in this repository.
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.

| Parameter | Description | Required | Default |
| --------- | ----------- | -------- |-------- |
| driverRepository | Set to give the repository containing the driver image (used as part of the image name). | Yes | dellemc |
| driverRepository | Set to give the repository containing the driver image (used as part of the image name). | Yes | dellemc |
| logLevel | CSI driver log level | No | "debug" |
| certSecretCount | Defines the number of certificate secrets, which the user is going to create for SSL authentication. (isilon-cert-0..isilon-cert-(n-1)); Minimum value should be 1.| Yes | 1 |
| [allowedNetworks](../../../features/powerscale/#support-custom-networks-for-nfs-io-traffic) | Defines the list of networks that can be used for NFS I/O traffic, CIDR format must be used. | No | [ ] |
Expand Down Expand Up @@ -171,17 +170,16 @@ CRDs should be configured during replication prepare stage with repctl as descri
| **encryption** | [Encryption](../../../../secure/encryption/deployment) is an optional feature to apply encryption to CSI volumes. | - | - |
| enabled | A boolean that enables/disables Encryption feature. | No | false |
| image | Encryption driver image name. | No | "dellemc/csm-encryption:v0.3.0" |

*NOTE:*

- ControllerCount parameter value must not exceed the number of nodes in the Kubernetes cluster. Otherwise, some of the controller pods remain in a "Pending" state till new nodes are available for scheduling. The installer exits with a WARNING on the same.
- Whenever the *certSecretCount* parameter changes in *my-isilon-setting.yaml* user needs to reinstall the driver.
- In order to enable authorization, there should be an authorization proxy server already installed.
- If you are using a custom image, check the *version* and *driverRepository* fields in *my-isilon-setting.yaml* to make sure that they are pointing to the correct image repository and driver version. These two fields are spliced together to form the image name, as shown here: <driverRepository>/csi-isilon:v<version>


- If you are using a custom image, check the *version* and *driverRepository* fields in *my-isilon-setting.yaml* to make sure that they are pointing to the correct image repository and driver version. These two fields are spliced together to form the image name, as shown here: <driverRepository>/csi-isilon:<version>

6. Edit following parameters in samples/secret/secret.yaml file and update/add connection/authentication information for one or more PowerScale clusters.

| Parameter | Description | Required | Default |
| --------- | ----------- | -------- |-------- |
| clusterName | Logical name of PoweScale cluster against which volume CRUD operations are performed through this secret. | Yes | - |
Expand Down Expand Up @@ -213,31 +211,24 @@ CRDs should be configured during replication prepare stage with repctl as descri

Create isilon-creds secret using the following command:
<br/> `kubectl create secret generic isilon-creds -n isilon --from-file=config=secret.yaml`

*NOTE:*
- If any key/value is present in all *my-isilon-settings.yaml*, *secret*, and storageClass, then the values provided in storageClass parameters take precedence.
- The user has to validate the yaml syntax and array-related key/values while replacing or appending the isilon-creds secret. The driver will continue to use previous values in case of an error found in the yaml file.
- For the key isiIP/endpoint, the user can give either IP address or FQDN. Also, the user can prefix 'https' (For example, https://192.168.1.1) with the value.
- The *isilon-creds* secret has a *mountEndpoint* parameter which should only be updated and used when [Authorization](../../../../authorization) is enabled.

7. Install OneFS CA certificates by following the instructions from the next section, if you want to validate OneFS API server's certificates. If not, create an empty secret using the following command and an empty secret must be created for the successful installation of CSI Driver for Dell PowerScale.
```bash
kubectl create -f empty-secret.yaml
```
This command will create a new secret called `isilon-certs-0` in isilon namespace.
8. Install the driver using `csi-install.sh` bash script by running

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 -b csi-isilon-2.8.0 https://raw.githubusercontent.com/dell/helm-charts/main/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.8.0/charts/csi-isilon/values.yaml &&
./csi-install.sh --namespace isilon --values my-isilon-settings.yaml
```
OR
To install particular version
```bash
cd dell-csi-helm-installer && wget -O my-isilon-settings.yaml -b <version> https://raw.githubusercontent.com/dell/helm-charts/main/charts/csi-isilon/values.yaml &&
./csi-install.sh --namespace isilon --values my-isilon-settings.yaml --helm-charts-version <version>
```
(assuming that the current working directory is 'helm' and my-isilon-settings.yaml is also present under 'helm' directory)
```

## Certificate validation for OneFS REST API calls

Expand Down Expand Up @@ -283,7 +274,7 @@ kubectl create secret generic isilon-creds -n isilon --from-file=config=secret.y

## Storage Classes

The CSI driver for Dell PowerScale version 1.5 and later, `dell-csi-helm-installer` does not create any storage classes as part of the driver installation. A sample storage class manifest is available at `samples/storageclass/isilon.yaml`. Use this sample manifest to create a storageclass to provision storage; uncomment/ update the manifest as per the requirements.
The CSI driver for Dell PowerScale version 1.5 and later, `dell-csi-helm-installer` does not create any storage classes as part of the driver installation. A sample storage class manifest is available at `samples/storageclass/isilon.yaml`. Use this sample manifest to create a storageclass to provision storage; uncomment/ update the manifest as per the requirements.

### What happens to my existing storage classes?

Expand All @@ -306,9 +297,9 @@ Deleting a storage class has no impact on a running Pod with mounted PVCs. You c

**Steps to create secondary storage class:**

There are samples storage class yaml files available under `samples/storageclass`. These can be copied and modified as needed.
There are samples storage class yaml files available under `samples/storageclass`. These can be copied and modified as needed.

1. Copy the `storageclass.yaml` to `second_storageclass.yaml` ( This is just an example, you can rename to file you require. )
1. Copy the `storageclass.yaml` to `second_storageclass.yaml` (This is just an example, you can rename to file you require.)
2. Edit the `second_storageclass.yaml` yaml file and update following parameters:
- Update the `name` parameter to you require
```yaml
Expand All @@ -322,14 +313,14 @@ There are samples storage class yaml files available under `samples/storageclass
password: "Password"
endpoint: "10.X.X.X"
endpointPort: "8080
```
```
- Use same clusterName &#8593; in the `second_storageclass.yaml`
```yaml
# Optional: true
ClusterName: "cluster2"
```
- *Note*: These are two essential parameters that you need to change in the "second_storageclass.yaml" file and other parameters that you change as required.
3. Save the `second_storageclass.yaml` file
- *Note*: These are two essential parameters that you need to change in the "second_storageclass.yaml" file and other parameters that you change as required.
3. Save the `second_storageclass.yaml` file
4. Create your 2nd storage class by using `kubectl`:
```bash
kubectl create -f <path_to_second_storageclass_file>
Expand Down Expand Up @@ -366,6 +357,7 @@ Mount Re-tries handles below scenarios:
- No such file or directory (NFSv4)

*Sample*:

```
level=error clusterName=powerscale runid=10 msg="mount failed: exit status 32
mounting arguments: -t nfs -o rw XX.XX.XX.XX:/ifs/data/csi/k8s-ac7b91962d /var/lib/kubelet/pods/9f72096a-a7dc-4517-906c-20697f9d7375/volumes/kubernetes.io~csi/k8s-ac7b91962d/mount
Expand Down
11 changes: 5 additions & 6 deletions content/docs/csidriver/release/powerscale.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ description: Release notes for PowerScale CSI driver
---


## Release Notes - CSI Driver for PowerScale v2.7.0

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

### New Features/Changes

- [#724 - [FEATURE]: CSM support for Openshift 4.13](https://github.com/dell/csm/issues/724)
- [#877 - [FEATURE]: Make standalone helm chart available from helm repository : https://dell.github.io/dell/helm-charts](https://github.com/dell/csm/issues/877)
- [#922 - [FEATURE]: Use ubi9 micro as base image](https://github.com/dell/csm/issues/922)
- [#926 - [FEATURE]: Set up golangci-lint for all CSM repositories](https://github.com/dell/csm/issues/926)
- [#947 - [FEATURE]: K8S 1.28 support in CSM 1.8](https://github.com/dell/csm/issues/947)
- [#888 - [FEATURE]: Enhance GoPowerScale to support PowerScale Terraform Provider](https://github.com/dell/csm/issues/888)
- [#950 - [FEATURE]: PowerScale 9.5.0.4 support](https://github.com/dell/csm/issues/950)
- [#967 - [FEATURE]: SLES15 SP4 support in csi powerscale](https://github.com/dell/csm/issues/967)

### Fixed Issues

- [#487 - [BUG]: Powerscale CSI driver RO PVC-from-snapshot wrong zone](https://github.com/dell/csm/issues/487)
- [#916 - [BUG]: Remove refs to deprecated io/ioutil](https://github.com/dell/csm/issues/916)

### Known Issues

| Issue | Resolution or workaround, if known |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 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. |
Expand All @@ -32,7 +32,6 @@ description: Release notes for PowerScale CSI driver
| PowerScale 9.5.0, Driver installation fails with session based auth, "HTTP/1.1 401 Unauthorized" | Fix is available in PowerScale >= 9.5.0.4 |
| 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. |


### Note:
### Note

- Support for Kubernetes alpha features like Volume Health Monitoring and RWOP (ReadWriteOncePod) access mode will not be available in Openshift environment as Openshift doesn't support enabling of alpha features for Production Grade clusters.
27 changes: 14 additions & 13 deletions content/docs/csidriver/upgradation/drivers/isilon.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,28 +10,29 @@ You can upgrade the CSI Driver for Dell PowerScale using Helm or Dell CSI Operat

## Upgrade Driver from version 2.7.0 to 2.8.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**
### Steps

1. Clone the repository using `git clone -b v2.8.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. Upgrade the CSI Driver for Dell PowerScale using following command:
3. Download the default values.yaml using following command:

```bash
wget -O my-isilon-settings.yaml -b csi-isilon-2.8.0 https://raw.githubusercontent.com/dell/helm-charts/main/charts/csi-isilon/values.yaml

wget -O my-isilon-settings.yaml https://raw.githubusercontent.com/dell/helm-charts/csi-isilon-2.8.0/charts/csi-isilon/values.yaml
```

Edit the _my-isilon-settings.yaml_ as per the requirements.
4. Upgrade the CSI Driver for Dell PowerScale using following command:

```bash
./csi-install.sh --namespace isilon --values ./my-isilon-settings.yaml --upgrade
```
OR

To upgrade particular version
```bash
./csi-install.sh --namespace isilon --values ./my-isilon-settings.yaml --helm-charts-version <version> --upgrade
```
./csi-install.sh --namespace isilon --values ./my-isilon-settings.yaml --upgrade
```

## Upgrade using Dell CSM Operator

**Note:** Upgrading the Operator does not upgrade the CSI Driver.

1. Please upgrade the Dell CSM Operator by following [here](../../../../deployment/csmoperator/#upgrade)
2. Once the operator is upgraded, to upgrade the driver, refer [here](../../../../deployment/csmoperator/#upgrade-driver-using-dell-csm-operator)