Skip to content

Commit

Permalink
Update offline install to include step for driver install
Browse files Browse the repository at this point in the history
  • Loading branch information
rensyct committed Aug 29, 2023
1 parent 45e99bd commit 3f2f6ae
Showing 1 changed file with 37 additions and 27 deletions.
64 changes: 37 additions & 27 deletions content/docs/deployment/csmoperator/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ The Dell Container Storage Modules Operator is a Kubernetes Operator, which can

Dell CSM Operator has been tested and qualified on Upstream Kubernetes and OpenShift. Supported versions are listed below:

| Kubernetes Version | OpenShift Version |
| -------------------------- | ------------------- |
| Kubernetes Version | OpenShift Version |
| -------------------------- | -------------------- |
| 1.26, 1.27, 1.28 | 4.12, 4.12 EUS, 4.13 |

>NOTE:
Expand All @@ -24,19 +24,19 @@ 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.7.0 | ✔ 1.7.0 | ✔ 1.5.0 | ✔ 1.5.0 | ✔ 1.6.0 |
| CSI PowerScale | 2.6.0 | ✔ 1.6.0 | ✔ 1.4.0 | ✔ 1.5.0 | |
| CSI PowerScale | 2.5.0 | ✔ 1.5.0 | ✔ 1.3.0 | ✔ 1.4.0 | |
| CSI PowerFlex | 2.7.0 | ✔ 1.7.0 | ✔ 1.5.0 | ✔ 1.5.0 | ✔ 1.6.0 |
| CSI PowerFlex | 2.6.0 | ✔ 1.6.0 | ✔ 1.4.0 | ✔ 1.5.0 | |
| CSI PowerFlex | 2.5.0 | ✔ 1.5.0 | | ✔ 1.4.0 | |
| CSI PowerStore | 2.8.0 || | | ✔ 1.7.0 |
| CSI PowerStore | 2.7.0 || | | ✔ 1.6.0 |
| CSI PowerStore | 2.6.0 || | | |
| CSI PowerMax | 2.7.0 | ✔ 1.7.0 | ✔ 1.5.0 | | |
| CSI Unity XT | 2.6.0 | ❌ | ❌ | ❌ | ❌
| CSI Unity XT | 2.7.0 | ❌ | ❌ | ❌ | ❌
| CSI Unity XT | 2.8.0 || | | |
| CSI PowerScale | 2.7.0 | ✔ 1.7.0 | ✔ 1.5.0 | ✔ 1.5.0 | ✔ 1.6.0 |
| CSI PowerScale | 2.6.0 | ✔ 1.6.0 | ✔ 1.4.0 | ✔ 1.5.0 ||
| CSI PowerScale | 2.5.0 | ✔ 1.5.0 | ✔ 1.3.0 | ✔ 1.4.0 ||
| CSI PowerFlex | 2.7.0 | ✔ 1.7.0 | ✔ 1.5.0 | ✔ 1.5.0 | ✔ 1.6.0 |
| CSI PowerFlex | 2.6.0 | ✔ 1.6.0 | ✔ 1.4.0 | ✔ 1.5.0 ||
| CSI PowerFlex | 2.5.0 | ✔ 1.5.0 || ✔ 1.4.0 ||
| CSI PowerStore | 2.8.0 |||| ✔ 1.7.0 |
| CSI PowerStore | 2.7.0 |||| ✔ 1.6.0 |
| CSI PowerStore | 2.6.0 |||||
| CSI PowerMax | 2.7.0 | ✔ 1.7.0 | ✔ 1.5.0 |||
| CSI Unity XT | 2.8.0 |||| |
| CSI Unity XT | 2.7.0 |||| |
| CSI Unity XT | 2.6.0 |||||

>NOTE:
>- Refer to sample files [here](https://github.com/dell/csm-operator/tree/main/samples).
Expand All @@ -55,7 +55,7 @@ The installation process involves the creation of a `Subscription` object either

![OpenShit Operator Hub CSM install](operator_hub_install.gif)

>NOTE: Dell CSM Operator is distributed as a `Certified` & `Community` versions. Both are the exact same code and supported by Dell Technologies, the only difference is that the `Certified` version is validated by RedHat. The `Certified` version often release couple of days/weeks after the `Community` version.
>NOTE: Dell CSM Operator is distributed as a `Certified` & `Community` versions. Both are the exact same code and supported by Dell Technologies, the only difference is that the `Certified` version is validated by RedHat. The `Certified` version is often released couple of days/weeks after the `Community` version.
### Manual Installation on a cluster without OLM

Expand Down Expand Up @@ -107,7 +107,8 @@ Preparing an offline bundle requires the following utilities:
To perform an offline installation, the following steps should be performed:
1. Build an offline bundle
2. Unpack the offline bundle created in Step 1 and prepare for installation
3. Perform installation using the files obtained after unpacking in Step 2
3. Perform operator installation using the files obtained after unpacking in Step 2
4. Perform driver installation using the files obtained after unpacking in Step 2

>NOTE: It is recommended to use the same build tool for packing and unpacking of images (either docker or podman).
Expand All @@ -120,10 +121,10 @@ To build an offline bundle, the following steps are needed:
```bash
git clone -b v1.3.0 https://github.com/dell/csm-operator.git
```
2. `cd csm-operator/scripts`
3. Run the `csi-offline-bundle.sh` script will be found in the `scripts` directory with an argument of `-c` in order to create an offline bundle
2. `cd csm-operator`
3. Run the `csi-offline-bundle.sh` script which will be found in the `scripts` directory with an argument of `-c` in order to create an offline bundle
```bash
./csm-offline-bundle.sh -c
bash scripts/csm-offline-bundle.sh -c
```

The script will perform the following steps:
Expand Down Expand Up @@ -227,10 +228,10 @@ dell-csm-operator-bundle/LICENSE
```
3. Run the `csm-offline-bundle.sh` script and supply the `-p` option as well as the path to the internal registry with the `-r` option
```bash
cd dell-csm-operator-bundle/scripts
cd dell-csm-operator-bundle
```
```bash
./csi-offline-bundle.sh -p -r localregistry:5000/csm-operator
bash scripts/csm-offline-bundle.sh -p -r localregistry:5000/dell-csm-operator/
```

The script will then perform the following steps:
Expand All @@ -240,7 +241,7 @@ The script will then perform the following steps:
- Modify the Operator configuration to refer to the newly tagged/pushed images


Here is the output forpreparing the bundle for installation (`localregistry:5000` refers to an image registry accessible to Kubernetes/OpenShift. `dell-csm-operator` refers to the folder created within the registry.):
Here is the output for preparing the bundle for installation (`localregistry:5000` refers to an image registry accessible to Kubernetes/OpenShift. `dell-csm-operator` refers to the folder created within the registry.):

```
Preparing a offline bundle for installation
Expand Down Expand Up @@ -281,14 +282,23 @@ Loaded image: registry.k8s.io/sig-storage/csi-snapshotter:v6.2.2

#### Perform Operator installation

Now that the required images are available and the Operator configuration updated, you can proceed to install the operator by executing
`bash scripts/install.sh`.
Now that the required images are available and the Operator configuration updated, you can proceed to install the operator by executing `install.sh` script.
```bash
bash scripts/install.sh
```
>NOTE: Dell CSM Operator would install to the 'dell-csm-operator' namespace by default.
#### Perform Driver installation

Now that the required images are available and the Operator is installed, you can proceed to install the driver by executing `kubectl create -f <manifest-name>`. Manifests for all the supported drivers will be available inside the samples directory. Using Unity XT as an example
```bash
kubectl create -f samples/storage_csm_unity_v280.yaml
```
>NOTE: Offline bundle supports install of only the latest version of Dell CSI Drivers
**NOTE:**
1. Offline bundle installation is only supported with manual installs i.e. without using Operator Lifecycle Manager (OLM).
2. Install/uninstall of operator and drivers should be done using the files that are obtained after unpacking the offline bundle (dell-csm-operator-bundle.tar.gz) as that is where the image tags in the manifests are modified to point to the specified internal registry.
3. Offline bundle supports install of only the latest version of Dell CSI Drivers

## Uninstall
### Operator uninstallation on a cluster without OLM
Expand All @@ -311,7 +321,7 @@ The `Update approval` (**`InstallPlan`** in OLM terms) strategy plays a role whi
- If the **`Update approval`** is set to `Automatic`, OpenShift automatically detects whenever the latest version of dell-csm-operator is available in the **`Operator hub`**, and upgrades it to the latest available version.
- If the upgrade policy is set to `Manual`, OpenShift notifies of an available upgrade. This notification can be viewed by the user in the **`Installed Operators`** section of the OpenShift console. Clicking on the hyperlink to `Approve` the installation would trigger the dell-csm-operator upgrade process.

>NOTE: The recommended version of OLM for Upstream Kubernetes is **`v0.18.3`**.
>NOTE: The recommended version of OLM for Upstream Kubernetes is **`v0.25.0`**.
#### Using Installation Script
1. Clone and checkout the required csm-operator version using
Expand Down

0 comments on commit 3f2f6ae

Please sign in to comment.