Skip to content

Commit

Permalink
Merge branch 'main' into installation-wizard/quay-update
Browse files Browse the repository at this point in the history
  • Loading branch information
suryagupta4 authored Oct 29, 2024
2 parents 8c27eaa + e15ee9f commit 89dcf68
Show file tree
Hide file tree
Showing 65 changed files with 360 additions and 112 deletions.
8 changes: 6 additions & 2 deletions content/docs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,15 @@ no_list: true
---

{{% pageinfo color="primary" %}}
Dell CSM Volume Group Snapshotter will be deprecated in CSM 1.14 (May 2025) and will no longer be supported.
1. The CSM Authorization RPM will be deprecated in a future release. It is highly recommended that you use CSM Authorization Helm deployment or CSM Operator going forward.

The CSM Authorization RPM will be deprecated in a future release. It is highly recommended that you use CSM Authorization Helm deployment or CSM Operator going forward.
2. Dell CSM Volume Group Snapshotter will be deprecated in CSM 1.14 (May 2025) and will no longer be supported.

3. <span><span/>{{< message text="1" >}}
{{% /pageinfo %}}



The Dell Technologies (Dell) Container Storage Modules (CSM) enables simple and consistent integration and automation experiences, extending enterprise storage capabilities to Kubernetes for cloud-native stateful applications. It reduces management complexity so developers can independently consume enterprise storage with ease and automate daily operations such as provisioning, snapshotting, replication, observability, authorization, application mobility and resiliency.

<img src="csm_hexagon.png" alt="CSM Hex Diagram" width="500"/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ weight: 1
description: >
CSM for Authorization v1 to v2 Migration Guide
---

CSM for Authorization v2 has significant architectural changes that prevent a user from upgradng CSM for Authorization v1 to CSM for Authorization v2. This page provides a reference guide for migrating v1 to v2 using Powerflex as an example.

**Before migration please note following points**
Expand Down
4 changes: 3 additions & 1 deletion content/docs/authorization/v2.x/configuration/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linktitle: Configuration
weight: 2
description: Configure CSM Authorization Proxy Server
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
This section provides the details and instructions on how to configure CSM Authorization.

## Configuring the CSM for Authorization Proxy Server
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linktitle: PowerFlex
description: >
Enabling CSM Authorization for PowerFlex CSI Driver
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
## Configuring PowerFlex CSI Driver with CSM for Authorization

Given a setup where Kubernetes, a storage system, and the CSM for Authorization Proxy Server are deployed, follow these steps to configure the CSI Drivers to work with the Authorization sidecar:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linktitle: PowerMax
description: >
Enabling CSM Authorization for PowerMax CSI Driver
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
## Configuring PowerMax CSI Driver with CSM for Authorization

Given a setup where Kubernetes, a storage system, and the CSM for Authorization Proxy Server are deployed, follow these steps to configure the CSI Drivers to work with the Authorization sidecar:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linktitle: PowerScale
description: >
Enabling CSM Authorization for PowerScale CSI Driver
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
## Configuring PowerScale CSI Driver with CSM for Authorization

Given a setup where Kubernetes, a storage system, and the CSM for Authorization Proxy Server are deployed, follow these steps to configure the CSI Drivers to work with the Authorization sidecar:
Expand Down
2 changes: 2 additions & 0 deletions content/docs/cosidriver/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,8 @@ Dell COSI Driver is a multi-backend driver, meaning that it can connect to multi
| ObjectScale | 1.2.x |
{{</table>}}

> **NOTE:** Object Scale 1.2.x is planned for End of Standard Support on January 31st 2025. Please refer <a href="https://www.dell.com/support/kbdoc/en-uk/000185734/all-dell-emc-end-of-life-documents?lang=en">Dell Support documentation</a> for more information. We plan to support COSI driver when a new version of ObjectScale is available.
## Bucket Lifecycle Workflow

1. Create Bucket &rarr; Delete Bucket
Expand Down
11 changes: 7 additions & 4 deletions content/docs/csidriver/features/powerstore.md
Original file line number Diff line number Diff line change
Expand Up @@ -538,16 +538,19 @@ After that, you can use `powerstore-1` storage class to create volumes on the fi

## Dynamic secret change detection

CSI PowerStore driver version 1.3.0 and later supports the ability to detect changes to array configuration Kubernetes secret. This essentially means that you can change credentials for your PowerStore arrays in-flight (without restarting the driver).
CSI PowerStore supports the ability to dynamically modify array information within the secret, allowing users to update
<u>_credentials_</u> for the PowerStore arrays, in-flight, without restarting the driver.
> Note: Updates to the secret that include adding a new array, or modifying the endpoint, globalID, or blockProtocol parameters
> require the driver to be restarted to properly pick up and process the changes.

To do so just change your configuration file `config.yaml` and apply it again using the following command:
To do so, change the configuration file `config.yaml` and apply the update using the following command:
```bash
sed "s/CONFIG_YAML/`cat config.yaml | base64 -w0`/g" secret.yaml | kubectl apply -f -
```

After Kubernetes remounts secret to driver containers (this usually takes around one minute), a driver must detect the change and start using this new configuration information.

After Kubernetes remounts the secret to the driver containers (this usually takes around one minute), the driver will detect the change and start using
the new configuration information.

## Configuring custom access to NFS exports

Expand Down
3 changes: 3 additions & 0 deletions content/docs/deployment/csminstallationwizard/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ linkTitle: "CSM Installation Wizard"
description: Container Storage Modules Installation Wizard
weight: 1
---
{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}

The [Dell Container Storage Modules Installation Wizard](./src/index.html) is a webpage that generates a manifest file for installing Dell CSI Drivers and its supported CSM Modules, based on input from the user. It generates a single manifest file to install both Dell CSI Drivers and its supported CSM Modules, thereby eliminating the need to download individual Helm charts for drivers and modules. The user can enable or disable the necessary modules through the UI, and a manifest file is generated accordingly without manually editing the helm charts.

Expand Down
60 changes: 30 additions & 30 deletions content/docs/deployment/csmoperator/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linkTitle: "CSM Operator"
description: Container Storage Modules Operator
weight: 2
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
The Dell Container Storage Modules Operator is a Kubernetes Operator, which can be used to install and manage the CSI Drivers and CSM Modules provided by Dell for various storage platforms. This operator is available as a community operator for upstream Kubernetes and can be deployed using OperatorHub.io. The operator can be installed using OLM (Operator Lifecycle Manager) or manually.

## Supported CSM Components
Expand Down Expand Up @@ -359,36 +361,34 @@ git clone -b v1.7.0 https://github.com/dell/csm-operator.git

>NOTE: Dell CSM Operator would install to the 'dell-csm-operator' namespace by default.
### Upgrade driver using Dell CSM Operator:
### Upgrading Drivers with Dell CSM Operator
You can update CSI Drivers installed by the Dell CSM Operator like any Kubernetes resource:

The CSI Drivers installed by the Dell CSM Operator can be updated like any Kubernetes resource.
* Modifying the installation directly via `kubectl edit`
```
$ kubectl get <driver-object> -n <driver-namespace>
```
For example - If the CSI PowerStore driver is installed then run this command to get the object name
```
# Replace driver-namespace with the namespace where the CSI PowerStore driver is installed
$ kubectl get csm -n <driver-namespace>
```
use the object name in `kubectl edit` command.
```
$ kubectl edit csm <driver-object>/<object-name> -n <driver-namespace>
```
For example - If the object name is powerstore then use the name as powerstore
```
# Replace object-name with the powerstore
$ kubectl edit csm powerstore -n <driver-namespace>
```
and modify the installation. The usual fields to edit are the version of drivers, sidecars and the environment variables.
The following notes explain some of the general items to take care of.

>NOTE:
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.12.0
```
1. </b>Modify Installation via kubectl edit:</b></br>

```bash
kubectl get <driver-object> -n <driver-namespace>
```
2. Replace `<driver-namespace>` with the appropriate namespace. For example, to get the CSI PowerStore driver object: </br>
```bash
kubectl get csm -n <driver-namespace>
```
Use the object name in the kubectl edit command: </br>

```bash
kubectl edit csm <driver-object>/<object-name> -n <driver-namespace>
```
For example, if the object name is powerstore:</br>

```bash
kubectl edit csm powerstore -n <driver-namespace>
```

Modify the installation as needed, typically updating driver versions, sidecars, and environment variables.

3. Refer how to [upgrade](https://infohub.delltechnologies.com/en-us/p/best-practices-for-deployment-and-life-cycle-management-of-dell-csm-modules-1/#:~:text=Upgrades%20with%20Operator) guide if you have more questions </br>

> Note: Starting with CSM 1.12, use images from [quay.io](https://quay.io/organization/dell). From CSM 1.14 (May 2025), editing the CSM object will fail if using images from [Docker Hub](https://hub.docker.com/r/dellemc/).
### Upgrade Modules using Dell CSM Operator

Expand Down
45 changes: 31 additions & 14 deletions content/docs/deployment/csmoperator/drivers/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linkTitle: "CSI Drivers"
description: Installation of Dell CSI Drivers using Dell CSM Operator
weight: 1
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
## (Optional) Volume Snapshot Requirements

On Upstream Kubernetes clusters, ensure that to install
Expand All @@ -31,23 +33,38 @@ Once the driver `Custom Resource (CR)` is created, you can verify the installati

* Check if ContainerStorageModule CR is created successfully using the command below:
```bash

kubectl get csm/<name-of-custom-resource> -n <driver-namespace> -o yaml
```
* Check the status of the CR to verify if the driver installation is in the `Succeeded` state. If the status is not `Succeeded`, see the [Troubleshooting guide](../troubleshooting/#my-dell-csi-driver-install-failed-how-do-i-fix-it) for more information.

## Upgrading Drivers with Dell CSM Operator
You can update CSI Drivers installed by the Dell CSM Operator like any Kubernetes resource:

### Update CSI Drivers
The CSI Drivers and CSM Modules installed by the Dell CSM Operator can be updated like any Kubernetes resource. This can be achieved in various ways which include:
1. </b>Modify Installation via kubectl edit:</b></br>

* Modifying the installation directly via `kubectl edit`
For example - If the name of the installed PowerScale driver is powerscale, then run
#Replace driver-namespace with the namespace where the PowerScale driver is installed
```bash
kubectl edit csm/powerscale -n <driver-namespace>
```
and modify the installation
* Modify the API object in-place via `kubectl patch`
```bash
kubectl get <driver-object> -n <driver-namespace>
```
2. Replace `<driver-namespace>` with the appropriate namespace. For example, to get the CSI PowerStore driver object: </br>
```bash
kubectl get csm -n <driver-namespace>
```
Use the object name in the kubectl edit command: </br>

```bash
kubectl edit csm <driver-object>/<object-name> -n <driver-namespace>
```
For example, if the object name is powerstore:</br>

```bash
kubectl edit csm powerstore -n <driver-namespace>
```

Modify the installation as needed, typically updating driver versions, sidecars, and environment variables.

3. Refer how to [upgrade](https://infohub.delltechnologies.com/en-us/p/best-practices-for-deployment-and-life-cycle-management-of-dell-csm-modules-1/#:~:text=Upgrades%20with%20Operator)guide if you have more questions </br>

> Note: Starting with CSM 1.12, use images from [quay.io](https://quay.io/organization/dell). From CSM 1.14 (May 2025), editing the CSM object will fail if using images from [Docker Hub](https://hub.docker.com/r/dellemc/).

#### Supported modifications
* Changing environment variable values for driver
Expand All @@ -58,9 +75,9 @@ 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.10.0
configVersion: v2.12.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.
>NOTE: <b> Avoid updating the operator by modifying the original CustomResource manifest file and running `kubectl apply -f`. This can overwrite important annotations set by the Operator, leading to failures in workflows like driver upgrades. </b>

### Uninstall CSI Driver
The CSI Drivers and CSM Modules can be uninstalled by deleting the Custom Resource.
Expand Down
4 changes: 3 additions & 1 deletion content/docs/deployment/csmoperator/drivers/powerflex.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linkTitle: PowerFlex
description: >
Installing the CSI Driver for Dell PowerFlex via Dell CSM Operator
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
The CSI Driver for Dell PowerFlex can be installed via the Dell CSM Operator.
To deploy the Operator, follow the instructions available [here](../../#installation).

Expand Down
4 changes: 3 additions & 1 deletion content/docs/deployment/csmoperator/drivers/powermax.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linkTitle: PowerMax
description: >
Installing the CSI Driver for Dell PowerMax via Dell CSM Operator
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
The CSI Driver for Dell PowerMax can be installed via the Dell CSM Operator.
To deploy the Operator, follow the instructions available [here](../../#installation).

Expand Down
4 changes: 3 additions & 1 deletion content/docs/deployment/csmoperator/drivers/powerscale.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linkTitle: PowerScale
description: >
Installing the CSI Driver for Dell PowerScale via Dell CSM Operator
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
The CSI Driver for Dell PowerScale can be installed via the Dell CSM Operator.
To deploy the Operator, follow the instructions available [here](../../#installation).

Expand Down
23 changes: 19 additions & 4 deletions content/docs/deployment/csmoperator/drivers/powerstore.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@ linkTitle: PowerStore
description: >
Installing the CSI Driver for Dell PowerStore via Dell CSM Operator
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
The CSI Driver for Dell PowerStore can be installed via the Dell CSM Operator.
To deploy the Operator, follow the instructions available [here](../../#installation).

Note that the deployment of the driver using the operator does not use any Helm charts and the installation and configuration parameters will be slightly different from the one specified via the Helm installer.

### Listing installed drivers
## Listing installed drivers

To query for all Dell CSI drivers installed with the ContainerStorageModule CRD use the following command:

Expand Down Expand Up @@ -139,7 +141,7 @@ spec:

**Configure the control loss timeout**

To reduce the impact of PowerStore non disruptive software upgrades you must set the control loss timeout. This can be done using udev rules on each worker node. More information can be found in the [Dell Host Connectivity Guide](https://elabnavigator.dell.com/vault/pdf/Linux.pdf). The configure the control loss timeout place a config file in /etc/udev/rules.d with the name 72-nvmf-ctrl_loss_tmo.rules with the following contents:
To reduce the impact of PowerStore non disruptive software upgrades you must set the control loss timeout. This can be done using udev rules on each worker node. More information can be found in the [Dell Host Connectivity Guide](https://elabnavigator.dell.com/vault/pdf/Linux.pdf). To configure the control loss timeout place a config file in /etc/udev/rules.d with the name 72-nvmf-ctrl_loss_tmo.rules with the following contents:

```text
ACTION=="add|change", SUBSYSTEM=="nvme", KERNEL=="nvme*", ATTR{ctrl_loss_tmo}="-1"
Expand Down Expand Up @@ -322,7 +324,7 @@ CRDs should be configured during replication prepare stage with repctl as descri
sed "s/CONFIG_YAML/`cat config.yaml | base64 -w0`/g" secret.yaml | kubectl apply -f -
```

### Install Driver
## Install Driver

1. Follow all the [prerequisites](#prerequisites) above

Expand Down Expand Up @@ -371,3 +373,16 @@ CRDs should be configured during replication prepare stage with repctl as descri
**Note** :
1. "Kubelet config dir path" is not yet configurable in case of Operator based driver installation.
2. Snapshotter and resizer sidecars are not optional. They are defaults with Driver installation.

## Dynamic secret change detection

CSI PowerStore supports the ability to dynamically modify array information within the secret, allowing users to update
<u>_credentials_</u> for the PowerStore arrays, in-flight, without restarting the driver.
> Note: Updates to the secret that include adding a new array, or modifying the endpoint, globalID, or blockProtocol parameters
> require the driver to be restarted to properly pick up and process the changes.

To do so, change the configuration file `config.yaml` and apply the update using the following command:
```bash
sed "s/CONFIG_YAML/`cat config.yaml | base64 -w0`/g" secret.yaml | kubectl apply -f -
```
4 changes: 3 additions & 1 deletion content/docs/deployment/csmoperator/drivers/unity.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linkTitle: Unity XT
description: >
Installing the CSI Driver for Dell Unity XT via Dell CSM Operator
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
The CSI Driver for Dell Unity XT can be installed via the Dell CSM Operator.
To deploy the Operator, follow the instructions available [here](../../#installation).

Expand Down
4 changes: 3 additions & 1 deletion content/docs/deployment/csmoperator/modules/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linkTitle: "CSM Modules"
description: Installation of Dell CSM Modules using Dell CSM Operator
weight: 2
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
The CSM Operator can optionally enable modules that are supported by the specific Dell CSI driver. By default, the modules are disabled but they can be enabled by setting any pre-requisite configuration options for the given module and setting the enabled flag to true in the custom resource.
The steps include:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,10 @@ description: >
---

{{% pageinfo color="primary" %}}
The CSM Authorization karavictl CLI is no longer actively maintained or supported. It will be deprecated in CSM 2.0.
1. The CSM Authorization karavictl CLI is no longer actively maintained or supported. It will be deprecated in CSM 2.0.
<br>
<br>
2. <span></span>{{< message text="1" >}}
{{% /pageinfo %}}

## Install CSM Authorization via Dell CSM Operator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ linkTitle: "Authorization v2.0"
description: >
Installing Authorization v2.0 via Dell CSM Operator
---

{{% pageinfo color="primary" %}}
{{< message text="1" >}}
{{% /pageinfo %}}
## Install CSM Authorization via Dell CSM Operator

The CSM Authorization module for supported Dell CSI Drivers can be installed via the Dell CSM Operator.
Expand Down
Loading

0 comments on commit 89dcf68

Please sign in to comment.