Installation

Supported driver and module versions offered by the Container Storage Module Operator here


Operator Installation


  1. On the OpenShift console, navigate to OperatorHub and use the keyword filter to search for Dell Container Storage Modules.

  2. Click Dell Container Storage Modules tile

  3. Keep all default settings and click Install.


    Verify that the operator is deployed

    oc get operators
    
    NAME                                                          AGE
    dell-csm-operator-certified.openshift-operators               2d21h
    
    oc get pod -n openshift-operators
    
    NAME                                                       READY   STATUS       RESTARTS      AGE
    dell-csm-operator-controller-manager-86dcdc8c48-6dkxm      2/2     Running      21 (19h ago)  2d21h
    

CSI Driver Installation


  1. Create project:

    Use this command to create new project. You can use any project name instead of vxflexos.

    oc new-project vxflexos
    
  2. Create config secret:

    Create a file called config.yaml or use sample:

    Example:

    cat << EOF > config.yaml
    - username: "admin"
      password: "password"
      systemID: "2b11bb111111bb1b"
      endpoint: "https://127.0.0.2"
      skipCertificateValidation: true
      mdm: "10.0.0.3,10.0.0.4"
    EOF
    

    Add blocks for each Powerflex array in config.yaml, and include both source and target arrays if replication is enabled.


    Edit the file, then run the command to create the vxflexos-config.

    oc create secret generic vxflexos-config --from-file=config=config.yaml -n vxflexos --dry-run=client -oyaml > secret-vxflexos-config.yaml
    

    Use this command to create the config:

    oc apply -f secret-vxflexos-config.yaml
    

    Use this command to replace or update the config:

    oc replace -f secret-vxflexos-config.yaml --force
    

    Verify config secret is created.

    oc get secret -n vxflexos
    
    NAME                 TYPE        DATA   AGE
    vxflexos-config      Opaque      1      3h7m
    

  1. Create Custom Resource ContainerStorageModule for powerflex.

    Use this command to create the ContainerStorageModule Custom Resource:

    oc create -f csm-vxflexos.yaml
    

    Example:

    cat << EOF > csm-vxflexos.yaml
    apiVersion: storage.dell.com/v1
    kind: ContainerStorageModule
    metadata:
      name: vxflexos
      namespace: vxflexos
    spec:
      driver:
        csiDriverType: "powerflex"
        configVersion: v2.13.0
    EOF 
    

    Detailed Configuration: Use the sample file for detailed settings.


    To set the parameters in CR. The table shows the main settings of the PowerFlex driver and their defaults.
    Parameters
    Check if ContainerStorageModule CR is created successfully:
    oc get csm vxflexos -n vxflexos
    
    NAME        CREATIONTIME   CSIDRIVERTYPE   CONFIGVERSION   STATE
    vxflexos    3h             powerflex       v2.13.0         Succeeded
    

    Check the status of the CR to verify if the driver installation is in the Succeeded state. If the status is not Succeeded, see the Troubleshooting guide for more information.


  1. Create Storage class:

    Use this command to create the Storage Class:

    oc apply -f sc-vxflexos.yaml
    

    Example:

    cat << EOF > sc-vxflexos.yaml
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: vxflexos
      annotations:
        storageclass.kubernetes.io/is-default-class: "true"
    provisioner: csi-vxflexos.dellemc.com
    reclaimPolicy: Delete
    allowVolumeExpansion: true
    parameters:
      storagepool: <STORAGE_POOL>
      systemID: <SYSTEM_ID>
      csi.storage.k8s.io/fstype: ext4
    volumeBindingMode: Immediate
    EOF
    

    Replace placeholders with actual values for your powerflex array and various storage class sample refer here


    Verify Storage Class is created:

    oc get storageclass vxflexos
    
    NAME                    PROVISIONER                    RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
    vxflexos (default)      csi-vxflexos.dellemc.com       Delete          Immediate           true                   3h8m
    

  2. Create Volume Snapshot Class:

    Use this command to create the Volume Snapshot Class:

    oc apply -f vsclass-vxflexos.yaml
    

    Example:

    cat << EOF > vsclass-vxflexos.yaml
    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshotClass
    metadata:
      name: vsclass-vxflexos
    driver: csi-vxflexos.dellemc.com
    deletionPolicy: Delete
    EOF 
    

    Verify Volume Snapshot Class is created:

    oc get volumesnapshotclass
    
    NAME                 DRIVER                     DELETIONPOLICY   AGE
    vsclass-vxflexos     csi-vxflexos.dellemc.com   Delete           3h9m
    

Configurations


Persistent Volume Claim
Volume Snapshot