[DOC][CASSANDRA] Default StorageClass for Cassandra deployment 83/135483/6
authorAndreas Geissler <andreas-geissler@telekom.de>
Mon, 17 Jul 2023 15:25:07 +0000 (17:25 +0200)
committerAndreas Geissler <andreas-geissler@telekom.de>
Wed, 19 Jul 2023 06:58:00 +0000 (08:58 +0200)
As Cassandra (via k8ssandra-operator) requires either a default
StorageClass, the instructions to set the default in the OOM docs
and removed the hardcoded "storageClass" setting in cassandra
installation.

Issue-ID: OOM-3226

Change-Id: I815614c31ae6b7fcb811d86519d0df1cc4a8898d
Signed-off-by: Andreas Geissler <andreas-geissler@telekom.de>
docs/sections/guides/infra_guides/oom_infra_base_config_setup.rst
docs/sections/guides/infra_guides/oom_infra_deployment_requirements.rst
kubernetes/common/cassandra/values.yaml
kubernetes/common/common/templates/_cassOp.tpl

index f27277d..e84f578 100644 (file)
@@ -15,6 +15,7 @@
 .. _Istio setup guide: https://istio.io/latest/docs/setup/install/helm/
 .. _Gateway-API: https://gateway-api.sigs.k8s.io/
 .. _Istio-Gateway: https://istio.io/latest/docs/reference/config/networking/gateway/
 .. _Istio setup guide: https://istio.io/latest/docs/setup/install/helm/
 .. _Gateway-API: https://gateway-api.sigs.k8s.io/
 .. _Istio-Gateway: https://istio.io/latest/docs/reference/config/networking/gateway/
+.. _DefaultStorageClass: https://kubernetes.io/docs/tasks/administer-cluster/change-default-storage-class/
 
 .. _oom_base_setup_guide:
 
 
 .. _oom_base_setup_guide:
 
@@ -116,6 +117,17 @@ Verify the plugins are installed::
     deploy      1.0.0     install (upgrade if release exists) parent chart and all subcharts as separate but related releases
     undeploy    1.0.0     delete parent chart and subcharts that were deployed as separate releases
 
     deploy      1.0.0     install (upgrade if release exists) parent chart and all subcharts as separate but related releases
     undeploy    1.0.0     delete parent chart and subcharts that were deployed as separate releases
 
+Set the default StorageClass
+----------------------------
+
+In some ONAP components it is important to have a default storageClass defined (e.g. cassandra),
+if you don't want to explicitly set it during the deployment via helm overrides.
+
+Therefor you should set the default storageClass (if not done during the K8S cluster setup) via the command:
+
+    > kubectl patch storageclass <storageclass> -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
+
+see `DefaultStorageClass`_
 
 Install the Strimzi Kafka Operator
 ----------------------------------
 
 Install the Strimzi Kafka Operator
 ----------------------------------
index 0d22710..e21c4b6 100644 (file)
@@ -48,9 +48,9 @@ The versions of software that are supported by OOM are as follows:
   ==============     ===========  =======  ========  ========  =============  ========
   Release            Kubernetes   Helm     kubectl   Docker    Cert-Manager   Strimzi
   ==============     ===========  =======  ========  ========  =============  ========
   ==============     ===========  =======  ========  ========  =============  ========
   Release            Kubernetes   Helm     kubectl   Docker    Cert-Manager   Strimzi
   ==============     ===========  =======  ========  ========  =============  ========
-  Jakarta            1.22.4       3.6.3    1.22.4    20.10.x   1.8.0          0.28.0
   Kohn               1.23.8       3.8.2    1.23.8    20.10.x   1.8.0          0.32.0
   London             1.23.8       3.8.2    1.23.x    20.10.x   1.12.2         0.35.0
   Kohn               1.23.8       3.8.2    1.23.8    20.10.x   1.8.0          0.32.0
   London             1.23.8       3.8.2    1.23.x    20.10.x   1.12.2         0.35.0
+  Montreal           1.23.8       3.10.2   1.23.x    20.10.x   1.12.2         0.35.0
   ==============     ===========  =======  ========  ========  =============  ========
 
 .. table:: OOM Software Requirements (production)
   ==============     ===========  =======  ========  ========  =============  ========
 
 .. table:: OOM Software Requirements (production)
@@ -59,6 +59,7 @@ The versions of software that are supported by OOM are as follows:
   Release            Istio   Gateway-API  Keycloak
   ==============     ======  ============ ==============
   London             1.17.2  v0.6.2       19.0.3-legacy
   Release            Istio   Gateway-API  Keycloak
   ==============     ======  ============ ==============
   London             1.17.2  v0.6.2       19.0.3-legacy
+  Montreal           1.17.2  v0.6.2       19.0.3-legacy
   ==============     ======  ============ ==============
 
 .. table:: OOM Software Requirements (optional)
   ==============     ======  ============ ==============
 
 .. table:: OOM Software Requirements (optional)
@@ -66,7 +67,7 @@ The versions of software that are supported by OOM are as follows:
   ==============     ================= ==========
   Release            Prometheus Stack  K8ssandra
   ==============     ================= ==========
   ==============     ================= ==========
   Release            Prometheus Stack  K8ssandra
   ==============     ================= ==========
-  Jakarta            35.x
   Kohn               35.x
   London             45.x              1.6.1
   Kohn               35.x
   London             45.x              1.6.1
+  Montreal           45.x              1.8.0
   ==============     ================= ==========
   ==============     ================= ==========
index 5bff17e..2f24750 100644 (file)
@@ -26,7 +26,7 @@ k8ssandraOperator:
   enabled: true
   cassandraVersion: 4.0.1
   persistence:
   enabled: true
   cassandraVersion: 4.0.1
   persistence:
-    storageClassName: default
+    #storageClassName: default
     size: 10Gi
   config:
     clusterName: cassandra
     size: 10Gi
   config:
     clusterName: cassandra
index 6cf9c3c..d613342 100644 (file)
@@ -35,7 +35,9 @@ spec:
     serverVersion: {{ .Values.k8ssandraOperator.cassandraVersion }}
     storageConfig:
       cassandraDataVolumeClaimSpec:
     serverVersion: {{ .Values.k8ssandraOperator.cassandraVersion }}
     storageConfig:
       cassandraDataVolumeClaimSpec:
+        {{ if .Values.k8ssandraOperator.persistence.storageClassName -}}
         storageClassName: {{ .Values.k8ssandraOperator.persistence.storageClassName }}
         storageClassName: {{ .Values.k8ssandraOperator.persistence.storageClassName }}
+        {{- end }}
         accessModes:
           - ReadWriteOnce
         resources:
         accessModes:
           - ReadWriteOnce
         resources: