portworx / helm

Repository for Portworx Helm assets
Apache License 2.0
48 stars 63 forks source link

PWX-37565 | Add missing fields in Helm for CSI #588

Closed hitesh-wani-px closed 1 month ago

hitesh-wani-px commented 2 months ago

What this PR does / why we need it: This PR will add missing field in the helm for CSI Which issue(s) this PR fixes (optional) Closes #https://purestorage.atlassian.net/browse/PWX-37565

Special notes for your reviewer:

hitesh-wani-px commented 2 months ago

Testing Notes:

  1. Disabling CSI

    csi: 
       enabled: false                     
       topology:  
          enabled: false                    
       installSnapshotController: false 

    Generated storageCuster spec

       # Source: portworx/templates/storage-cluster.yaml
       kind: StorageCluster
       apiVersion: core.libopenstorage.org/v1
       metadata:
         name: "mycluster"
         namespace: portworx
         annotations:
         labels:
           heritage: "Helm"
           release: "my-release"
           chart: "portworx-3.1.0"
           app.kubernetes.io/managed-by: "Helm"
           app.kubernetes.io/instance: "my-release"
       spec:
         image: portworx/oci-monitor:3.1.0
         imagePullPolicy: Always
    
         kvdb:
           internal: true
         storage:
           useAll: true
         secretsProvider: k8s
    
         env:
         - name: PX_SECRETS_NAMESPACE
           value: portworx
    
         stork:
           enabled: true
         csi:
           enabled: false
  2. Enabling CSI

    1. Enable topology

      csi: 
        enabled: true                     
        topology: 
            enabled: true                     
        installSnapshotController: false

      Generated storageCluster Spec

      kind: StorageCluster
      apiVersion: core.libopenstorage.org/v1
      metadata:
        name: "b12de6b1-a167-48f4-9a0d-e7b2ab0dbc74"
        namespace: portworx
        annotations:
        labels:
          heritage: "Helm"
          release: "my-release"
          chart: "portworx-3.1.0"
          app.kubernetes.io/managed-by: "Helm"
          app.kubernetes.io/instance: "my-release"
      spec:
        image: portworx/oci-monitor:3.1.0
        imagePullPolicy: Always
      
        kvdb:
          internal: true
        storage:
          useAll: true
        secretsProvider: k8s
      
        env:
        - name: PX_SECRETS_NAMESPACE
          value: portworx
      
        stork:
          enabled: true
        csi:
          enabled: true
          topology:
            enabled: true
          installSnapshotController: false
    2. Enable snapshotter controller

      csi: 
        enabled: true                      
        installSnapshotController: true    

      Generated storageCluster spec

      kind: StorageCluster
      apiVersion: core.libopenstorage.org/v1
      metadata:
        name: "db1bb375-75f0-4bc9-9a2a-df09ecbd36f1"
        namespace: portworx
        annotations:
        labels:
          heritage: "Helm"
          release: "my-release"
          chart: "portworx-3.1.0"
          app.kubernetes.io/managed-by: "Helm"
          app.kubernetes.io/instance: "my-release"
      spec:
         image: portworx/oci-monitor:3.1.0
         imagePullPolicy: Always
      
        kvdb:
           internal: true
        storage:
          useAll: true
        secretsProvider: k8s
      
        env:
        - name: PX_SECRETS_NAMESPACE
           value: portworx
      
        stork:
           enabled: true
        csi:
          enabled: true
          installSnapshotController: true

      Unit test cases results:

      --- PASS: TestStorageClusterHelmTemplate (0.00s)
      --- PASS: TestStorageClusterHelmTemplate/TestCSITopologyEnabled (0.09s)
      --- PASS: TestStorageClusterHelmTemplate/TestCSISnapshotControllerEnabled (0.09s)
      --- PASS: TestStorageClusterHelmTemplate/TestDefaultChartValues (0.09s)
      --- PASS: TestStorageClusterHelmTemplate/TestPlacementTolerations (0.10s)
      --- PASS: TestStorageClusterHelmTemplate/TestExternalETCD (0.10s)
      --- PASS: TestStorageClusterHelmTemplate/TestCustomRegistry (0.10s)
      --- PASS: TestStorageClusterHelmTemplate/TestAllComponentsEnabled (0.10s)
      PASS
      ok      github.com/portworx/helm/test/portworx  0.125s
nikita-bhatia commented 2 months ago

@hitesh-wani-px