[CASSANDRA] Change values to makre Cassandra instances more stable
[oom.git] / kubernetes / dcaegen2 / components / dcae-cloudify-manager / templates / deployment.yaml
index 2fd9a6d..f5fc9ca 100644 (file)
@@ -1,7 +1,9 @@
+{{/*
 #============LICENSE_START========================================================
 # ================================================================================
-# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
 # Modifications Copyright © 2018 Amdocs, Bell Canada
+# Copyright (c) 2020-2021 J. F. Lucas.  All rights reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -15,8 +17,9 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 # ============LICENSE_END=========================================================
+*/}}
 
-apiVersion: extensions/v1beta1
+apiVersion: apps/v1
 kind: Deployment
 metadata:
   name: {{ include "common.fullname" . }}
@@ -24,15 +27,18 @@ metadata:
   labels:
     app: {{ include "common.name" . }}
     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
-    release: {{ .Release.Name }}
+    release: {{ include "common.release" . }}
     heritage: {{ .Release.Service }}
 spec:
   replicas: 1
+  selector:
+    matchLabels:
+      app: {{ include "common.name" . }}
   template:
     metadata:
       labels:
         app: {{ include "common.name" . }}
-        release: {{ .Release.Name }}
+        release: {{ include "common.release" . }}
     spec:
       # host alias allows local 'cfy' command to use https and match
       # the host name in the certificate
@@ -40,16 +46,47 @@ spec:
       - ip: "127.0.0.1"
         hostnames:
         - "dcae-cloudify-manager"
+      # Cloudify requires a fixed hostname across restarts
+      hostname: dcae-cloudify-manager
       initContainers:
+      - name: {{ include "common.name" . }}-readiness
+        image: {{ include "repositoryGenerator.image.readiness" . }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+          - /app/ready.py
+        args:
+          - --container-name
+          - aaf-cm
+          - --container-name
+          - consul-server
+          - "-t"
+          - "15"
+        env:
+          - name: NAMESPACE
+            valueFrom:
+              fieldRef:
+                apiVersion: v1
+                fieldPath: metadata.namespace
       - name: {{ include "common.name" . }}-multisite-init
-        image: {{ include "common.repository" . }}/{{ .Values.multisiteInitImage }}
+        image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.multisiteInitImage }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         args:
           - --namespace
           - {{ include "common.namespace" . }}
           - --configmap
           - {{ .Values.multisiteConfigMapName }}
-        restartPolicy: Never
+      - name: init-consul
+        image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.consulLoaderImage }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        args:
+        - --key
+        - k8s-plugin|/plugin-configs/k8s-plugin.json
+        - --key
+        - dmaap-plugin|/plugin-configs/dmaap-plugin.json
+        resources: {}
+        volumeMounts:
+          - mountPath: /plugin-configs
+            name: plugin-configs
       - name: init-tls
         env:
           - name: POD_IP
@@ -57,15 +94,30 @@ spec:
               fieldRef:
                 apiVersion: v1
                 fieldPath: status.podIP
-        image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
+          - name: aaf_locator_fqdn
+            value: dcae
+        image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.tlsImage }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         resources: {}
         volumeMounts:
-            - mountPath: /opt/tls/shared
+            - mountPath: /opt/app/osaaf
               name: tls-info
+      {{- if .Values.persistence.enabled }}
+      - name: remove-lost-found
+        image: {{ include "repositoryGenerator.image.busybox" . }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        volumeMounts:
+        - mountPath: /cfy-persist
+          name: cm-persistent
+        command:
+        - /bin/sh
+        args:
+        - -c
+        - "rm -rf '/cfy-persist/lost+found';"
+      {{- end }}
       containers:
         - name: {{ include "common.name" . }}
-          image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+          image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
           imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
           env:
             - name: REQUESTS_CA_BUNDLE
@@ -82,6 +134,7 @@ spec:
               port: {{ .Values.service.internalPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
+            timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
           {{ end }}
           readinessProbe:
             exec:
@@ -89,6 +142,7 @@ spec:
               - /scripts/readiness-check.sh
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
+            timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
           volumeMounts:
           - mountPath: /opt/onap/config.txt
             subPath: config.txt
@@ -110,8 +164,12 @@ spec:
             name: cm-persistent
           - mountPath: /opt/onap/certs
             name: tls-info
+          - mountPath: /opt/onap/cm-secrets
+            name: cm-secrets
+            readOnly: true
           securityContext:
             privileged: True
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "create" "dot" . )}}
       volumes:
         - name: {{ include "common.fullname" . }}-config
           configMap:
@@ -119,6 +177,9 @@ spec:
         - name: {{ include "common.fullname" .}}-kubeconfig
           configMap:
             name: {{ .Values.multisiteConfigMapName }}
+        - name: plugin-configs
+          configMap:
+            name: {{ include "common.fullname" . }}-plugins
         - name: dcae-token
           secret:
             secretName: dcae-token
@@ -137,5 +198,8 @@ spec:
         {{- end }}
         - emptyDir: {}
           name: tls-info
+        - name: cm-secrets
+          secret:
+            secretName: {{ include "common.secret.getSecretNameFast" (dict "global" . "uid" "cm-pass") }}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"