From 5231e2ddb3dc0f6bcfd0b0f26b614856565d9e63 Mon Sep 17 00:00:00 2001 From: Rishabh Raj <120644626+rishabhatdell@users.noreply.github.com> Date: Wed, 17 Jul 2024 16:26:42 +0530 Subject: [PATCH] Revert "CSM 1.11 Rebase (#1180)" (#1183) --- .github/CODEOWNERS | 3 +- config.toml | 8 +- .../applicationmobility/release/_index.md | 2 +- .../Backup and Restore/_index.md | 0 .../Backup and Restore/helm/_index.md | 0 .../Backup and Restore/rpm/_index.md | 0 content/docs/authorization/_index.md | 55 ++- .../docs/authorization/{v1.x GA => }/cli.md | 0 .../{v1.x GA => }/configuration/_index.md | 0 .../configuration/powerflex/_index.md | 18 +- .../configuration/powermax/_index.md | 40 +- .../configuration/powerscale/_index.md | 18 +- .../configuration/proxy-server/_index.md | 0 .../authorization/{v1.x GA => }/design.md | 0 .../authorization/{v1.x GA => }/design1.png | Bin .../authorization/{v1.x GA => }/design2.png | Bin .../karavi-authorization-example.png | Bin .../{v1.x GA => }/release/_index.md | 3 +- .../{v1.x GA => }/troubleshooting.md | 0 content/docs/authorization/v1.x GA/_index.md | 62 --- .../authorization/v2.0 Tech Preview/_index.md | 78 --- .../authorization-ha-example.png | Bin 121616 -> 0 bytes .../v2.0 Tech Preview/configuration/_index.md | 8 - .../configuration/powerflex/_index.md | 119 ----- .../configuration/proxy-server/_index.md | 166 ------- .../authorization/v2.0 Tech Preview/image.png | Bin 178897 -> 0 bytes content/docs/cosidriver/release/_index.md | 2 +- content/docs/csidriver/_index.md | 5 +- content/docs/csidriver/features/powerflex.md | 3 - content/docs/csidriver/features/powermax.md | 10 - content/docs/csidriver/features/powerscale.md | 2 +- content/docs/csidriver/features/unity.md | 13 - content/docs/csidriver/release/powerflex.md | 7 +- content/docs/csidriver/release/powermax.md | 2 +- content/docs/csidriver/release/powerscale.md | 2 +- content/docs/csidriver/release/powerstore.md | 16 +- content/docs/csidriver/release/unity.md | 2 +- .../csidriver/troubleshooting/powerflex.md | 2 - .../csminstallationwizard/_index.md | 16 +- .../csminstallationwizard/release/_index.md | 2 +- .../csm-versions/default-values.properties | 2 +- .../csminstallationwizard/src/index.html | 8 +- .../src/static/js/constants.js | 4 +- .../src/static/js/tests/generate-yaml.test.js | 6 +- .../src/static/js/tests/ui-functions.test.js | 14 +- .../src/static/js/tests/utility.test.js | 6 +- .../src/static/js/ui-functions.js | 20 +- ...ues.template => csm-1.7.0-values.template} | 182 ++----- .../templates/helm/csm-1.7.1-values.template | 444 ++++++++++++++++++ ...1.0.template => csm-isilon-1.7.0.template} | 43 +- ...0.template => csm-powermax-1.7.0.template} | 167 +------ ...template => csm-powerstore-1.7.0.template} | 31 +- content/docs/deployment/csmoperator/_index.md | 168 +++---- .../csmoperator/drivers/powerflex.md | 7 +- .../csmoperator/drivers/powermax.md | 22 - .../deployment/csmoperator/drivers/unity.md | 1 - .../authorization v2.0 Tech Preview.md | 366 --------------- .../csmoperator/modules/authorization.md | 134 ++---- .../csmoperator/modules/observability.md | 50 +- .../csmoperator/modules/replication.md | 4 +- .../csmoperator/modules/resiliency.md | 10 +- .../deployment/csmoperator/release/_index.md | 4 +- .../helm/drivers/installation/isilon.md | 16 +- .../helm/drivers/installation/powerflex.md | 13 +- .../helm/drivers/installation/powermax.md | 189 ++++---- .../helm/drivers/installation/powerstore.md | 7 +- .../helm/drivers/installation/unity.md | 14 +- .../deployment/helm/drivers/upgrade/isilon.md | 11 +- .../helm/drivers/upgrade/powerflex.md | 10 +- .../helm/drivers/upgrade/powermax.md | 7 +- .../helm/drivers/upgrade/powerstore.md | 11 +- .../deployment/helm/drivers/upgrade/unity.md | 9 +- .../installation/authorization/_index.md | 10 +- .../modules/installation/encryption/vault.md | 2 +- .../replication/install-repctl.md | 4 +- .../replication/install-script.md | 4 +- .../modules/installation/resiliency/_index.md | 34 -- .../helm/modules/upgrade/observability.md | 2 +- .../helm/modules/upgrade/replication.md | 2 +- .../docs/deployment/offline/drivers/_index.md | 48 +- .../authorization/authorization.md | 8 +- content/docs/observability/release/_index.md | 2 +- content/docs/prerequisites/_index.md | 78 +-- content/docs/replication/release/_index.md | 2 +- content/docs/resiliency/_index.md | 25 +- content/docs/resiliency/release/_index.md | 2 +- content/docs/snapshots/_index.md | 8 +- content/docs/support/cert-csi/_index.md | 76 +-- content/docs/support/cli/_index.md | 69 +-- content/docs/support/release/_index.md | 2 +- .../docs/support/troubleshooting/_index.md | 2 +- content/v1/csidriver/features/powerscale.md | 2 +- .../v1/csidriver/installation/helm/isilon.md | 8 +- .../csidriver/installation/helm/powerflex.md | 3 +- .../csidriver/installation/helm/powermax.md | 3 +- .../csidriver/installation/helm/powerstore.md | 3 +- .../v1/csidriver/installation/helm/unity.md | 5 +- .../v1/csidriver/installation/test/certcsi.md | 45 +- .../csidriver/upgradation/drivers/isilon.md | 5 +- .../upgradation/drivers/powerflex.md | 5 +- .../csidriver/upgradation/drivers/powermax.md | 3 +- .../upgradation/drivers/powerstore.md | 4 +- .../v1/csidriver/upgradation/drivers/unity.md | 5 +- .../csmoperator/drivers/powerflex.md | 2 +- content/v2/csidriver/features/powerscale.md | 2 +- .../v2/csidriver/installation/helm/isilon.md | 8 +- .../csidriver/installation/helm/powerflex.md | 3 +- .../csidriver/installation/helm/powermax.md | 3 +- .../csidriver/installation/helm/powerstore.md | 3 +- .../v2/csidriver/installation/helm/unity.md | 5 +- .../csidriver/upgradation/drivers/isilon.md | 5 +- .../upgradation/drivers/powerflex.md | 5 +- .../csidriver/upgradation/drivers/powermax.md | 3 +- .../upgradation/drivers/powerstore.md | 5 +- .../v2/csidriver/upgradation/drivers/unity.md | 5 +- .../csmoperator/drivers/powerflex.md | 2 +- content/v3/csidriver/features/powerscale.md | 2 +- .../v3/csidriver/installation/helm/isilon.md | 3 - .../csmoperator/drivers/powerflex.md | 2 +- 119 files changed, 1087 insertions(+), 2086 deletions(-) rename content/docs/authorization/{v1.x GA => }/Backup and Restore/_index.md (100%) rename content/docs/authorization/{v1.x GA => }/Backup and Restore/helm/_index.md (100%) rename content/docs/authorization/{v1.x GA => }/Backup and Restore/rpm/_index.md (100%) rename content/docs/authorization/{v1.x GA => }/cli.md (100%) rename content/docs/authorization/{v1.x GA => }/configuration/_index.md (100%) rename content/docs/authorization/{v1.x GA => }/configuration/powerflex/_index.md (83%) rename content/docs/authorization/{v1.x GA => }/configuration/powermax/_index.md (73%) rename content/docs/authorization/{v1.x GA => }/configuration/powerscale/_index.md (83%) rename content/docs/authorization/{v1.x GA => }/configuration/proxy-server/_index.md (100%) rename content/docs/authorization/{v1.x GA => }/design.md (100%) rename content/docs/authorization/{v1.x GA => }/design1.png (100%) rename content/docs/authorization/{v1.x GA => }/design2.png (100%) rename content/docs/authorization/{v1.x GA => }/karavi-authorization-example.png (100%) rename content/docs/authorization/{v1.x GA => }/release/_index.md (59%) rename content/docs/authorization/{v1.x GA => }/troubleshooting.md (100%) delete mode 100644 content/docs/authorization/v1.x GA/_index.md delete mode 100644 content/docs/authorization/v2.0 Tech Preview/_index.md delete mode 100644 content/docs/authorization/v2.0 Tech Preview/authorization-ha-example.png delete mode 100644 content/docs/authorization/v2.0 Tech Preview/configuration/_index.md delete mode 100644 content/docs/authorization/v2.0 Tech Preview/configuration/powerflex/_index.md delete mode 100644 content/docs/authorization/v2.0 Tech Preview/configuration/proxy-server/_index.md delete mode 100644 content/docs/authorization/v2.0 Tech Preview/image.png rename content/docs/deployment/csminstallationwizard/src/templates/helm/{csm-1.11.0-values.template => csm-1.7.0-values.template} (69%) create mode 100644 content/docs/deployment/csminstallationwizard/src/templates/helm/csm-1.7.1-values.template rename content/docs/deployment/csminstallationwizard/src/templates/operator/{csm-isilon-1.11.0.template => csm-isilon-1.7.0.template} (95%) rename content/docs/deployment/csminstallationwizard/src/templates/operator/{csm-powermax-1.11.0.template => csm-powermax-1.7.0.template} (66%) rename content/docs/deployment/csminstallationwizard/src/templates/operator/{csm-powerstore-1.11.0.template => csm-powerstore-1.7.0.template} (90%) delete mode 100644 content/docs/deployment/csmoperator/modules/authorization v2.0 Tech Preview.md diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 727eebcf08..c5168cc4bd 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -10,6 +10,7 @@ # Bharath Sreekanth (bharathsreekanth) # Deepak Ghivari (Deepak-Ghivari) # Sean Gallacher (gallacher) +# Marek Suski (mareksuski-dell) # MaƂgorzata Dutka (mdutka-dell) # Matt Schmaelzle (mjsdell) # Mukesh Gandharva (mgandharva) @@ -22,4 +23,4 @@ # Shayna Finocchiaro (shaynafinocchiaro) # Shefali Malhotra (shefali-malhotra) -* @atye @bharathsreekanth @Deepak-Ghivari @gallacher @mdutka-dell @mgandharva @mjsdell @prablr79 @rajendraindukuri @rajkumar-palani @rsedlock1958 @shanmydell @sharont58 @shaynafinocchiaro @shefali-malhotra +* @atye @bharathsreekanth @Deepak-Ghivari @gallacher @mareksuski-dell @mdutka-dell @mgandharva @mjsdell @prablr79 @rajendraindukuri @rajkumar-palani @rsedlock1958 @shanmydell @sharont58 @shaynafinocchiaro @shefali-malhotra diff --git a/config.toml b/config.toml index 919f68ed82..864d367c7e 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.11.0)" + version = "Current(v1.10.2)" url = "https://dell.github.io/csm-docs/docs/" [[params.versions]] - version = "v1.10.2" + version = "v1.9.4" url = "https://dell.github.io/csm-docs/v1" [[params.versions]] - version = "v1.9.4" + version = "v1.8.0" url = "https://dell.github.io/csm-docs/v2" [[params.versions]] - version = "v1.8.0" + version = "v1.7.1" url = "https://dell.github.io/csm-docs/v3" [[menu.main]] diff --git a/content/docs/applicationmobility/release/_index.md b/content/docs/applicationmobility/release/_index.md index 69c92138a5..b252668f77 100644 --- a/content/docs/applicationmobility/release/_index.md +++ b/content/docs/applicationmobility/release/_index.md @@ -6,7 +6,7 @@ Description: > Release Notes --- -## Release Notes - CSM Application Mobility v1.0.4 +## Release Notes - CSM Application Mobility v1.0.2 ### New Features/Changes diff --git a/content/docs/authorization/v1.x GA/Backup and Restore/_index.md b/content/docs/authorization/Backup and Restore/_index.md similarity index 100% rename from content/docs/authorization/v1.x GA/Backup and Restore/_index.md rename to content/docs/authorization/Backup and Restore/_index.md diff --git a/content/docs/authorization/v1.x GA/Backup and Restore/helm/_index.md b/content/docs/authorization/Backup and Restore/helm/_index.md similarity index 100% rename from content/docs/authorization/v1.x GA/Backup and Restore/helm/_index.md rename to content/docs/authorization/Backup and Restore/helm/_index.md diff --git a/content/docs/authorization/v1.x GA/Backup and Restore/rpm/_index.md b/content/docs/authorization/Backup and Restore/rpm/_index.md similarity index 100% rename from content/docs/authorization/v1.x GA/Backup and Restore/rpm/_index.md rename to content/docs/authorization/Backup and Restore/rpm/_index.md diff --git a/content/docs/authorization/_index.md b/content/docs/authorization/_index.md index a1b5c26051..04dc1f89d4 100644 --- a/content/docs/authorization/_index.md +++ b/content/docs/authorization/_index.md @@ -6,7 +6,7 @@ Description: > Dell Technologies (Dell) Container Storage Modules (CSM) for Authorization --- -[Container Storage Modules](https://github.com/dell/csm) (CSM) for Authorization is part of the open-source suite of Kubernetes storage enablers for Dell products. +[Container Storage Modules](https://github.com/dell/csm) (CSM) for Authorization is part of the open-source suite of Kubernetes storage enablers for Dell products. CSM for Authorization provides storage and Kubernetes administrators the ability to apply RBAC for Dell CSI Drivers. It does this by deploying a proxy between the CSI driver and the storage system to enforce role-based access and usage rules. @@ -14,4 +14,55 @@ Storage administrators of compatible storage platforms will be able to apply quo Kubernetes administrators will have an interface to create, delete, and manage roles/groups that storage rules may be applied. Administrators and/or users may then generate authentication tokens that may be used by tenants to use storage with proper access policies being automatically enforced. -Currently, we have two versions of Authorization, **v1.x GA** and **v2.0 Tech Preview**. \ No newline at end of file +The following diagram shows a high-level overview of CSM for Authorization with a `tenant-app` that is using a CSI driver to perform storage operations through the CSM for Authorization `proxy-server` to access the a Dell storage system. All requests from the CSI driver will contain the token for the given tenant that was granted by the Storage Administrator. + +![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") + +## CSM for Authorization Capabilities +{{}} +| Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | +| - | - | - | - | - | - | +| Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | +| Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | +| Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | +{{
}} + +**NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). + +## Authorization Components Support Matrix +CSM for Authorization consists of 2 components - The authorization sidecar, bundled with the driver, communicates with the Authorization proxy server to validate access to Storage platforms. The authorization sidecar is backward compatible with older Authorization proxy server versions. However, it is highly recommended to have the Authorization proxy server and sidecar installed from the same release of CSM. + +**NOTE:** If the deployed CSI driver has a number of controller pods equal to the number of schedulable nodes in your cluster, CSM for Authorization may not be able to inject properly into the driver's controller pod. +To resolve this, please refer to our [troubleshooting guide](./troubleshooting) on the topic. + +## Roles and Responsibilities + +The CSM for Authorization CLI can be executed in the context of the following roles: +- Storage Administrators +- Kubernetes Tenant Administrators + +### Storage Administrators + +Storage Administrators can perform the following operations within CSM for Authorization + +- Tenant Management (create, get, list, delete, bind roles, unbind roles) +- Token Management (generate, revoke) +- Storage System Management (create, get, list, update, delete) +- Storage Access Roles Management (assign to a storage system with an optional quota) + +### Tenant Administrators + +Tenants of CSM for Authorization can use the token provided by the Storage Administrators in their storage requests. + +### Workflow + +1) Tenant Admin requests storage from a Storage Admin. +2) Storage Admin uses CSM Authorization CLI to:
+ a) Create a tenant resource.
+ b) Create a role permitting desired storage access.
+ c) Assign the role to the tenant and generate a token.
+3) Storage Admin returns a token to the Tenant Admin. +4) Tenant Admin inputs the Token into their Kubernetes cluster as a Secret. +5) Tenant Admin updates CSI driver with CSM Authorization sidecar module. + +![CSM for Authorization Workflow](./design2.png "CSM for Authorization Workflow") diff --git a/content/docs/authorization/v1.x GA/cli.md b/content/docs/authorization/cli.md similarity index 100% rename from content/docs/authorization/v1.x GA/cli.md rename to content/docs/authorization/cli.md diff --git a/content/docs/authorization/v1.x GA/configuration/_index.md b/content/docs/authorization/configuration/_index.md similarity index 100% rename from content/docs/authorization/v1.x GA/configuration/_index.md rename to content/docs/authorization/configuration/_index.md diff --git a/content/docs/authorization/v1.x GA/configuration/powerflex/_index.md b/content/docs/authorization/configuration/powerflex/_index.md similarity index 83% rename from content/docs/authorization/v1.x GA/configuration/powerflex/_index.md rename to content/docs/authorization/configuration/powerflex/_index.md index dd24f52ca4..06c0e803cc 100644 --- a/content/docs/authorization/v1.x GA/configuration/powerflex/_index.md +++ b/content/docs/authorization/configuration/powerflex/_index.md @@ -55,7 +55,7 @@ Given a setup where Kubernetes, a storage system, and the CSM for Authorization **Helm** - Refer to the [Install the Driver](../../../../deployment/helm/drivers/installation/powerflex/#install-the-driver) section to edit the parameters in `samples/config.yaml` to configure the driver to communicate with the CSM Authorization sidecar. + Refer to the [Install the Driver](../../../deployment/helm/drivers/installation/powerflex/#install-the-driver) section to edit the parameters in `samples/config.yaml` to configure the driver to communicate with the CSM Authorization sidecar. - Update `endpoint` to match the localhost endpoint in `samples/secret/karavi-authorization-config.json`. @@ -78,7 +78,7 @@ Given a setup where Kubernetes, a storage system, and the CSM for Authorization **Operator** - Refer to the [Create Secret](../../../../deployment/csmoperator/drivers/powerflex/#create-secret) section to prepare `secret.yaml` to configure the driver to communicate with the CSM Authorization sidecar. + Refer to the [Create Secret](../../../deployment/csmoperator/drivers/powerflex/#create-secret) section to prepare `secret.yaml` to configure the driver to communicate with the CSM Authorization sidecar. - Update `endpoint` to match the localhost endpoint in `samples/secret/karavi-authorization-config.json`. @@ -102,7 +102,7 @@ Given a setup where Kubernetes, a storage system, and the CSM for Authorization **Helm** - Refer to the [Install the Driver](../../../../deployment/helm/drivers/installation/powerflex/#install-the-driver) section to edit the parameters in `myvalues.yaml` to enable CSM Authorization. + Refer to the [Install the Driver](../../../deployment/helm/drivers/installation/powerflex/#install-the-driver) section to edit the parameters in `myvalues.yaml` to enable CSM Authorization. - Update `authorization.enabled` to `true`. @@ -119,8 +119,8 @@ Given a setup where Kubernetes, a storage system, and the CSM for Authorization enabled: true # sidecarProxyImage: the container image used for the csm-authorization-sidecar. - # Default value: dellemc/csm-authorization-sidecar:v1.11.0 - sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.11.0 + # Default value: dellemc/csm-authorization-sidecar:v1.10.0 + sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.10.0 # proxyHost: hostname of the csm-authorization server # Default value: None @@ -136,7 +136,7 @@ Given a setup where Kubernetes, a storage system, and the CSM for Authorization **Operator** - Refer to the [Install Driver](../../../../deployment/csmoperator/drivers/powerflex/#install-driver) section to edit the parameters in the Custom Resource to enable CSM Authorization. + Refer to the [Install Driver](../../../deployment/csmoperator/drivers/powerflex/#install-driver) section to edit the parameters in the Custom Resource to enable CSM Authorization. Under `modules`, enable the module named `authorization`: @@ -156,10 +156,10 @@ Given a setup where Kubernetes, a storage system, and the CSM for Authorization - name: authorization # enable: Enable/Disable csm-authorization enabled: true - configVersion: v1.11.0 + configVersion: v1.10.0 components: - name: karavi-authorization-proxy - image: dellemc/csm-authorization-sidecar:v1.11.0 + image: dellemc/csm-authorization-sidecar:v1.10.0 envs: # proxyHost: hostname of the csm-authorization server - name: "PROXY_HOST" @@ -172,4 +172,4 @@ Given a setup where Kubernetes, a storage system, and the CSM for Authorization 6. Install the Dell CSI PowerFlex driver following the appropriate documenation for your installation method. -7. (Optional) Install [dellctl](../../../../support/cli/#installation-instructions) to perform Kubernetes administrator commands for additional capabilities (e.g., list volumes). Please refer to the [dellctl documentation page](../../../../support/cli) for the installation steps and command list. +7. (Optional) Install [dellctl](../../../support/cli/#installation-instructions) to perform Kubernetes administrator commands for additional capabilities (e.g., list volumes). Please refer to the [dellctl documentation page](../../../support/cli) for the installation steps and command list. \ No newline at end of file diff --git a/content/docs/authorization/v1.x GA/configuration/powermax/_index.md b/content/docs/authorization/configuration/powermax/_index.md similarity index 73% rename from content/docs/authorization/v1.x GA/configuration/powermax/_index.md rename to content/docs/authorization/configuration/powermax/_index.md index 8032a47bb1..4003f65efd 100644 --- a/content/docs/authorization/v1.x GA/configuration/powermax/_index.md +++ b/content/docs/authorization/configuration/powermax/_index.md @@ -55,17 +55,17 @@ Create the karavi-authorization-config secret using this command: **Helm** - Refer to the [Install the Driver](../../../../deployment/helm/drivers/installation/powermax/#install-the-driver) section where you edit `samples/secret/secret.yaml` with the credentials of the PowerMax. Leave `username` and `password` with the default values as they will be ignored. + Refer to the [Install the Driver](../../../deployment/helm/drivers/installation/powermax/#install-the-driver) section where you edit `samples/secret/secret.yaml` with the credentials of the PowerMax. Leave `username` and `password` with the default values as they will be ignored. **Operator** - Refer to the [Install the Driver](../../../../deployment/csmoperator/drivers/powermax/#install-driver) section to prepare `powermax-creds.yaml`. Leave `username` and `password` with the default values as they will be ignored. + Refer to the [Install the Driver](../../../deployment/csmoperator/drivers/powermax/#install-driver) section to prepare `powermax-creds.yaml`. Leave `username` and `password` with the default values as they will be ignored. 5. Enable CSM Authorization in the driver installation applicable to your installation method. **Helm** - Refer to the [Install the Driver](../../../../deployment/helm/drivers/installation/powermax/#install-the-driver) section to edit the parameters in `my-powermax-settings.yaml` file to configure the driver to communicate with the CSM Authorization sidecar. + Refer to the [Install the Driver](../../../deployment/helm/drivers/installation/powermax/#install-the-driver) section to edit the parameters in `my-powermax-settings.yaml` file to configure the driver to communicate with the CSM Authorization sidecar. - Update `global.storageArrays.endpoint` to match the localhost endpoint in `samples/secret/karavi-authorization-config.json`. @@ -79,8 +79,6 @@ Create the karavi-authorization-config secret using this command: - Update `authorization.skipCertificateValidation` to `true` or `false` depending on if you want to disable or enable certificate validation of the CSM Authorization Proxy Server. - - Update `csireverseproxy.deployAsSidecar` to `true`. - Example: ```yaml @@ -91,20 +89,12 @@ Create the karavi-authorization-config secret using this command: managementServers: - endpoint: https://localhost:9400 - csireverseproxy: - # Set enabled to true if you want to deploy csireverseproxy as sidecar - # Allowed values: - # "true" - CSI reverse proxy will be deployed as a sidecar - # "false" - CSI reverse proxy will be deployed along with driver - # Default value: "true" - deployAsSidecar: true - authorization: enabled: true # sidecarProxyImage: the container image used for the csm-authorization-sidecar. - # Default value: dellemc/csm-authorization-sidecar:v1.11.0 - sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.11.0 + # Default value: dellemc/csm-authorization-sidecar:v1.10.0 + sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.10.0 # proxyHost: hostname of the csm-authorization server # Default value: None @@ -120,7 +110,7 @@ Create the karavi-authorization-config secret using this command: **Operator** - Refer to the [Install Driver](../../../../deployment/csmoperator/drivers/powermax/#install-driver) section to edit the parameters in the Custom Resource to enable CSM Authorization. + Refer to the [Install Driver](../../../deployment/csmoperator/drivers/powermax/#install-driver) section to edit the parameters in the Custom Resource to enable CSM Authorization. Under `modules`, enable the module named `authorization`: @@ -132,30 +122,18 @@ Create the karavi-authorization-config secret using this command: - Update the `SKIP_CERTIFICATE_VALIDATION` environment value to `true` or `false` depending on if you want to disable or enable certificate validation of the CSM Authorization Proxy Server. - - Update the `DeployAsSidecar` environment variable for the `csipowermax-reverseproxy` component to `true`. - Example: ```yaml modules: - - name: csireverseproxy - # enabled: Always set to true - enabled: true - forceRemoveModule: true - configVersion: v2.10.0 - components: - - name: csipowermax-reverseproxy - envs: - - name: "DeployAsSidecar" - value: "true" # Authorization: enable csm-authorization for RBAC - name: authorization # enable: Enable/Disable csm-authorization enabled: true - configVersion: v1.11.0 + configVersion: v1.10.0 components: - name: karavi-authorization-proxy - image: dellemc/csm-authorization-sidecar:v1.11.0 + image: dellemc/csm-authorization-sidecar:v1.10.0 envs: # proxyHost: hostname of the csm-authorization server - name: "PROXY_HOST" @@ -168,4 +146,4 @@ Create the karavi-authorization-config secret using this command: 5. Install the Dell CSI PowerMax driver following the appropriate documenation for your installation method. -6. (Optional) Install [dellctl](../../../../support/cli/#installation-instructions) to perform Kubernetes administrator commands for additional capabilities (e.g., list volumes). Please refer to the [dellctl documentation page](../../../../support/cli) for the installation steps and command list. +6. (Optional) Install [dellctl](../../../support/cli/#installation-instructions) to perform Kubernetes administrator commands for additional capabilities (e.g., list volumes). Please refer to the [dellctl documentation page](../../../support/cli) for the installation steps and command list. \ No newline at end of file diff --git a/content/docs/authorization/v1.x GA/configuration/powerscale/_index.md b/content/docs/authorization/configuration/powerscale/_index.md similarity index 83% rename from content/docs/authorization/v1.x GA/configuration/powerscale/_index.md rename to content/docs/authorization/configuration/powerscale/_index.md index 914e09a1cc..58c0f19c91 100644 --- a/content/docs/authorization/v1.x GA/configuration/powerscale/_index.md +++ b/content/docs/authorization/configuration/powerscale/_index.md @@ -56,7 +56,7 @@ kubectl -n isilon create secret generic karavi-authorization-config --from-file= **Helm** - Refer to the [Install the Driver](../../../../deployment/helm/drivers/installation/isilon/#install-the-driver) section to edit the parameters to prepare the `samples/secret/secret.yaml` file to configure the driver to communicate with the CSM Authorization sidecar. + Refer to the [Install the Driver](../../../deployment/helm/drivers/installation/isilon/#install-the-driver) section to edit the parameters to prepare the `samples/secret/secret.yaml` file to configure the driver to communicate with the CSM Authorization sidecar. - Update `endpoint` to match the localhost endpoint in `samples/secret/karavi-authorization-config.json`. @@ -82,7 +82,7 @@ kubectl -n isilon create secret generic karavi-authorization-config --from-file= **Operator** - Refer to the [Prerequisite](../../../../deployment/csmoperator/drivers/powerscale/#prerequisite) section to prepare the `secret.yaml` file to configure the driver to communicate with the CSM Authorization sidecar. + Refer to the [Prerequisite](../../../deployment/csmoperator/drivers/powerscale/#prerequisite) section to prepare the `secret.yaml` file to configure the driver to communicate with the CSM Authorization sidecar. - Update `endpoint` to match the localhost endpoint in `samples/secret/karavi-authorization-config.json`. @@ -110,7 +110,7 @@ kubectl -n isilon create secret generic karavi-authorization-config --from-file= **Helm** - Refer to the [Install the Driver](../../../../deployment/helm/drivers/installation/isilon/#install-the-driver) section to edit the parameters in `my-isilon-settings.yaml` file to enable CSM Authorization. + Refer to the [Install the Driver](../../../deployment/helm/drivers/installation/isilon/#install-the-driver) section to edit the parameters in `my-isilon-settings.yaml` file to enable CSM Authorization. - Update `authorization.enabled` to `true`. @@ -127,8 +127,8 @@ kubectl -n isilon create secret generic karavi-authorization-config --from-file= enabled: true # sidecarProxyImage: the container image used for the csm-authorization-sidecar. - # Default value: dellemc/csm-authorization-sidecar:v1.11.0 - sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.11.0 + # Default value: dellemc/csm-authorization-sidecar:v1.10.0 + sidecarProxyImage: dellemc/csm-authorization-sidecar:v1.10.0 # proxyHost: hostname of the csm-authorization server # Default value: None @@ -144,7 +144,7 @@ kubectl -n isilon create secret generic karavi-authorization-config --from-file= **Operator** - Refer to the [Install Driver](../../../../deployment/csmoperator/drivers/powerscale/#install-driver) section to edit the parameters in the Custom Resource to enable CSM Authorization. + Refer to the [Install Driver](../../../deployment/csmoperator/drivers/powerscale/#install-driver) section to edit the parameters in the Custom Resource to enable CSM Authorization. Under `modules`, enable the module named `authorization`: @@ -162,10 +162,10 @@ kubectl -n isilon create secret generic karavi-authorization-config --from-file= - name: authorization # enable: Enable/Disable csm-authorization enabled: true - configVersion: v1.11.0 + configVersion: v1.10.0 components: - name: karavi-authorization-proxy - image: dellemc/csm-authorization-sidecar:v1.11.0 + image: dellemc/csm-authorization-sidecar:v1.10.0 envs: # proxyHost: hostname of the csm-authorization server - name: "PROXY_HOST" @@ -178,4 +178,4 @@ kubectl -n isilon create secret generic karavi-authorization-config --from-file= 6. Install the Dell CSI PowerScale driver following the appropriate documenation for your installation method. -7. (Optional) Install [dellctl](../../../../support/cli/#installation-instructions) to perform Kubernetes administrator commands for additional capabilities (e.g., list volumes). Please refer to the [dellctl documentation page](../../../../support/cli) for the installation steps and command list. +7. (Optional) Install [dellctl](../../../support/cli/#installation-instructions) to perform Kubernetes administrator commands for additional capabilities (e.g., list volumes). Please refer to the [dellctl documentation page](../../../support/cli) for the installation steps and command list. \ No newline at end of file diff --git a/content/docs/authorization/v1.x GA/configuration/proxy-server/_index.md b/content/docs/authorization/configuration/proxy-server/_index.md similarity index 100% rename from content/docs/authorization/v1.x GA/configuration/proxy-server/_index.md rename to content/docs/authorization/configuration/proxy-server/_index.md diff --git a/content/docs/authorization/v1.x GA/design.md b/content/docs/authorization/design.md similarity index 100% rename from content/docs/authorization/v1.x GA/design.md rename to content/docs/authorization/design.md diff --git a/content/docs/authorization/v1.x GA/design1.png b/content/docs/authorization/design1.png similarity index 100% rename from content/docs/authorization/v1.x GA/design1.png rename to content/docs/authorization/design1.png diff --git a/content/docs/authorization/v1.x GA/design2.png b/content/docs/authorization/design2.png similarity index 100% rename from content/docs/authorization/v1.x GA/design2.png rename to content/docs/authorization/design2.png diff --git a/content/docs/authorization/v1.x GA/karavi-authorization-example.png b/content/docs/authorization/karavi-authorization-example.png similarity index 100% rename from content/docs/authorization/v1.x GA/karavi-authorization-example.png rename to content/docs/authorization/karavi-authorization-example.png diff --git a/content/docs/authorization/v1.x GA/release/_index.md b/content/docs/authorization/release/_index.md similarity index 59% rename from content/docs/authorization/v1.x GA/release/_index.md rename to content/docs/authorization/release/_index.md index 489a70dbd4..7f187338c5 100644 --- a/content/docs/authorization/v1.x GA/release/_index.md +++ b/content/docs/authorization/release/_index.md @@ -6,7 +6,7 @@ Description: > Dell Container Storage Modules (CSM) release notes for authorization --- -## Release Notes - CSM Authorization 1.11.0 +## Release Notes - CSM Authorization 1.10.1 @@ -26,3 +26,4 @@ Description: > ### Known Issues | Issue | Workaround | |-------|------------| +| CSM Operator does not support dynamic namespaces for Authorization. Despite successful installation in a namespace other than "authorization", errors may arise during volume creation. | Use the default namespace "authorization" for installing Authorization using CSM Operator| diff --git a/content/docs/authorization/v1.x GA/troubleshooting.md b/content/docs/authorization/troubleshooting.md similarity index 100% rename from content/docs/authorization/v1.x GA/troubleshooting.md rename to content/docs/authorization/troubleshooting.md diff --git a/content/docs/authorization/v1.x GA/_index.md b/content/docs/authorization/v1.x GA/_index.md deleted file mode 100644 index 21d8e269ef..0000000000 --- a/content/docs/authorization/v1.x GA/_index.md +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: Authorization - v1.x GA -linktitle: v1.x GA -weight: 4 -Description: > - Dell Technologies (Dell) Container Storage Modules (CSM) for Authorization v1.x GA. -tags: - - csm-authorization ---- - -The following diagram shows a high-level overview of CSM for Authorization with a `tenant-app` that is using a CSI driver to perform storage operations through the CSM for Authorization `proxy-server` to access the a Dell storage system. All requests from the CSI driver will contain the token for the given tenant that was granted by the Storage Administrator. - -![CSM for Authorization](./karavi-authorization-example.png "CSM for Authorization") - -## CSM for Authorization Capabilities -{{}} -| Feature | PowerFlex | PowerMax | PowerScale | Unity XT | PowerStore | -| - | - | - | - | - | - | -| Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | Yes | No (natively supported) | No | No | -| Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | Yes | No (natively supported) | No | No | -| Ability to shield storage credentials from Kubernetes administrators ensuring credentials are only handled by storage admins | Yes | Yes | Yes | No | No | -{{
}} - -**NOTE:** PowerScale OneFS implements its own form of Role-Based Access Control (RBAC). CSM for Authorization does not enforce any role-based restrictions for PowerScale. To configure RBAC for PowerScale, refer to the PowerScale OneFS [documentation](https://www.dell.com/support/home/en-us/product-support/product/isilon-onefs/docs). - -## Authorization Components Support Matrix -CSM for Authorization consists of 2 components - The authorization sidecar, bundled with the driver, communicates with the Authorization proxy server to validate access to Storage platforms. The authorization sidecar is backward compatible with older Authorization proxy server versions. However, it is highly recommended to have the Authorization proxy server and sidecar installed from the same release of CSM. - -**NOTE:** If the deployed CSI driver has a number of controller pods equal to the number of schedulable nodes in your cluster, CSM for Authorization may not be able to inject properly into the driver's controller pod. -To resolve this, please refer to our [troubleshooting guide](./troubleshooting) on the topic. - -## Roles and Responsibilities - -The CSM for Authorization CLI can be executed in the context of the following roles: -- Storage Administrators -- Kubernetes Tenant Administrators - -### Storage Administrators - -Storage Administrators can perform the following operations within CSM for Authorization - -- Tenant Management (create, get, list, delete, bind roles, unbind roles) -- Token Management (generate, revoke) -- Storage System Management (create, get, list, update, delete) -- Storage Access Roles Management (assign to a storage system with an optional quota) - -### Tenant Administrators - -Tenants of CSM for Authorization can use the token provided by the Storage Administrators in their storage requests. - -### Workflow - -1) Tenant Admin requests storage from a Storage Admin. -2) Storage Admin uses CSM Authorization CLI to:
- a) Create a tenant resource.
- b) Create a role permitting desired storage access.
- c) Assign the role to the tenant and generate a token.
-3) Storage Admin returns a token to the Tenant Admin. -4) Tenant Admin inputs the Token into their Kubernetes cluster as a Secret. -5) Tenant Admin updates CSI driver with CSM Authorization sidecar module. - -![CSM for Authorization Workflow](./design2.png "CSM for Authorization Workflow") diff --git a/content/docs/authorization/v2.0 Tech Preview/_index.md b/content/docs/authorization/v2.0 Tech Preview/_index.md deleted file mode 100644 index 2da76696a7..0000000000 --- a/content/docs/authorization/v2.0 Tech Preview/_index.md +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: Authorization - v2.0 Tech Preview -linktitle: v2.0 Tech Preview -weight: 4 -Description: > - Dell Technologies (Dell) Container Storage Modules (CSM) for Authorization v2.0 Tech Preview. -tags: - - csm-authorization ---- - ->> NOTE: This tech-preview release is not intended for use in production environment. - ->> NOTE: Only supported on PowerFlex. - -The following diagram shows a high-level overview of CSM for Authorization with a `tenant-app` that is using a CSI driver to perform storage operations through the CSM for Authorization `proxy-server` to access the a Dell storage system. All requests from the CSI driver will contain the token for the given tenant that was granted by the Storage Administrator. - -![Alt text](image.png) - -This is the introduction to a Stateless Architecture for Authorization. The creation of storage, roles, and tenants is done through Custom Resources (CRs) which are tracked and contained within CSM Authorization. The underlying communication is consistent with the previous architecture which makes the creation of volumes and snapshots seamless. - -## CSM for Authorization Capabilities -{{}} -| Feature | PowerFlex | PowerMax | PowerScale | -| ----------------------------------------------------------------------------------------------------------------------------- | --------- | -------- | ---------- | -| Ability to set storage quota limits to ensure k8s tenants are not overconsuming storage | Yes | No | No | -| Ability to create access control policies to ensure k8s tenant clusters are not accessing storage that does not belong to them | Yes | No | No | -| Ability to shield storage credentials from Kubernetes administrators by storing them in vault | Yes | No | No | -| Ability to create snapshots from owned volumes that consume the storage quota | Yes | No | No | -| Ability to periodically query storage array to keep quota consumption in sync | Yes | No | No | -{{
}} - -### Snapshot Support - -As stated above, all snapshot requests that are associated with a volume that has been approved and created will go through a similar authorization processes ensuring that the snapshot fits within the allotted quota. - -```yaml -apiVersion: snapshot.storage.k8s.io/v1 -kind: VolumeSnapshot -metadata: - name: vol1-snapshot -spec: - volumeSnapshotClassName: vxflexos-snapclass - source: - persistentVolumeClaimName: vol1 -``` - -This will take a snapshot of the `persistent volume claim` named `vol1`. CSM Authorization will verify ownership with Redis to ensure that the tenant who is attempting to create the snapshot owns the `vol1` volume. If the tenant does own the volume, authorization will proceed to check to see if the snapshot fits within the allotted quota and add a record if it does. - -### Backend Storage Polling - -A configurable polling mechanism has been introduced to ensure that the tenant and Redis are always in sync with the backend storage configured. This is determined by the [volumePrefix](configuration/proxy-server/#configuring-tenants) specified for the `tenant`. During polling, for each of the tenants and roles, the storage service will ensure that nothing has been removed or added by the storage admin which would lead to Redis being out of sync. - -If a volume is created with the matching `volumePrefix`, the new entry will be added to Redis and the available quota will be consumed accordingly. Similarly, if a snapshot is created from a volume that is owned by the tenant in the backend storage array, that will be added to Redis. - -Lastly, if there is any deletion on the backend storage array of a volume or snapshot that is owned by the tenant, that entry will be deleted from Redis and the available capacity will reflect accordingly. - -## Roles and Responsibilities - -The Stateless CSM Authorization contains the following roles: -- Storage Administrators -- Kubernetes Tenant Administrators - -### Storage Administrators - -Storage Administrators perform the following: - -- Storage System Management (create, get, delete) -- Role Management (create, get, delete) -- Tenant Management (create, get, delete) -- Token Management (create, revoke) - -For more information on the configuration of the above, see the configuration of the [Proxy Server](../v2.0-tech-preview/configuration/proxy-server/#configuring-storage). - -### Tenant Administrators - -Tenants of CSM for Authorization can use the token provided by the Storage Administrators in their storage requests. - -For more information on how to use the token and configuration, see configuration for the [PowerFlex driver](../v2.0-tech-preview/configuration/powerflex). \ No newline at end of file diff --git a/content/docs/authorization/v2.0 Tech Preview/authorization-ha-example.png b/content/docs/authorization/v2.0 Tech Preview/authorization-ha-example.png deleted file mode 100644 index 5b8efc09e467690cf7bf9bffb29050d16c5cd234..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 121616 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

9e65;s-;dr78p?CQ-yZHuEW3{Auhhm$yy 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 diff --git a/content/docs/authorization/v2.0 Tech Preview/configuration/_index.md b/content/docs/authorization/v2.0 Tech Preview/configuration/_index.md deleted file mode 100644 index ce03f60cec..0000000000 --- a/content/docs/authorization/v2.0 Tech Preview/configuration/_index.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Configuration -linktitle: Configuration -weight: 2 -description: Configure CSM Authorization ---- - -This section provides the details and instructions on how to configure CSM Authorization. \ No newline at end of file diff --git a/content/docs/authorization/v2.0 Tech Preview/configuration/powerflex/_index.md b/content/docs/authorization/v2.0 Tech Preview/configuration/powerflex/_index.md deleted file mode 100644 index 2cb84ca9b0..0000000000 --- a/content/docs/authorization/v2.0 Tech Preview/configuration/powerflex/_index.md +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: PowerFlex -linktitle: PowerFlex -description: > - Enabling CSM Authorization for PowerFlex CSI Driver ---- - -## 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: - -1. Apply the secret containing the tenant token data into the driver namespace. It's assumed that the Kubernetes administrator has the token secret manifest, generated by your storage administrator via [Generate a Token](../proxy-server/#generate-a-token), saved in `/tmp/token.yaml`. - - ```bash - kubectl apply -f /tmp/token.yaml -n vxflexos - ``` - - This takes the assumption that Powerflex will be installed in the `vxflexos` namespace. - -2. Edit these parameters in `samples/secret/karavi-authorization-config.json` file in the [CSI PowerFlex](https://github.com/dell/csi-powerflex/tree/main/samples) driver and update/add connection information for one or more backend storage arrays. In an instance where multiple CSI drivers are configured on the same Kubernetes cluster, the port range in the *endpoint* parameter must be different for each driver. - - | Parameter | Description | Required | Default | - | --------- | ----------- | -------- |-------- | - | username | Username for connecting to the backend storage array. This parameter is ignored. | No | - | - | password | Password for connecting to to the backend storage array. This parameter is ignored. | No | - | - | intendedEndpoint | HTTPS REST API endpoint of the backend storage array. | Yes | - | - | endpoint | HTTPS localhost endpoint that the authorization sidecar will listen on. | Yes | https://localhost:9400 | - | systemID | System ID of the backend storage array. | Yes | " " | - | skipCertificateValidation | A boolean that enables/disables certificate validation of the backend storage array. This parameter is not used. | No | true | - | isDefault | A boolean that indicates if the array is the default array. This parameter is not used. | No | default value from values.yaml | - - Create the karavi-authorization-config secret using this command: - - ```bash - - kubectl -n vxflexos create secret generic karavi-authorization-config --from-file=config=samples/secret/karavi-authorization-config.json -o yaml --dry-run=client | kubectl apply -f - - ``` - -3. Create the proxy-server-root-certificate secret. - - If running in *insecure* mode, create the secret with empty data: - - ```bash - - kubectl -n vxflexos create secret generic proxy-server-root-certificate --from-literal=rootCertificate.pem= -o yaml --dry-run=client | kubectl apply -f - - ``` - - Otherwise, create the proxy-server-root-certificate secret with the appropriate file: - - ```bash - - kubectl -n vxflexos create secret generic proxy-server-root-certificate --from-file=rootCertificate.pem=/path/to/rootCA -o yaml --dry-run=client | kubectl apply -f - - ``` - -4. Prepare the driver configuration secret, applicable to your driver installation method, to communicate with the CSM Authorization sidecar. - - **Operator** - - Refer to the [Create Secret](../../../../deployment/csmoperator/drivers/powerflex/#create-secret) section to prepare `secret.yaml` to configure the driver to communicate with the CSM Authorization sidecar. - - - Update `endpoint` to match the localhost endpoint in `samples/secret/karavi-authorization-config.json`. - - - Update `skipCertificateValidation` to `true`. - - - The `username` and `password` can be any value since they will be ignored. - - Example: - - ```yaml - - username: "ignored" - password: "ignored" - systemID: "ID2" - endpoint: "https://localhost:9400" - skipCertificateValidation: true - isDefault: true - mdm: "10.0.0.3,10.0.0.4" - ``` - -5. Enable CSM Authorization in the driver installation applicable to your installation method. - - **Operator** - - Refer to the [Install Driver](../../../../deployment/csmoperator/drivers/powerflex/#install-driver) section to edit the parameters in the Custom Resource to enable CSM Authorization. - - Under `modules`, enable the module named `authorization`: - - - Update the `enabled` field to `true.` - - - Update the `image` to the image of the CSM Authorization sidecar. In most cases, you can leave the default value. - - - Update the `PROXY_HOST` environment value to the hostname of the CSM Authorization Proxy Server. `csm-authorization.com` is a placeholder for the proxyHost. See the administrator of CSM for Authorization for the correct value. - - - Update the `SKIP_CERTIFICATE_VALIDATION` environment value to `true` or `false` depending on if you want to disable or enable certificate validation of the CSM Authorization Proxy Server. - - - Do not update the `configVersion`. You will notice in the example that it is set to v1.11.0, this ensures that checks on version support do not prevent deployment of the v2.0.0-alpha authorization tech preview. - - Example: - - ```yaml - modules: - # Authorization: enable csm-authorization for RBAC - - name: authorization - # enable: Enable/Disable csm-authorization - enabled: true - configVersion: v1.11.0 - components: - - name: karavi-authorization-proxy - image: dellemc/csm-authorization-sidecar:v2.0.0-alpha - envs: - # proxyHost: hostname of the csm-authorization server - - name: "PROXY_HOST" - value: "csm-authorization.com" - - # skipCertificateValidation: Enable/Disable certificate validation of the csm-authorization server - - name: "SKIP_CERTIFICATE_VALIDATION" - value: "true" - ``` - -6. Install the Dell CSI PowerFlex driver following the appropriate documenation for your installation method. diff --git a/content/docs/authorization/v2.0 Tech Preview/configuration/proxy-server/_index.md b/content/docs/authorization/v2.0 Tech Preview/configuration/proxy-server/_index.md deleted file mode 100644 index 934dd61d3a..0000000000 --- a/content/docs/authorization/v2.0 Tech Preview/configuration/proxy-server/_index.md +++ /dev/null @@ -1,166 +0,0 @@ ---- -title: Proxy Server -linktitle: Proxy Server -description: > - Configuring the CSM for Authorization Proxy Server ---- - -## Configuring the CSM for Authorization Proxy Server - -Run `kubectl -n authorization get ingress` and `kubectl -n authorization get service` to see the Ingress rules for these services and the exposed port for accessing these services via the LoadBalancer. For example: - -```bash -kubectl -n authorization get ingress -``` -``` -NAME CLASS HOSTS ADDRESS PORTS AGE -proxy-server nginx csm-authorization.com 00, 000 86s -``` -```bash -kubectl -n authorization get service -``` -``` -NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE -authorization-cert-manager ClusterIP 00.000.000.000 000/TCP 28s -authorization-cert-manager-webhook ClusterIP 00.000.000.000 000/TCP 27s -authorization-ingress-nginx-controller LoadBalancer 00.000.000.000 00:00000/TCP,000:00000/TCP 27s -authorization-ingress-nginx-controller-admission ClusterIP 00.000.000.000 000/TCP 27s -proxy-server ClusterIP 00.000.000.000 000/TCP 28s -redis-csm ClusterIP 00.000.000.000 000/TCP 28s -rediscommander ClusterIP 00.000.000.000 000/TCP 27s -role-service ClusterIP 00.000.000.000 000/TCP 27s -sentinel ClusterIP 00.000.000.000 000/TCP 27s -storage-service ClusterIP 00.000.000.000 000/TCP 27s -tenant-service ClusterIP 00.000.000.000 000/TCP 28s -``` - -On the machine running `dellctl`, if the Ingress host is left default (`csm-authorization.com`) during installation or any of the hostnames don't resolve, the hostnames needs to be add to the `/etc/hosts` file. For example: - -```bash - csm-authorization.com -``` - -Afterwards, the storage administrator can configure Authorization with the following via Customer Resources (CRs): -- Storage systems -- Tenants -- Roles - -### Configuring Storage - -A `storage` entity in CSM Authorization consists of the storage type (PowerFlex), the system ID, the API endpoint, and the vault credentials path. For example, to create PowerFlex storage: - -```yaml -apiVersion: csm-authorization.storage.dell.com/v1alpha1 -kind: Storage -metadata: - name: powerflex -spec: - type: powerflex - endpoint: https://10.0.0.1 - systemID: 1000000000000000 - credentialStore: vault - credentialPath: storage/powerflex - skipCertificateValidation: true - pollInterval: 30s -``` - ->__Note__: -> - The `credentialStore` is the way that credentials for the storage array are stored. -> - The `credentialPath` is the location within the store that the credentials for the array are stored. - -### Configuring Roles - -A `role` consists of a name, the storage array to use, and the quota limit for the storage pool to be used. For example, to create a role named `role1` using the PowerFlex storage created above with a quota limit of 128GB in storage pool `myStoragePool`: - -```yaml -apiVersion: csm-authorization.storage.dell.com/v1alpha1 -kind: CSMRole -metadata: - labels: - app.kubernetes.io/name: role - app.kubernetes.io/instance: role-sample - app.kubernetes.io/part-of: csm-authorization - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/created-by: csm-authorization - name: role1 -spec: - quota: 128GB - systemID: 1000000000000000 - systemType: powerflex - pool: myStoragePool -``` - ->__Note__: -> - The `name` is the name of the role that will be used to bind with the tenant. -> - The `quota` is the amount of allocated space for the specified role. - -### Configuring Tenants - -A `tenant` is a Kubernetes cluster that a role will be bound to. For example, to create a tenant named `csmtenant-sample`: - -```yaml -apiVersion: csm-authorization.storage.dell.com/v1alpha1 -kind: CSMTenant -metadata: - labels: - app.kubernetes.io/name: csmtenant - app.kubernetes.io/instance: csmtenant-sample - app.kubernetes.io/part-of: csm-authorization - app.kubernetes.io/managed-by: kustomize - app.kubernetes.io/created-by: csm-authorization - name: csmtenant-sample -spec: - roles: role1 - approveSdc: false - revoke: false - # This prefix is added for each new volume provisioned by the tenant. - # It should not exceed 3 characters. Example: tn1 - volumePrefix: tn1 - -``` - ->__Note__: -> - The `roles` are a comma seperate list of roles that the tenant can be associated with. -> - The `volumePrefix` is the prefix that all volumes and snapshots will contain to show association with the tenant. -> - By creating a tenant, it will automatically bind with the roles for usage. - -### Generate a Token - -Once the tenant is created, an access/refresh token pair can be created for the tenant. The storage admin is responsible for generating and sending the token to the Kubernetes tenant admin. - -Generate an administrator token: - -```bash -dellctl admin token -n --access-token-expiration 1m30s --refresh-token-expiration 720h --jwt-signing-secret > admin.yaml -``` - -You can also pass in the `jwt-signing-secret` via terminal prompt by not supplying the `--jwt-signing-secret` argument: - -```bash -dellctl admin token -n --access-token-expiration 1m30s --refresh-token-expiration 720h > admin.yaml -``` - -```bash - dellctl generate token --admin-token admin.yaml --addr csm-authorization.com: --insecure true --tenant --access-token-expiration 30m0s --refresh-token-expiration 1480h0m0s > token.yaml -``` - -`token.yaml` will have a Kubernetes secret manifest that looks like this: - -```yaml -apiVersion: v1 -data: - access: ZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SmhkV1FpT2lKamMyMGlMQ0psZUhBaU9qRTNNVFkwTURRd016UXNJbWR5YjNWd0lqb2lZM050ZEdWdVlXNTBMWE5oYlhCc1pTSXNJbWx6Y3lJNkltTnZiUzVrWld4c0xtTnpiU0lzSW5KdmJHVnpJam9pY205c1pURWlMQ0p6ZFdJaU9pSmpjMjB0ZEdWdVlXNTBJbjAuRmtVTGotT01mSW9rN3ZWNmFKQURXR1dva1Bsd1huT2tZeWxSclZjN2F5Zw== - refresh: ZXlKaGJHY2lPaUpJVXpJMU5pSXNJblI1Y0NJNklrcFhWQ0o5LmV5SmhkV1FpT2lKamMyMGlMQ0psZUhBaU9qRTNNakUzTXpBeU16UXNJbWR5YjNWd0lqb2lZM050ZEdWdVlXNTBMWE5oYlhCc1pTSXNJbWx6Y3lJNkltTnZiUzVrWld4c0xtTnpiU0lzSW5KdmJHVnpJam9pY205c1pURWlMQ0p6ZFdJaU9pSmpjMjB0ZEdWdVlXNTBJbjAudWRYSFZ3MGg1dTdoTjZaVGJlNHgyYXRMWWhIamQta1ZtTFBVUHpXOHNIaw== -kind: Secret -metadata: - creationTimestamp: null - name: proxy-authz-tokens -type: Opaque -``` - -This secret must be applied in the driver namespace. - ->__Note__: -> - The `insecure` flag specifies to skip certificate validation when connecting to the Authorization proxy-server. -> - The `addr` flag is the address of the Authorization proxy-server. -> - The `tenant` flag specifies which tenant to generate the token for. diff --git a/content/docs/authorization/v2.0 Tech Preview/image.png b/content/docs/authorization/v2.0 Tech Preview/image.png deleted file mode 100644 index d21d835580df2ad532372db677c3b209f70c4cdd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 178897 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%0D?-|3W0y#j$$V@ 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

N? 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 qmUy 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

    uK79TB(Bzrc=vpG>sNdLA8ZOurI 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 EFY%2qO8@`> diff --git a/content/docs/cosidriver/release/_index.md b/content/docs/cosidriver/release/_index.md index 03121d192b..2fbbebd148 100644 --- a/content/docs/cosidriver/release/_index.md +++ b/content/docs/cosidriver/release/_index.md @@ -5,7 +5,7 @@ weight: 6 description: Release Notes for COSI Driver --- -## Release Notes - COSI Driver v0.3.0 +## Release Notes - COSI Driver v0.2.1 diff --git a/content/docs/csidriver/_index.md b/content/docs/csidriver/_index.md index 76ff92a022..3cf82bf341 100644 --- a/content/docs/csidriver/_index.md +++ b/content/docs/csidriver/_index.md @@ -16,7 +16,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- {{}} | Features | PowerMax | PowerFlex | Unity XT | PowerScale | PowerStore | |--------------------------|:--------:|:---------:|:---------:|:----------:|:----------:| -| CSI Driver version | 2.11.0 | 2.11.0 | 2.11.0 | 2.11.0 | 2.11.0 | +| CSI Driver version | 2.10.1 | 2.10.1 | 2.10.1 | 2.10.1 | 2.10.1 | | Static Provisioning | yes | yes | yes | yes | yes | | Dynamic Provisioning | yes | yes | yes | yes | yes | | Expand Persistent Volume | yes | yes | yes | yes | yes | @@ -41,7 +41,7 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- |---------------|:----------------:|:------------------:|:----------------:|:----------------:|:----------------:| | Fibre Channel | yes | N/A | yes | N/A | yes | | iSCSI | yes | N/A | yes | N/A | yes | -| NVMeTCP | yes | N/A | N/A | N/A | yes | +| NVMeTCP | N/A | N/A | N/A | N/A | yes | | NVMeFC | N/A | N/A | N/A | N/A | yes | | NFS | yes - SDNAS only (not eNAS) | yes | yes | yes | yes | | Other | N/A | ScaleIO protocol | N/A | N/A | N/A | @@ -50,4 +50,3 @@ The CSI Drivers by Dell implement an interface between [CSI](https://kubernetes- | Platform-specific configurable settings | Service Level selection
    iSCSI CHAP | - | Host IO Limit
    Tiering Policy
    NFS Host IO size
    Snapshot Retention duration | Access Zone
    NFS version (3 or 4);Configurable Export IPs | iSCSI CHAP | | Auto RDM(vSphere) | Yes(over FC) | N/A | N/A | N/A | N/A | {{
    }} - diff --git a/content/docs/csidriver/features/powerflex.md b/content/docs/csidriver/features/powerflex.md index c69d6ae7c4..0b2b109c74 100644 --- a/content/docs/csidriver/features/powerflex.md +++ b/content/docs/csidriver/features/powerflex.md @@ -765,9 +765,6 @@ The user can also set the volume limit for all the nodes in the cluster by speci ## NFS volume support Starting with version 2.8, the CSI driver for PowerFlex will support NFS volumes for PowerFlex storage systems version 4.0.x. -> NOTE: -> Starting from CSM 1.11.0, the CSI-PowerFlex driver will automatically round up NFS volume sizes to a minimum of 3GB if a smaller size is requested. This change prevents backend errors and ensures compatibility. - CSI driver will support following operations for NFS volumes: * Creation and deletion of a NFS volume with RWO/RWX/ROX access modes. diff --git a/content/docs/csidriver/features/powermax.md b/content/docs/csidriver/features/powermax.md index 0cdc4ef70e..c21e42a153 100644 --- a/content/docs/csidriver/features/powermax.md +++ b/content/docs/csidriver/features/powermax.md @@ -636,13 +636,3 @@ This feature is also supported for limiting the volume provisioning on Kubernete >**NOTE:**
    The default value of `maxPowerMaxVolumesPerNode` is 0.
    If `maxPowerMaxVolumesPerNode` is set to zero, then CO shall decide how many volumes of this type can be published by the controller to the node.

    The volume limit specified to `maxPowerMaxVolumesPerNode` attribute is applicable to all the nodes in the cluster for which node label `max-powermax-volumes-per-node` is not set.
    Supported maximum number of RDM Volumes per VM is 60 as per the limitations.
    If the value is set both by node label and values.yaml file then node label value will get the precedence and user has to remove the node label in order to reflect the values.yaml value. -## NVMe/TCP Support - -The CSI Driver for Dell PowerMax supports NVMeTCP from v2.11.0. To enable NVMe/TCP provisioning, blockProtocol in settings file should be specified as NVMETCP. - -**Limitations**
    -These are the CSM modules not supported with NVMeTCP protocol: -- CSM Authorization -- CSM Observability -- CSM Application Mobility -- Metro Replication \ No newline at end of file diff --git a/content/docs/csidriver/features/powerscale.md b/content/docs/csidriver/features/powerscale.md index f096ee9604..4169acdc41 100644 --- a/content/docs/csidriver/features/powerscale.md +++ b/content/docs/csidriver/features/powerscale.md @@ -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 `=_=_==_=_==_=_=` +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 `=_=_==_=_==_=_=` 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. diff --git a/content/docs/csidriver/features/unity.md b/content/docs/csidriver/features/unity.md index 80e0c90839..aad8844439 100644 --- a/content/docs/csidriver/features/unity.md +++ b/content/docs/csidriver/features/unity.md @@ -711,16 +711,3 @@ data: TENANT_NAME: "" ``` >Note: csi-unity supports Tenancy in multi-array setup, provided the TenantName is the same across Unity XT instances. - -## Support custom networks for NFS I/O traffic - -When `allowedNetworks` is specified for using custom networks to handle NFS traffic, and a user already -has workloads scheduled, there is a possibility that it might lead to backward compatibility issues. For example, ControllerUnPublish might not be able to completely remove clients from the NFS exports of previously created pods. - -Also, the previous workload will still be using the default network and not custom networks. For previous workloads to use custom networks, the recreation of pods is required. - -When csi-unity driver creates an NFS export, the traffic flows through the client specified in the export. By default, the client is the network interface for Kubernetes -communication (same IP/fqdn as k8s node) by default. - -For a cluster with multiple network interfaces and if a user wants to segregate k8s traffic from NFS traffic; you can use the `allowedNetworks` option. -`allowedNetworks` takes CIDR addresses as a parameter to match the IPs to be picked up by the driver to allow and route NFS traffic. diff --git a/content/docs/csidriver/release/powerflex.md b/content/docs/csidriver/release/powerflex.md index f691061338..1a86c13149 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.11.0 +## Release Notes - CSI PowerFlex v2.10.1 @@ -40,10 +40,9 @@ A CSI ephemeral pod may not get created in OpenShift 4.13 and fail with the erro | 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. | | Resource quotas may not work properly with the CSI PowerFlex driver. PowerFlex is only able to assign storage in 8Gi chunks, so if a create volume call is made with a size not divisible by 8Gi, CSI-PowerFlex will round up to the next 8Gi boundary when it provisions storage -- however, the resource quota will not record this size but rather the original size in the create request. This means that, for example, if a 10Gi resource quota is set, and a user provisions 10 1Gi PVCs, 80Gi of storage will actually be allocated, which is well over the amount specified in the resource quota. | For now, users should only provision volumes in 8Gi-divisible chunks if they want to use resource quotas. | -| Helm install of CSM for PowerFlex v1.10.0 is failing due to a duplicate `mountPath: /host_opt_emc_path` being added to volumeMounts charts/csi-vxflexos/templates/node.yaml. Error message is `Error: INSTALLATION FAILED: 1 error occurred: DaemonSet.apps "vxflexos-node" is invalid: spec.template.spec.initContainers[0].volumeMounts[4].mountPath: Invalid value: "/host_opt_emc_path": must be unique` | The issue can be resolved by removing the duplicate entry in [https://github.com/dell/helm-charts/blob/main/charts/csi-vxflexos/templates/node.yaml](https://github.com/dell/helm-charts/blob/main/charts/csi-vxflexos/templates/node.yaml) | ### Note: -- Support for Kubernetes alpha features like Volume Health Monitoring will not be available in Openshift environment as Openshift doesn't support enabling of alpha features for Production Grade clusters. -- For fixing [#1210 - [BUG]: Helm deployment of PowerFlex driver is failing](https://github.com/dell/csm/issues/1210), a new helm-chart has been released. In order to install this helm chart, we need to pass the flag `--helm-charts-version` during helm installation and flag `-v` during offline bundle installation with value `csi-vxflexos-2.11.0`. +- 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. +- For fixing [#1210 - [BUG]: Helm deployment of PowerFlex driver is failing](https://github.com/dell/csm/issues/1210), a new helm-chart has been released. In order to install this helm chart, we need to pass the flag `--helm-charts-version` during helm installation and flag `-v` during offline bundle installation with value `csi-vxflexos-2.10.1`. diff --git a/content/docs/csidriver/release/powermax.md b/content/docs/csidriver/release/powermax.md index d8aab8f729..06b51d08c7 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.11.0 +## Release Notes - CSI PowerMax v2.10.1 >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 2e68996e7a..c2fdff0399 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.11.0 +## Release Notes - CSI Driver for PowerScale v2.10.1 diff --git a/content/docs/csidriver/release/powerstore.md b/content/docs/csidriver/release/powerstore.md index 9000b48db0..a6faeca3db 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.11.0 +## Release Notes - CSI PowerStore v2.10.1 @@ -29,18 +29,6 @@ description: Release notes for PowerStore CSI driver ### Known Issues -| Issue | Resolution or workaround, if known | -|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| 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
    | -| fsGroupPolicy may not work as expected without root privileges for NFS only
    https://github.com/kubernetes/examples/issues/260 | To get the desired behavior set "allowRoot: "true" in the storage class parameter | -| If the NVMeFC pod is not getting created and the host looses the ssh connection, causing the driver pods to go to error state | remove the nvme_tcp module from the host incase of NVMeFC connection | -| 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. | -| When driver node pods enter CrashLoopBackOff and PVC remains in pending state with one of the following events:
    1. failed to provision volume with StorageClass ``: error generating accessibility requirements: no available topology found
    2. waiting for a volume to be created, either by external provisioner "csi-powerstore.dellemc.com" or manually created by system administrator. | Check whether all array details present in the secret file are valid and remove any invalid entries if present.
    Redeploy the driver. | -| If an ephemeral pod is not being created in OpenShift 4.13 and is failing with the error "error when creating pod: the pod uses an inline volume provided by CSIDriver csi-powerstore.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 https://docs.openshift.com/container-platform/4.13/storage/container_storage_interface/ephemeral-storage-csi-inline.html . Therefore, an additional label "security.openshift.io/csi-ephemeral-volume-profile" needs to be added to the CSIDriver object to support inline ephemeral volumes. | -| In OpenShift 4.13, the root user is not allowed to perform write operations on NFS shares, when root squashing is enabled. | The workaround for this issue is to disable root squashing by setting allowRoot: "true" in the NFS storage class. | -| 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. | -| If two separate networks are configured for ISCSI and NVMeTCP, the driver may encounter difficulty identifying the second network (e.g., NVMeTCP). | This is a known issue, and the workaround involves creating a single network on the array to serve both ISCSI and NVMeTCP purposes. | -| When a PV/PVC is deleted in Kubernetes, it will trigger the deletion of the underlying volume and snapshot on the array as a default behaviour. This can result in a situation where the VolumeSnapshot and VolumeSnapshotContent will still show "readyToUse: true", but leaves them unusable because it is no longer backed by underlying storage snapshot. This will not allow the creation of a PVC from snapshot and this could also lead to a data loss situations. | This is a known issue, and the workaround is use of **retain** policy on the various PV, VolumeSnapshot and VolumeSnapshotContent that you wish to use for cloning. | | Issue | Resolution or workaround, if known | |-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | 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
    | @@ -56,4 +44,4 @@ description: Release notes for PowerStore CSI driver ### Note: -- Support for Kubernetes alpha features like Volume Health Monitoring will not be available in Openshift environment as Openshift doesn't support enabling of alpha features for Production Grade clusters. \ No newline at end of file +- Support for Kubernetes alpha features like Volume Health Monitoring will not be available in Openshift environment as Openshift doesn't support enabling of alpha features for Production Grade clusters. diff --git a/content/docs/csidriver/release/unity.md b/content/docs/csidriver/release/unity.md index ceecaff333..2d775e9939 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.11.0 +## Release Notes - CSI Unity XT v2.10.1 diff --git a/content/docs/csidriver/troubleshooting/powerflex.md b/content/docs/csidriver/troubleshooting/powerflex.md index 11b7af93f3..e4c8f0dcf2 100644 --- a/content/docs/csidriver/troubleshooting/powerflex.md +++ b/content/docs/csidriver/troubleshooting/powerflex.md @@ -6,7 +6,6 @@ description: Troubleshooting PowerFlex Driver | Symptoms | Prevention, Resolution or Workaround | |------------|--------------| -| After installation vxflexos-node pods are in an `Init:CrashLoopBackOff` state in OpenShift 4.16 with error message: ```Back-off restarting failed container sdc in pod vxflexos-node``` on non-supported kernel versions. | Use SDC version 4.5.2.1 in OpenShift 4.16. | | The installation fails with the following error message:
    ```Node xxx does not have the SDC installed```| Install the PowerFlex SDC on listed nodes. The SDC must be installed on all the nodes that need to pull an image of the driver. | | When you run the command `kubectl describe pods vxflexos-controller-* –n vxflexos`, the system indicates that the driver image could not be loaded. | - If on Kubernetes, edit the `daemon.json` file found in the registry location and add
    ```{ "insecure-registries" :[ "hostname.cloudapp.net:5000" ] }```
    - If on OpenShift, run the command `oc edit image.config.openshift.io/cluster` and add registries to yaml file that is displayed when you run the command. | |The `kubectl logs -n vxflexos vxflexos-controller-* driver` logs show that the driver is not authenticated.| Check the username, password, and the gateway IP address for the PowerFlex system.| @@ -31,7 +30,6 @@ description: Troubleshooting PowerFlex Driver | In version v2.6.0, when a cluster node goes down, the block volumes attached to the node cannot be attached to another node. | This is a known issue reported at [kubernetes-csi/external-attacher#215](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 pod's persistent volume attachment on the node that went down. Now the volume can be attached to the new node. 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.8.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. | | Standby controller pod is in crashloopbackoff state | Scale down the replica count of the controller pod's deployment to 1 using ```kubectl scale deployment --replicas=1 -n ``` | -|CSM object `vxflexos` is in falied state and CSI-Powerflex driver is not in running state | Verify the secret name: `kubectl get secret -n ` it should be in `-config` format. 1. Retrieve the existing secret: `kubectl get secret old-secret-name -n -o yaml > secret.yaml`
    2. Edit the secret.yaml file: Change metadata.name to -Config
    3. Apply the new secret: `kubectl apply -f secret.yaml`
    4. Delete the old secret: kubectl delete secret old-secret-name| > diff --git a/content/docs/deployment/csminstallationwizard/_index.md b/content/docs/deployment/csminstallationwizard/_index.md index c1ffbbeb58..da7efea482 100644 --- a/content/docs/deployment/csminstallationwizard/_index.md +++ b/content/docs/deployment/csminstallationwizard/_index.md @@ -13,26 +13,26 @@ The [Dell Container Storage Modules Installation Wizard](./src/index.html) is a | CSI Driver | Version | Helm | Operator | | ------------------ | --------- | ------ | --------- | -| CSI PowerStore | 2.11.0 |✔ |✔ | | CSI PowerStore | 2.10.1 |✔ |✔ | | CSI PowerStore | 2.9.0 |✔ |✔ | | CSI PowerStore | 2.8.0 |✔ |✔ | -| CSI PowerMax | 2.11.0 |✔ |✔ | +| CSI PowerStore | 2.7.0 |✔ |✔ | | CSI PowerMax | 2.10.1 |✔ |✔ | | CSI PowerMax | 2.9.0 |✔ |✔ | | CSI PowerMax | 2.8.0 |✔ |✔ | -| CSI PowerFlex | 2.11.0 |✔ |❌ | +| CSI PowerMax | 2.8.0 |✔ |✔ | | CSI PowerFlex | 2.10.1 |✔ |❌ | -| CSI PowerFlex | 2.9.0 |✔ |❌ | +| CSI PowerFlex | 2.9.0 |✔ |❌ | | CSI PowerFlex | 2.8.0 |✔ |❌ | -| CSI PowerScale | 2.11.0 |✔ |✔ | +| CSI PowerFlex | 2.7.0 |✔ |❌ | | CSI PowerScale | 2.10.1 |✔ |✔ | -| CSI PowerScale | 2.9.0 |✔ |✔ | +| CSI PowerScale | 2.9.0 |✔ |✔ | | CSI PowerScale | 2.8.0 |✔ |✔ | -| CSI Unity XT | 2.11.0 |✔ |❌ | +| CSI PowerScale | 2.7.0 |✔ |✔ | | CSI Unity XT | 2.10.1 |✔ |❌ | -| CSI Unity XT | 2.9.0 |✔ |❌ | +| CSI Unity XT | 2.9.0 |✔ |❌ | | CSI Unity XT | 2.8.0 |✔ |❌ | +| CSI Unity XT | 2.7.0 |✔ |❌ | >NOTE: The Installation Wizard currently does not support operator-based manifest file generation for Unity XT and PowerFlex drivers. diff --git a/content/docs/deployment/csminstallationwizard/release/_index.md b/content/docs/deployment/csminstallationwizard/release/_index.md index e3501247e6..b78a9f9b7d 100644 --- a/content/docs/deployment/csminstallationwizard/release/_index.md +++ b/content/docs/deployment/csminstallationwizard/release/_index.md @@ -5,7 +5,7 @@ weight: 5 description: Release notes for CSM Installation Wizard --- -## Release Notes - CSM Installation Wizard 1.3.0 +## Release Notes - CSM Installation Wizard 1.2.1 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 7ec130a487..2ba042bb0e 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.11.0 +csmVersion=1.10.2 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 df2597bfd4..18d70b9368 100644 --- a/content/docs/deployment/csminstallationwizard/src/index.html +++ b/content/docs/deployment/csminstallationwizard/src/index.html @@ -90,10 +90,10 @@

    diff --git a/content/docs/deployment/csminstallationwizard/src/static/js/constants.js b/content/docs/deployment/csminstallationwizard/src/static/js/constants.js index c11ae18901..7392ed8e73 100644 --- a/content/docs/deployment/csminstallationwizard/src/static/js/constants.js +++ b/content/docs/deployment/csminstallationwizard/src/static/js/constants.js @@ -40,10 +40,10 @@ const CONSTANTS = { PROPERTIES: ".properties", HELM: "helm", OPERATOR: "operator", + CSM_HELM_V170: "1.0.0", CSM_HELM_V180: "1.1.0", - CSM_HELM_V190: "1.2.2", + CSM_HELM_V190: "1.2.1", CSM_HELM_V1102: "1.3.2", - CSM_HELM_V1110: "1.4.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 44164efc64..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 @@ -42,10 +42,10 @@ const CONSTANTS = { PROPERTIES: ".properties", HELM: "helm", OPERATOR: "operator", + CSM_HELM_V170: "1.0.0", CSM_HELM_V180: "1.1.0", - CSM_HELM_V190: "1.2.2", - CSM_HELM_V1102: "1.3.2", - CSM_HELM_V1110: "1.4.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 eabffe7843..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 @@ -68,10 +68,10 @@ const CONSTANTS = { PROPERTIES: ".properties", HELM: "helm", OPERATOR: "operator", + CSM_HELM_V170: "1.0.0", CSM_HELM_V180: "1.1.0", - CSM_HELM_V190: "1.2.2", - CSM_HELM_V1102: "1.3.2", - CSM_HELM_V1110: "1.4.0", + CSM_HELM_V190: "1.2.0", + CSM_HELM_V1100: "1.3.0", }; describe("GIVEN onAuthorizationChange function", () => { @@ -257,22 +257,18 @@ describe("GIVEN onTopologyChange function", () => { document.body.innerHTML = `
    -
    `; onCertManagerChange("Temp topology note"); expect($("div#topology-note-wrapper").css("display")).toEqual("block"); - expect($("div#observability-operator-topology-wrapper").css("display")).toEqual("block"); }); test("SHOULD show topology components when option checked", () => { document.body.innerHTML = `