Skip to content

Commit

Permalink
Merge branch 'main' into release-1.10.2
Browse files Browse the repository at this point in the history
  • Loading branch information
rishabhatdell committed May 28, 2024
2 parents a92ad5d + 9ad03aa commit 4c7fb01
Show file tree
Hide file tree
Showing 51 changed files with 189 additions and 270 deletions.
53 changes: 53 additions & 0 deletions .github/workflows/broken-links.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Check Broken Links

on:
push:
branches: [ main ]
pull_request:
branches: [ main, release-* ]
jobs:
check-broken-links:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: '0.120.3'
extended: true
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: '16'
- name: Cache dependencies
uses: actions/cache@v3
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- run: npm ci
- name: Build
run: |
npm install -D --save autoprefixer
npm install -D --save postcss-cli
npm install -D --save postcss
hugo server --bind 127.0.0.1 &
- name: Wait for Hugo server
run: curl --head -X GET --retry 5 --retry-connrefused --retry-delay 10 http://127.0.0.1:1313/csm-docs/
- name: Scanning docs for broken links
continue-on-error: true
run: |
wget --verbose --spider -o spider.log -e robots=off -rp http://127.0.0.1:1313/csm-docs/
- name: Getting output
continue-on-error: true
run: |
sed -i '/http:\/\/127.0.0.1:1313\/favicons\/favicon.ico/d' spider.log
sed -i '/http:\/\/127.0.0.1:1313\/css\/prism.css/d' spider.log
sed -n '/broken links/,$p' spider.log | grep 'http' > broken_links
- name: Check for broken links
run: |
wc -l broken_links
cat broken_links
wc -l broken_links | grep -Fxq "0 broken_links"
4 changes: 2 additions & 2 deletions content/docs/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,10 @@ CSM is made up of multiple components including modules (enterprise capabilities
{{< /card >}}
{{< /cardpane >}}
{{< cardpane >}}
{{< card header="[License](license/)"
{{< card header="[License](support/license/)"
footer="Required for [Application Mobility](applicationmobility/) & [Encryption](secure/encryption/)">}}
The tech-preview releases of Application Mobility and Encryption require a license.
Request a license using the [Container Storage Modules License Request](https://app.smartsheet.com/b/form/5e46fad643874d56b1f9cf4c9f3071fb) by providing the requested details.
[...Learn more](license/)
[...Learn more](support/license/)
{{< /card >}}
{{< /cardpane >}}
2 changes: 1 addition & 1 deletion content/docs/applicationmobility/use_cases.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Description: >
Use Cases
---

After Application Mobility is installed, the [dellctl CLI](../../references/cli/) can be used to register clusters and manage backups and restores of applications. These examples also provide references for using the Application Mobility Custom Resource Definitions (CRDs) to define Custom Resources (CRs) as an alternative to using the `dellctl` CLI.
After Application Mobility is installed, the [dellctl CLI](../../support/cli) can be used to register clusters and manage backups and restores of applications. These examples also provide references for using the Application Mobility Custom Resource Definitions (CRDs) to define Custom Resources (CRs) as an alternative to using the `dellctl` CLI.

## Backup and Restore an Application
This example details the steps when an application in namespace `demo1` is being backed up and then later restored to either the same cluster or another cluster. In this sample, both Application Mobility and Velero are installed in the `application-mobility` namespace.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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](../../../references/cli) to perform Kubernetes administrator commands for additional capabilities (e.g., list volumes). Please refer to the [dellctl documentation page](../../../references/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.
Original file line number Diff line number Diff line change
Expand Up @@ -146,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](../../../references/cli) to perform Kubernetes administrator commands for additional capabilities (e.g., list volumes). Please refer to the [dellctl documentation page](../../../references/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.
Original file line number Diff line number Diff line change
Expand Up @@ -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](../../../references/cli) to perform Kubernetes administrator commands for additional capabilities (e.g., list volumes). Please refer to the [dellctl documentation page](../../../references/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.
7 changes: 2 additions & 5 deletions content/docs/csidriver/features/powermax.md
Original file line number Diff line number Diff line change
Expand Up @@ -547,13 +547,10 @@ kubectl edit configmap -n powermax powermax-config-params

CSI Driver for Dell PowerMax 2.2.0 and above supports volume health monitoring. To enable Volume Health Monitoring from the node side, the alpha feature gate CSIVolumeHealth needs to be enabled. To use this feature, set controller.healthMonitor.enabled and node.healthMonitor.enabled to true. To change the monitor interval, set controller.healthMonitor.interval parameter.

## Single Pod Access Mode for PersistentVolumes- ReadWriteOncePod (ALPHA FEATURE)
## Single Pod Access Mode for PersistentVolumes- ReadWriteOncePod

Use `ReadWriteOncePod(RWOP)` access mode if you want to ensure that only one pod across the whole cluster can read that PVC or write to it. This is only supported for CSI Driver for PowerMax 2.2.0+ and Kubernetes version 1.22+.

To use this feature, enable the ReadWriteOncePod feature gate for kube-apiserver, kube-scheduler, and kubelet, by setting command line arguments:
`--feature-gates="...,ReadWriteOncePod=true"`

### Creating a PersistentVolumeClaim
```yaml
kind: PersistentVolumeClaim
Expand All @@ -570,7 +567,7 @@ spec:

When this feature is enabled, the existing `ReadWriteOnce(RWO)` access mode restricts volume access to a single node and allows multiple pods on the same node to read from and write to the same volume.

To migrate existing PersistentVolumes to use `ReadWriteOncePod`, please follow the instruction from [here](https://kubernetes.io/blog/2021/09/13/read-write-once-pod-access-mode-alpha/#migrating-existing-persistentvolumes).
To migrate existing PersistentVolumes to use `ReadWriteOncePod`, please follow the instruction from [here](https://kubernetes.io/docs/tasks/administer-cluster/change-pv-access-mode-readwriteoncepod/).

## Support for auto RDM for vSphere over FC

Expand Down
8 changes: 2 additions & 6 deletions content/docs/csidriver/features/powerscale.md
Original file line number Diff line number Diff line change
Expand Up @@ -660,15 +660,11 @@ For example, if a volume were to be deleted from the array, or unmounted outside
1. For controller plugin, by setting attribute `controller.healthMonitor.enabled` to `true` in `values.yaml` file. Also health monitoring interval can be changed through attribute `controller.healthMonitor.interval` in `values.yaml` file.
2. For node plugin, by setting attribute `node.healthMonitor.enabled` to `true` in `values.yaml` file and by enabling the alpha feature gate `CSIVolumeHealth`.

## Single Pod Access Mode for PersistentVolumes- ReadWriteOncePod (ALPHA FEATURE)
## Single Pod Access Mode for PersistentVolumes- ReadWriteOncePod

Use `ReadWriteOncePod(RWOP)` access mode if you want to ensure that only one pod across the whole cluster can read that PVC or write to it. This is supported for CSI Driver for PowerScale 2.1.0+ and Kubernetes version 1.22+.

To use this feature, enable the ReadWriteOncePod feature gate for kube-apiserver, kube-scheduler, and kubelet, by setting command line arguments:
`--feature-gates="...,ReadWriteOncePod=true"`

### Creating a PersistentVolumeClaim

```yaml
kind: PersistentVolumeClaim
apiVersion: v1
Expand All @@ -684,4 +680,4 @@ spec:

When this feature is enabled, the existing `ReadWriteOnce(RWO)` access mode restricts volume access to a single node and allows multiple pods on the same node to read from and write to the same volume.

To migrate existing PersistentVolumes to use `ReadWriteOncePod`, please follow the instruction from [here](https://kubernetes.io/blog/2021/09/13/read-write-once-pod-access-mode-alpha/#migrating-existing-persistentvolumes).
To migrate existing PersistentVolumes to use `ReadWriteOncePod`, please follow the instruction from [here](https://kubernetes.io/docs/tasks/administer-cluster/change-pv-access-mode-readwriteoncepod/).
17 changes: 7 additions & 10 deletions content/docs/csidriver/features/powerstore.md
Original file line number Diff line number Diff line change
Expand Up @@ -633,18 +633,11 @@ The user will be able to install the driver and able to create pods.
CSI Driver for Dell Powerstore 2.1.0 and above supports volume health monitoring. To enable Volume Health Monitoring from the node side, the alpha feature gate CSIVolumeHealth needs to be enabled. To use this feature, set controller.healthMonitor.enabled and node.healthMonitor.enabled to true. To change the monitor interval, set controller.healthMonitor.interval parameter.


## Single Pod Access Mode for PersistentVolumes
## Single Pod Access Mode for PersistentVolumes- ReadWriteOncePod

Starting from version 2.1, CSI Driver for Powerstore now supports a new access mode `ReadWriteOncePod` for PersistentVolumes and PersistentVolumeClaims. With this feature, CSI Driver for Powerstore allows restricting volume access to a single pod in the cluster and within a worker node.
Use `ReadWriteOncePod(RWOP)` access mode if you want to ensure that only one pod across the whole cluster can read that PVC or write to it. This is supported for CSI Driver for PowerStore 2.1.0+ and Kubernetes version 1.22+.

Prerequisites

1. Enable the ReadWriteOncePod feature gate for kube-apiserver, kube-scheduler, and kubelet as ReadWriteOncePod access mode is in alpha for Kubernetes v1.22 and is supported only for CSI volumes. You can enable the feature by setting command-line argument:
```bash
--feature-gates="...,ReadWriteOncePod=true"
```

2. Create a PVC with access mode set to ReadWriteOncePod like shown in the sample below
### Creating a PersistentVolumeClaim
```yaml
kind: PersistentVolumeClaim
apiVersion: v1
Expand All @@ -660,6 +653,10 @@ spec:

>Note: The access mode ReadWriteOnce allows multiple pods to access a single volume within a single worker node and the behavior is consistent across all supported Kubernetes versions.

When this feature is enabled, the existing `ReadWriteOnce(RWO)` access mode restricts volume access to a single node and allows multiple pods on the same node to read from and write to the same volume.

To migrate existing PersistentVolumes to use `ReadWriteOncePod`, please follow the instruction from [here](https://kubernetes.io/docs/tasks/administer-cluster/change-pv-access-mode-readwriteoncepod/).

## POSIX mode bits and NFSv4 ACLs

CSI PowerStore driver version 2.2.0 and later allows users to set user-defined permissions on NFS target mount directory using POSIX mode bits or NFSv4 ACLs.
Expand Down
42 changes: 21 additions & 21 deletions content/docs/csidriver/features/unity.md
Original file line number Diff line number Diff line change
Expand Up @@ -516,27 +516,27 @@ The user will be able to install the driver and able to create pods.

**NOTE:** On Unity, management port does not support NAT. NAT needs to be disabled on the Unity array's management network.

## Single Pod Access Mode for PersistentVolumes
CSI Driver for Unity XT supports a new accessmode `ReadWriteOncePod` for PersistentVolumes and PersistentVolumeClaims. With this feature, CSI Driver for Unity XT restricts volume access to a single pod in the cluster

Prerequisites
1. Enable the ReadWriteOncePod feature gate for kube-apiserver, kube-scheduler, and kubelet as the ReadWriteOncePod access mode is in alpha for Kubernetes v1.22 and is only supported for CSI volumes. You can enable the feature by setting command line arguments:
```bash
--feature-gates="...,ReadWriteOncePod=true"
```
2. Create a PVC with access mode set to ReadWriteOncePod like shown in the sample below
```yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: single-writer-only
spec:
accessModes:
- ReadWriteOncePod # Allow only a single pod to access single-writer-only.
resources:
requests:
storage: 1Gi
```
## Single Pod Access Mode for PersistentVolumes- ReadWriteOncePod

Use `ReadWriteOncePod(RWOP)` access mode if you want to ensure that only one pod across the whole cluster can read that PVC or write to it. This is only supported for CSI Driver for Unity 2.1.0+ and Kubernetes version 1.22+.

### Creating a PersistentVolumeClaim
```yaml
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: single-writer-only
spec:
accessModes:
- ReadWriteOncePod # Allow only a single pod to access single-writer-only.
resources:
requests:
storage: 1Gi
```

When this feature is enabled, the existing `ReadWriteOnce(RWO)` access mode restricts volume access to a single node and allows multiple pods on the same node to read from and write to the same volume.

To migrate existing PersistentVolumes to use `ReadWriteOncePod`, please follow the instruction from [here](https://kubernetes.io/docs/tasks/administer-cluster/change-pv-access-mode-readwriteoncepod/).

## Volume Health Monitoring
CSI Driver for Unity XT supports volume health monitoring. This is an alpha feature and requires feature gate to be enabled by setting command line arguments
Expand Down
1 change: 0 additions & 1 deletion content/docs/csidriver/release/powerflex.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ 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:
Expand Down
2 changes: 1 addition & 1 deletion content/docs/csidriver/release/powermax.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,4 @@ description: Release notes for PowerMax CSI driver
| When the driver is installed using CSM Operator , few times, pods created using block volume are getting stuck in containercreating/terminating state or devices are not available inside the pod. | Update the daemonset with parameter `mountPropagation: "Bidirectional"` for volumedevices-path under volumeMounts section.|
### Note:

- Support for Kubernetes alpha features like Volume Health Monitoring and RWOP (ReadWriteOncePod) access mode will not be available in Openshift environment as Openshift doesn't support enabling of alpha features for Production Grade clusters.
- 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.
2 changes: 1 addition & 1 deletion content/docs/csidriver/release/powerscale.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ description: Release notes for PowerScale CSI driver

### Note

- Support for Kubernetes alpha features like Volume Health Monitoring and RWOP (ReadWriteOncePod) access mode will not be available in Openshift environment as Openshift doesn't support enabling of alpha features for Production Grade clusters.
- 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.
2 changes: 1 addition & 1 deletion content/docs/csidriver/release/powerstore.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,4 +43,4 @@ description: Release notes for PowerStore CSI driver

### Note:

- Support for Kubernetes alpha features like Volume Health Monitoring and RWOP (ReadWriteOncePod) access mode will not be available in Openshift environment as Openshift doesn't support enabling of alpha features for Production Grade clusters.
- 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.
2 changes: 1 addition & 1 deletion content/docs/csidriver/release/unity.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,4 @@ description: Release notes for Unity XT CSI driver
| fsGroupPolicy may not work as expected without root privileges for NFS only [https://github.com/kubernetes/examples/issues/260](https://github.com/kubernetes/examples/issues/260) | To get the desired behavior set “RootClientEnabled” = “true” in the storage class parameter |
### Note:

- Support for Kubernetes alpha features like Volume Health Monitoring and RWOP (ReadWriteOncePod) access mode will not be available in Openshift environment as Openshift doesn't support enabling of alpha features for Production Grade clusters.
- 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.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Description: >
---

## Pre-requisites
- [Request a License for Application Mobility](../../../../../license/)
- [Request a License for Application Mobility](../../../../../support/license/)
- Object store bucket accessible by both the source and target clusters

## Installation
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ Apart from any secrets and config maps described in the CSI driver documentation
### Secret *encryption-license*
Request a trial license following instructions on the [License page](../../../../../license). You will be provided with a YAML file similar to:
Request a trial license following instructions on the [License page](../../../../../support/license/). You will be provided with a YAML file similar to:
```yaml
apiVersion: v1
Expand Down
Loading

0 comments on commit 4c7fb01

Please sign in to comment.