Skip to content

Commit

Permalink
Merge branch 'release-1.2' into access-mode
Browse files Browse the repository at this point in the history
  • Loading branch information
coulof authored Feb 14, 2022
2 parents cf245b4 + c7704ed commit 16f2fe9
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 3 deletions.
2 changes: 1 addition & 1 deletion content/docs/csidriver/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ The CSI Drivers by Dell EMC implement an interface between [CSI](https://kuberne
| Create VolumeSnapshot | yes | yes | yes | yes | yes |
| Create Volume from Snapshot | yes | yes | yes | yes | yes |
| Delete Snapshot | yes | yes | yes | yes | yes |
| [Access Mode](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)| RWO/ROX<br><br>RWX (Raw block only) | RWO/ROX/RWOP<br><br>RWX (Raw block only) | RWO/ROX/RWOP<br><br>RWX (Raw block & NFS only) | RWO/RWX/ROX/RWOP | RWO/ROX/RWOP<br><br>RWX (Raw block & NFS only |
| [Access Mode](https://kubernetes.io/docs/concepts/storage/persistent-volumes/#access-modes)| RWO/ROX<br><br>RWX (Raw block only) | RWO/ROX/RWOP<br><br>RWX (Raw block only) | RWO/ROX/RWOP<br><br>RWX (Raw block & NFS only) | RWO/RWX/ROX/RWOP | RWO/ROX/RWOP<br><br>RWX (Raw block & NFS only) |
| CSI Volume Cloning | yes | yes | yes | yes | yes |
| CSI Raw Block Volume | yes | yes | yes | no | yes |
| CSI Ephemeral Volume | no | yes | yes | yes | yes |
Expand Down
29 changes: 29 additions & 0 deletions content/docs/csidriver/features/powermax.md
Original file line number Diff line number Diff line change
Expand Up @@ -458,3 +458,32 @@ To update the log level dynamically, the user has to edit the ConfigMap `powerma
```
kubectl edit configmap -n powermax powermax-config-params
```
## PV/PVC Metrics
CSI Driver for Dell EMC 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.volumeHealthMonitorInterval parameter.
## Single Pod Access Mode for PersistentVolumes- ReadWriteOncePod (ALPHA FEATURE)
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
apiVersion: v1
metadata:
name: single-writer-only
spec:
accessModes:
- ReadWriteOncePod # the volume can be mounted as read-write by a single pod across the whole cluster
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/blog/2021/09/13/read-write-once-pod-access-mode-alpha/#migrating-existing-persistentvolumes).
1 change: 1 addition & 0 deletions content/docs/csidriver/installation/helm/powerflex.md
Original file line number Diff line number Diff line change
Expand Up @@ -248,6 +248,7 @@ kubectl create -f deploy/kubernetes/snapshot-controller
- This install script also runs the `verify.sh` script. You will be prompted to enter the credentials for each of the Kubernetes nodes.
The `verify.sh` script needs the credentials to check if SDC has been configured on all nodes.
- It is mandatory to run install script after changes to MDM configuration in `vxflexos-config` secret. Refer [dynamic-array-configuration](../../../features/powerflex#dynamic-array-configuration)
- If an extended Kubernetes version is being used (e.g. `v1.21.3-mirantis-1`) and is failing the version check in Helm even though it falls in the allowed range, then you must go into `helm/csi-vxflexos/Chart.yaml` and replace the standard `kubeVersion` check with the commented-out alternative. *Please note* that this will also allow the use of pre-release alpha and beta versions of Kubernetes, which is not supported.

- (Optional) Enable additional Mount Options - A user is able to specify additional mount options as needed for the driver.
- Mount options are specified in storageclass yaml under _mkfsFormatOption_.
Expand Down
3 changes: 3 additions & 0 deletions content/docs/csidriver/installation/helm/powermax.md
Original file line number Diff line number Diff line change
Expand Up @@ -192,11 +192,14 @@ CRDs should be configured during replication prepare stage with repctl as descri
| snapshot.enabled | Enable/Disable volume snapshot feature | Yes | true |
| snapshot.snapNamePrefix | Defines a string prefix for the names of the Snapshots created | Yes | "snapshot" |
| resizer.enabled | Enable/Disable volume expansion feature | Yes | true |
| healthMonitor.enabled | Allows to enable/disable volume health monitor | No | false |
| healthMonitor.volumeHealthMonitorInterval | Interval of monitoring volume health condition | No | 60s |
| nodeSelector | Define node selection constraints for pods of controller deployment | No | |
| tolerations | Define tolerations for the controller deployment, if required | No | |
| **node** | Allows configuration of the node-specific parameters.| - | - |
| tolerations | Add tolerations as per requirement | No | - |
| nodeSelector | Add node selectors as per requirement | No | - |
| healthMonitor.enabled | Allows to enable/disable volume health monitor | No | false |
| **global**| This section refers to configuration options for both CSI PowerMax Driver and Reverse Proxy | - | - |
|defaultCredentialsSecret| This secret name refers to:<br> 1. The Unisphere credentials if the driver is installed without proxy or with proxy in Linked mode.<br>2. The proxy credentials if the driver is installed with proxy in StandAlone mode.<br>3. The default Unisphere credentials if credentialsSecret is not specified for a management server.| Yes | powermax-creds |
| storageArrays| This section refers to the list of arrays managed by the driver and Reverse Proxy in StandAlone mode.| - | - |
Expand Down
2 changes: 1 addition & 1 deletion content/docs/csidriver/troubleshooting/powerflex.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ description: Troubleshooting PowerFlex Driver
| The `kubectl logs -n vxflexos vxflexos-controller-* driver` logs show `x509: certificate signed by unknown authority` |A self assigned certificate is used for PowerFlex array. See [certificate validation for PowerFlex Gateway](../../installation/helm/powerflex/#certificate-validation-for-powerflex-gateway-rest-api-calls)|
| When you run the command `kubectl apply -f snapclass-v1.yaml`, you get the error `error: unable to recognize "snapclass-v1.yaml": no matches for kind "VolumeSnapshotClass" in version "snapshot.storage.k8s.io/v1"` | Check to make sure that the v1 snapshotter CRDs are installed, and not the v1beta1 CRDs, which are no longer supported. |
| The controller pod is stuck and producing errors such as" `Failed to watch *v1.VolumeSnapshotContent: failed to list *v1.VolumeSnapshotContent: the server could not find the requested resource (get volumesnapshotcontents.snapshot.storage.k8s.io)` | Make sure that v1 snapshotter CRDs and v1 snapclass are installed, and not v1beta1, which is no longer supported. |

| Driver install or upgrade fails because of an incompatible Kubernetes version, even though the version seems to be within the range of compatibility. For example: `Error: UPGRADE FAILED: chart requires kubeVersion: >= 1.20.0 < 1.23.0 which is incompatible with Kuberneter V1.20.11-mirantis-1` | If you are using an extended Kubernetes version, please see the helm Chart at `helm/csi-vxflexos/Chart.yaml` and use the alternate `kubeVersion` check that is provided in the comments. *Please note* that this is not meant to be used to enable the use of pre-release alpha and beta versions, which is not supported. |

>*Note*: `vxflexos-controller-*` is the controller pod that acquires leader lease
2 changes: 1 addition & 1 deletion content/docs/observability/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ CSM for Observability provides the following capabilities:
{{<table "table table-striped table-bordered table-sm">}}
| | PowerFlex | PowerStore |
|---------------|:-------------------:|:----------------:|
| Storage Array | 3.5.x, 3.6.x | 1.0.x, 2.0.x |
| Storage Array | 3.5.x, 3.6.x | 1.0.x, 2.0.x, 2.1.x |
{{</table>}}

## Supported CSI Drivers
Expand Down

0 comments on commit 16f2fe9

Please sign in to comment.