Configuring the Helm chart to use alternate storage (OCP)

Agile Service Manager by default supports local volumes for storage on Kubernetes. To configure an alternate storage backend, you must set the storage class. This requires a manual command line installation, and not an installation via Helm.

Before you begin

CAUTION:
You cannot configure storage class for installation from OCP. This is an advanced command line installation that you should only perform if you have the required expertise.

About this task

Assumption: A suitable storageclass has been defined and configured to provision storage volumes

Procedure

  1. Find the storage class:
    # kubectl get storageclass
    NAME                    PROVISIONER                    AGE
    vsphere                 kubernetes.io/vsphere-volume   7d18h
  2. Set the storage class in the persistent volume claim:
    Important: The following configuration sample contains the relevant settings for storage class and volume capacity only. You must merge these settings with the other installation parameters.
    global:
      persistence:
        enabled: true
        useDynamicProvisioning: true
        storageClassName: "vsphere"     #  to match value from 'kubectl get storageclass'
        storageClassOption:
          cassandradata: "default"
          zookeeperdata: "default"
          kafkadata: "default"
        storageSize:
          cassandradata: 50Gi
          kafkadata: 15Gi
          zookeeperdata: 5Gi
          elasticdata: 75Gi

Example

After you have changed the settings, the Agile Service Manager PersistentVolumeClaims will now include a storage class. On a system with an appropriate provisioner in place, the PersistentVolumes should be generated automatically, as in the following example:
NAME                                             READY   STATUS      RESTARTS   AGE
pod/asm-cassandra-0                              1/1     Running     0          10m
pod/asm-elasticsearch-0                          1/1     Running     0          10m
pod/asm-kafka-0                                  2/2     Running     0          10m
pod/asm-kubernetes-observer-698cfd746b-q7z9l     1/1     Running     0          10m
pod/asm-layout-84474476bc-96cz6                  1/1     Running     0          10m
pod/asm-merge-c4cd8f8b7-nq589                    1/1     Running     0          10m
pod/asm-search-778b9f9574-hhsxf                  1/1     Running     0          10m

pod/asm-topology-6b6c4b4b54-pp92j                1/1     Running     0          10m
pod/asm-ui-api-7849c55b4c-5qq2m                  1/1     Running     0          10m
pod/asm-zookeeper-0                              1/1     Running     0          10m

NAME                                             STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
persistentvolumeclaim/data-asm-cassandra-0	 Bound    pvc-06784b19-8d1d-11e9-a948-005056b47772   50Gi	RWO            vsphere        10m
persistentvolumeclaim/data-asm-elasticsearch-0   Bound    pvc-06f05e48-8d1d-11e9-a948-005056b47772   75Gi	RWO            vsphere        10m
persistentvolumeclaim/data-asm-kafka-0           Bound    pvc-07e53665-8d1d-11e9-a948-005056b47772   15Gi	RWO            vsphere        10m
persistentvolumeclaim/data-asm-zookeeper-0	 Bound    pvc-085f9547-8d1d-11e9-a948-005056b47772   5Gi        RWO            vsphere        10m