Start a Conversation

Unsolved

F

166 Posts

6165

April 16th, 2019 01:00

FAQ / CSI Driver for PowerFlex (formely VxFlexOS)

To which CSI driver Unity version does this FAQ apply?
This FAQ applies to version 1.2.0 of the CSI Driver for PowerFlex available here :https://github.com/dell/csi-vxflexos/tree/v1.2.0

What's new with 1.2.0 ?
• Support for Kubernetes 1.19/1.18/1.17
• Support for Red Hat OpenShift 4.4 with RHEL worker nodes
• Support for Docker EE 3.1
• Support for RedHat Enterprise Linux 7.8 Host OS
• Support for CentOS Linux 7.6/7.7/7.8 Host OS
• Support for SLES Linux 15 Host OS
• Support for Online Volume Expansion
• Support for Topology
• Support for Raw Block Volumes

• New installation scripts

Which CSI version driver conforms to?
The driver works with Kubernetes 1.14 and 1.16 with the CSI specification 1.1. The CSI interface enabled

What are the supported features?
The following table lists the supported action to manage the lifecycle of a PowerFlex volume managed with the CSI driver.

|Action                     |Supported (version)|
|---------------------------|-------------------|
|Static Provisioning        |yes                |
|Dynamic Provisioning       |yes                |
|Binding                    |yes                |
|Retain Reclaiming          |yes                |
|Delete Reclaiming          |yes                |
|Recycle Reclaiming         |no                 |
|Expand Persistent Volume   |yes                |
|Shrink Persistent Volume   |no                 |
|Create Snapshot Volume     |yes                |
|Create Volume from Snapshot|yes                |
|Delete Snapshot            |yes                |
|CSI Volume Cloning |no |
|CSI Raw Block Volume |yes |
|CSI ephemeral volumes |no |
|Access Modes |ROW |

How do I access a different storage pool ?
It is possible to create multiple or different StorageClass in order to access different storage pool.

What are the known limitations?
The current implementation has a limitation on the number of snaps that can be taken (cf. Release Notes).

A single node can connect to only one PowerFlex gateway.

How do I set up the PowerFlex CSI driver?
The CSI driver can be installed with the installation scripts provided (with helm) or with the dell-csi-operator.

The operator is available directly from Openshift OperatorHub UI. For other distributions, you can download it from operatorhub.io.

For ease of installation, we recommend using the dell-csi-operator. If you want to have more control over the components helm is more open.

The details of each installation methods are documented in the product guide

A video showing the Operator usage in context CSI Isilon is viewable here : (https://www.youtube.com/watch?v=l4z2tRqHnSg&list=PLbssOJyyvHuVXyKi0c9Z7NLqBiDiwF1eA&index=6)

How do I install the beta snapshot capability?

With the promotion of Volume Snapshot to beta, one significant change is the CSI external-snapshotter sidecar has been split into two controllers, a common snapshot controller and a CSI external-snapshotter sidecar. 

The provided install script will :

  • By default, install of the external-snaphotter for CSI PowerStore.
  • Optionally, install the beta snapshot CRD when the option --snapshot-crd is set during the initial installation.

It is up to your Kubernetes distribution or you to deploy the common snapshotter controller.

How to uninstall the CSI driver?

With helm deployments, you can uninstall the driver with helm: 

 

 

helm delete VXFLEX_RELEASE [--purge]

 

 

Or execute the script: 

 

 

sh csi-uninstall.sh

 

 

For Operator deployments you can run : 

 

 

kubectl delete vxflexos/
  
    -n 
   
  

 

 

 

How to upgrade the CSI driver?

  • If you come from an installation with helm v3 (i.e. from v1.1.5) :
    • Run the csi-install.sh script with the same required arguments, along with a --upgrade argument:

 

 

cd ../dell-csi-helm-installer && ./csi-install.sh --namespace vxflexos --values ../helm/myvalues.yaml --upgrade

 

 

 

  • If you come from an installation with helm v2 (i.e. earlier to v1.1.4). You have to uninstall then reinstall the driver with helm v3 :
    • Uninstall the driver using the latest uninstall.vxflexos script
    • Make sure helm binary point to helm v3
    • Install the driver using the latest install.vxflexos script and the new myvalues.yaml file
  • If you deployed with the dell-csi-operator :
    • Edit with the Openshift UI or kubectl edit the CSIVXFlexOS image to image: "dellemc/csi-vxflexos:v1.2.0.000R"

What are the prerequisites for CSI drive installation?
To check your system complies with the pre-requisites, you can execute the script `sh verify.sh`

The exhaustive list of pre-requisites is given in the release notes.

Which k8s distributions are supported?
The supported versions are upstream Kubernetes 1.17, 1.18, 1.19 ; OpenShift 4.3 & 4.4 with RHEL nodes ; Docker EE 3.1

What operating systems are supported?

The supported OSes are Red Hat Enterprise Linux and CentOS versions 7.6, 7.7, 7.8 ; Ubuntu 18.04 and SLES 15.

How to troubleshoot the driver?
The driver can be troubleshooting using the usual `kubectl` commands as any other k8s pod/resources.

In particular, the driver logs can be check with: `kubectl logs -n vxflexos vxflexos-controller-0 driver`

Which driver version is installed?

helm list -c VXFLEX_RELEASE

Which SDC versions are supported?
The CSI Driver for PowerFlex has been tested against PowerFlex 3.0, and 3.5

Exhaustive details are given in the release notes https://github.com/dell/csi-vxflexos/blob/master/CSI%20Driver%20for%20VxFlex%20OS%20Release%20Notes.pdf

Where do I submit an issue against the driver?
The PowerFlex driver is officially supported by Dell EMC.

We encourage you to post questions and issues in this forum.

You could also open a ticket directly on the support website https://www.dell.com/support/

and also by phone.

Can I run this driver in the production environment?
Yes, the driver is production-grade. Please make sure your environment follows the pre-requisites and Kubernetes best practices.

How do I build the driver from the sources on GitHub?
The PowerFlex driver is implemented in golang. To build it from the source you can check out the code from: https://github.com/dell/csi-vxflexos/ and follow the instructions.

If you patched the driver and built, the easiest way to distribute it within your Kubernetes cluster is to patch the helm chart from: https://github.com/dell/csi-vxflexos/blob/master/helm/csi-vxflexos/Chart.yaml and follow the usual steps.

Why my volume instantiated size is 8Gb instead of the value I configured?
The minimum volume size value in PowerFlex is 8GB. For any persistent volume claim lower than 8Gb the created volume in PowerFlex will be 8Gb.

Do I need to have programming skills to use CSI driver?
No.

To use the driver, you need to have basic knowledge around k8s administration (How to create a PV, How to use a Volume, etc.) and basic knowledge of PowerFlex administration (install the SDS client, configure the connectivity to the VxFlex Gateway, etc.).

 

June 3rd, 2019 13:00

Thanks for this post!

May 13th, 2020 03:00

I have a few questions regarding k8s version compatibility.

 

Does csi driver support k8s version backward compatibility?

vxflex csi driver 1.1.4 docs says it supports k8s 1.14.

Then, does not compatible with csi driver 1.1.4 and k8s 1.13.x?

 

Also, what about the k8s patch version compatibility?

vxflex csi driver 1.1.3 docs says it supports k8s 1.13.1, 1.13.2, and 1.13.3.

does csi driver 1.1.3 not compatible with other k8s patch versions(1.13.4, or later) of the same k8s 1.13?

46 Posts

May 13th, 2020 08:00

Hi,

I recommend using the versions listed in the Product Guides for your particular environment.  These are the versions that have been verified.

I see your point on the CSI Driver for Dell EMC VxFlex OS Product Guide v 1.1.4 does not show the minor versions.  Let me check on that.

Thanks,

Frank

May 13th, 2020 18:00

Thank you for the quick reply.

I think it is strange that the dell csi driver is too dependent on a specific k8s version.

It is understood that the supported features may differ by version.

I'm in a situation where I need to downgrade or upgrade the k8s version to install the csi driver.

I expected the latest csi driver to support at least k8s 1.17. (latest k8s version is 1.18.)

I am curious to know which version of k8s the csi driver 1.1.4 can actually be compatible with other than k8s 1.14. (1.13.x, 1.15.x, 1.16.x, 1.17.x ..)

5 Practitioner

 • 

274.2K Posts

May 27th, 2020 12:00

Hi,

I appreciate your question and sorry that you had to downgrade the K8s version. We hear you and we plan on support both 1.17 and 1.18 (and perhaps 1.19) in the early fall.

Unfortunately, our experience has shown that K8s do not always maintain backward compatibility such as i.e. 1.17 snapshot APIS aren't backward compatible.

Continuously growing support matrix and our high-quality requirements make qualification a long process. We are working on a better alignment between the K8s and CSI drivers' releases. I very much appreciate your patience. Stay tuned.

Sincerely

166 Posts

June 18th, 2020 05:00

Bump v1.1.5

166 Posts

September 23rd, 2020 01:00

Update v1.2.0

No Events found!

Top