Merge "Revert "basic auth for so-monitoring""
[oom.git] / kubernetes / sdnc / templates / statefulset.yaml
index 55eaf2b..536eaaf 100644 (file)
@@ -37,7 +37,7 @@ spec:
         - /root/ready.py
         args:
         - --container-name
-        - {{ .Values.mysql.nameOverride }}
+        - {{ .Values.config.mariadbGalera.chartName }}
         env:
         - name: NAMESPACE
           valueFrom:
@@ -47,9 +47,70 @@ spec:
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-readiness
+      {{ if .Values.global.aafEnabled }}
+      - name: {{ include "common.name" . }}-aaf-readiness
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - aaf-locate
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      - name: {{ include "common.name" . }}-aaf
+        image: {{ .Values.global.repository }}/{{ .Values.aaf_init.agentImage }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+          - mountPath: {{ .Values.certpersistence.certPath }}
+            name: {{ include "common.fullname" . }}-certs
+        command:
+        - bash
+        - -c
+        - |
+          /opt/app/aaf_config/bin/agent.sh &&
+          cd /opt/app/osaaf/local &&
+          /opt/app/aaf_config/bin/agent.sh local showpass | grep cadi_keystore_password= | cut -d= -f 2 > /opt/app/osaaf/local/.pass 2>&1
+        env:
+          - name: APP_FQI
+            value: "{{ .Values.aaf_init.fqi }}"
+          - name: aaf_locate_url
+            value: "https://aaf-locate.{{ .Release.Namespace}}:8095"
+          - name: aaf_locator_container
+            value: "oom"
+          - name: aaf_locator_container_ns
+            value: "{{ .Release.Namespace }}"
+          - name: aaf_locator_fqdn
+            value: "{{ .Values.aaf_init.fqdn }}"
+          - name: aaf_locator_app_ns
+            value: "{{ .Values.aaf_init.app_ns }}"
+          - name: DEPLOY_FQI
+            value: "{{ .Values.aaf_init.deploy_fqi }}"
+          - name: DEPLOY_PASSWORD
+            valueFrom:
+              secretKeyRef:
+                name: {{ template "common.fullname" .}}-aaf
+                key: aaf-password
+          - name: cadi_longitude
+            value: "{{ .Values.aaf_init.cadi_longitude }}"
+          - name: cadi_latitude
+            value: "{{ .Values.aaf_init.cadi_latitude }}"
+      {{ end }}
+      - name: {{ include "common.name" . }}-chown
+        image: "busybox"
+        command: ["sh", "-c", "chown -R {{ .Values.config.odlUid }}:{{ .Values.config.odlGid}} {{ .Values.persistence.mdsalPath }} ; chown -R {{ .Values.config.odlUid }}:{{ .Values.config.odlGid}} {{ .Values.certpersistence.certPath }}"]
+        volumeMounts:
+          - mountPath: {{ .Values.persistence.mdsalPath }}
+            name: {{ include "common.fullname" . }}-data
+          - mountPath: {{ .Values.certpersistence.certPath }}
+            name: {{ include "common.fullname" . }}-certs
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ .Values.global.repository | default .Values.repository }}/{{ .Values.image }}"
+          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           command: ["/bin/bash"]
           args: ["-c", "/opt/sdnc/bin/startODL.sh"]
@@ -69,14 +130,36 @@ spec:
                 secretKeyRef:
                   name: {{ template "common.fullname" . }}
                   key: db-root-password
+            - name: ODL_ADMIN_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}-odl
+                  key: odl-password
+            - name: SDNC_DB_PASSWORD
+              valueFrom:
+                secretKeyRef:
+                  name: {{ template "common.fullname" . }}-sdnctl
+                  key: db-sdnctl-password
             - name: SDNC_CONFIG_DIR
               value: "{{ .Values.config.configDir }}"
             - name: ENABLE_ODL_CLUSTER
               value: "{{ .Values.config.enableClustering }}"
+            - name: MY_ODL_CLUSTER
+              value: "{{ .Values.config.myODLCluster }}"
+            - name: PEER_ODL_CLUSTER
+              value: "{{ .Values.config.peerODLCluster }}"
+            - name: IS_PRIMARY_CLUSTER
+              value: "{{ .Values.config.isPrimaryCluster }}"
+            - name: GEO_ENABLED
+              value: "{{ .Values.config.geoEnabled}}"
+            - name: SDNC_AAF_ENABLED
+              value: "{{ .Values.global.aafEnabled}}"
             - name: SDNC_REPLICAS
               value: "{{ .Values.replicaCount }}"
             - name: MYSQL_HOST
-              value: "{{.Values.mysql.service.name}}.{{.Release.Namespace}}"
+              value: "{{.Values.config.mariadbGalera.serviceName}}.{{.Release.Namespace}}"
+            - name: JAVA_HOME
+              value: "{{ .Values.config.javaHome}}"
           volumeMounts:
           - mountPath: /etc/localtime
             name: localtime
@@ -84,28 +167,50 @@ spec:
           - mountPath: /opt/opendaylight/current/etc/org.ops4j.pax.logging.cfg
             name: sdnc-logging-cfg-config
             subPath: org.ops4j.pax.logging.cfg
-          - mountPath: /opt/onap/sdnc/bin/startODL.sh
-            name: startodl
+          - mountPath: {{ .Values.config.binDir }}/startODL.sh
+            name: bin
             subPath: startODL.sh
-          - mountPath: /opt/onap/sdnc/bin/installSdncDb.sh
-            name: installsdncdb
+          - mountPath: {{ .Values.config.binDir }}/installSdncDb.sh
+            name: bin
             subPath: installSdncDb.sh
-          - mountPath: /opt/onap/sdnc/data/properties/aaiclient.properties
-            name: aaiclient-conf
+          - mountPath: {{ .Values.config.configDir }}/aaiclient.properties
+            name: properties
             subPath: aaiclient.properties
-          - mountPath: /opt/onap/sdnc/data/properties/dblib.properties
-            name: sdnc-dblib-properties
+          - mountPath: {{ .Values.config.configDir }}/dblib.properties
+            name: properties
             subPath: dblib.properties
-          - mountPath: /opt/onap/sdnc/data/properties/svclogic.properties
-            name: sdnc-svclogic-config
+          - mountPath: {{ .Values.config.configDir }}/lcm-dg.properties
+            name: properties
+            subPath: lcm-dg.properties
+          - mountPath: {{ .Values.config.configDir }}/svclogic.properties
+            name: properties
             subPath: svclogic.properties
           - mountPath: /opt/onap/sdnc/svclogic/config/svclogic.properties
-            name: onap-sdnc-svclogic-config
+            name: properties
             subPath: svclogic.properties
+          - mountPath: {{ .Values.config.configDir }}/netbox.properties
+            name: properties
+            subPath: netbox.properties
+          - mountPath: {{ .Values.config.configDir }}/blueprints-processor-adaptor.properties
+            name: properties
+            subPath: blueprints-processor-adaptor.properties
+          - mountPath: {{ .Values.persistence.mdsalPath }}
+            name: {{ include "common.fullname" . }}-data
           - mountPath: /var/log/onap
             name: logs
+          - mountPath: {{ .Values.certpersistence.certPath }}
+            name: {{ include "common.fullname" . }}-certs
+          - mountPath: {{ .Values.config.odl.salConfigDir }}/{{ .Values.config.odl.salConfigVersion}}/sal-clustering-config-{{ .Values.config.odl.salConfigVersion}}-akkaconf.xml
+            name: properties
+            subPath: akka.conf
+          - mountPath: {{ .Values.config.odl.etcDir }}/org.opendaylight.controller.cluster.datastore.cfg
+            name: properties
+            subPath: org.opendaylight.controller.cluster.datastore.cfg
+          - mountPath: {{ .Values.config.odl.binDir }}/setenv
+            name: properties
+            subPath: setenv
           resources:
-{{ toYaml .Values.resources | indent 12 }}
+{{ include "common.resources" . | indent 12 }}
         {{- if .Values.nodeSelector }}
         nodeSelector:
 {{ toYaml .Values.nodeSelector | indent 10 }}
@@ -127,6 +232,8 @@ spec:
             name: logs
           - mountPath: /usr/share/filebeat/data
             name: data-filebeat
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
       volumes:
         - name: localtime
           hostPath:
@@ -141,48 +248,38 @@ spec:
         - name: sdnc-logging-cfg-config
           configMap:
             name: {{ include "common.fullname" . }}-log-configmap
-        - name: startodl
-          configMap:
-            name: {{ include "common.fullname" . }}-startodl
-            items:
-            - key: startODL.sh
-              path: startODL.sh
-              mode: 0755
-        - name: installsdncdb
-          configMap:
-            name: {{ include "common.fullname" . }}-installsdncdb
-            items:
-            - key: installSdncDb.sh
-              path: installSdncDb.sh
-              mode: 0755
-        - name: aaiclient-conf
-          configMap:
-            name: {{ include "common.fullname" . }}-aaiclient-properties
-            items:
-            - key: aaiclient.properties
-              path: aaiclient.properties
-              mode: 0644
-        - name: sdnc-dblib-properties
-          configMap:
-            name: {{ include "common.fullname" . }}-dblib-properties
-            items:
-            - key: dblib.properties
-              path: dblib.properties
-              mode: 0644
-        - name: sdnc-svclogic-config
+        - name: bin
           configMap:
-            name: {{ include "common.fullname" . }}-svclogic-config
-            items:
-            - key: svclogic.properties
-              path: svclogic.properties
-              mode: 0644
-        - name: onap-sdnc-svclogic-config
+            name: {{ include "common.fullname" . }}-bin
+            defaultMode: 0755
+        - name: properties
           configMap:
-            name: {{ include "common.fullname" . }}-onap-sdnc-svclogic-config
-            items:
-            - key: svclogic.properties
-              path: svclogic.properties
-              mode: 0644
-
-      imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+            name: {{ include "common.fullname" . }}-properties
+            defaultMode: 0644
+        - name: {{ include "common.fullname" . }}-certs
+  {{ if .Values.certpersistence.enabled }}
+          persistentVolumeClaim:
+            claimName: {{ include "common.fullname" . }}-certs
+  {{ else }}
+          emptyDir: {}
+  {{ end }}
+  {{ if not .Values.persistence.enabled }}
+        - name: {{ include "common.fullname" . }}-data
+          emptyDir: {}
+  {{ else }}
+  volumeClaimTemplates:
+  - metadata:
+      name: {{ include "common.fullname" . }}-data
+      labels:
+        name: {{ include "common.fullname" . }}
+        chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+        release: "{{ .Release.Name }}"
+        heritage: "{{ .Release.Service }}"
+    spec:
+      accessModes:
+      - {{ .Values.persistence.accessMode }}
+      storageClassName: {{ include "common.storageClass" . }}
+      resources:
+        requests:
+          storage: {{ .Values.persistence.size }}
+  {{- end }}