[DMAAP] Moving DMaaP post-install jobs to 1 BC job

Change-Id: I11fe412600d1061e5667a5531d36cecbecdd34e3
Signed-off-by: efiacor <fiachra.corcoran@est.tech>
Issue-ID: OOM-2369
diff --git a/kubernetes/dmaap/components/dmaap-bc/templates/configmap.yaml b/kubernetes/dmaap/components/dmaap-bc/templates/configmap.yaml
index 37d39ef..bb68eb7 100644
--- a/kubernetes/dmaap/components/dmaap-bc/templates/configmap.yaml
+++ b/kubernetes/dmaap/components/dmaap-bc/templates/configmap.yaml
@@ -51,3 +51,55 @@
     heritage: {{ .Release.Service }}
 data:
 {{ tpl (.Files.Glob "resources/dcaeLocations/*.json").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name:  {{ include "common.fullname" . }}-dr-nodes
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/dr_nodes/*.json").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name:  {{ include "common.fullname" . }}-feeds
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/feeds/*.json").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name:  {{ include "common.fullname" . }}-mr-clusters
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/mr_clusters/*.json").AsConfig . | indent 2 }}
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name:  {{ include "common.fullname" . }}-topics
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+data:
+{{ tpl (.Files.Glob "resources/topics/*.json").AsConfig . | indent 2 }}
\ No newline at end of file
diff --git a/kubernetes/dmaap/components/dmaap-bc/templates/deployment.yaml b/kubernetes/dmaap/components/dmaap-bc/templates/deployment.yaml
index 2cfa373..3c6a23a 100644
--- a/kubernetes/dmaap/components/dmaap-bc/templates/deployment.yaml
+++ b/kubernetes/dmaap/components/dmaap-bc/templates/deployment.yaml
@@ -41,11 +41,7 @@
         image: "{{ .Values.global.envsubstImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         name: {{ include "common.name" . }}-update-config
-
-{{- if .Values.global.aafEnabled }}
-
 {{ include "common.certInitializer.initContainer" . | nindent 6 }}
-
       - name: {{ include "common.name" . }}-permission-fixer
         image: "{{ .Values.global.busyBoxRepository }}/{{ .Values.global.busyBoxImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
@@ -61,15 +57,16 @@
         volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
         command: ["/bin/sh"]
         args: [ "-c", "sed -i -e '/cadi_keystore_password=/d' -e '/cadi_keystore_password_jks/p' -e 's/cadi_keystore_password_jks/cadi_keystore_password/' -e 's/dmaap-bc.p12/dmaap-bc.jks/' /opt/app/osaaf/local/org.onap.dmaap-bc.cred.props" ]
-
-{{- end }}
-{{- if .Values.PG.enabled }}
       - name: {{ include "common.name" . }}-postgres-readiness
         command:
         - /root/ready.py
         args:
         - --container-name
         - {{ .Values.postgres.nameOverride }}
+        - --container-name
+        - message-router
+        - --container-name
+        - dmaap-dr-node
         env:
         - name: NAMESPACE
           valueFrom:
@@ -79,7 +76,6 @@
         image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
 {{- end }}
-{{- end }}
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ .Values.repository }}/{{ .Values.image }}"
diff --git a/kubernetes/dmaap/components/dmaap-bc/templates/dmaap-provisioning-job.yaml b/kubernetes/dmaap/components/dmaap-bc/templates/dmaap-provisioning-job.yaml
new file mode 100644
index 0000000..5b22f06
--- /dev/null
+++ b/kubernetes/dmaap/components/dmaap-bc/templates/dmaap-provisioning-job.yaml
@@ -0,0 +1,92 @@
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}-dmaap-provisioning
+  namespace: {{ include "common.namespace" . }}
+  labels: {{- include "common.labels" . | nindent 4 }}
+spec:
+  backoffLimit: 5
+  template:
+    metadata: {{- include "common.templateMetadata" . | nindent 6 }}
+    spec:
+      restartPolicy: Never
+      initContainers:
+      - name: {{ include "common.name" . }}-init-readiness
+        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - /root/ready.py
+        args:
+        - --container-name
+        - dmaap-bc
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+      - name: dmaap-provisioning-job
+        image: "{{ include "common.repository" . }}/{{ .Values.global.clientImage }}"
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        env:
+        - name: DELAY
+          value: "0"
+    {{- if .Values.global.allow_http }}
+        - name: PROTO
+          value: "http"
+        - name: PORT
+          value: "8080"
+    {{ end }}
+        - name: REQUESTID
+          value: "{{.Chart.Name}}-dmaap-provisioning"
+        volumeMounts:
+        - mountPath: /etc/localtime
+          name: localtime
+          readOnly: true
+# NOTE: on the following several configMaps, careful to include / at end
+#       since there may be more than one file in each mountPath
+# NOTE: the basename of the subdirectory of mountPath is important - it matches the DBCL API URI
+        - name:  {{ include "common.fullname" . }}-dbc-dmaap
+          mountPath: /opt/app/config/dmaap/
+        - name:  {{ include "common.fullname" . }}-dbc-dcaelocations
+          mountPath: /opt/app/config/dcaeLocations/
+        - name:  {{ include "common.fullname" . }}-dr-nodes
+          mountPath: /opt/app/config/dr-nodes/
+        - name:  {{ include "common.fullname" . }}-feeds
+          mountPath: /opt/app/config/feeds/
+        - name:  {{ include "common.fullname" . }}-mr-clusters
+          mountPath: /opt/app/config/mr-clusters/
+        - name:  {{ include "common.fullname" . }}-topics
+          mountPath: /opt/app/config/topics/
+        resources: {{ include "common.resources" . | nindent 10 }}
+        {{- if .Values.nodeSelector }}
+      nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
+        {{- end -}}
+        {{- if .Values.affinity }}
+      affinity: {{ toYaml .Values.affinity | nindent 8 }}
+        {{- end }}
+      volumes:
+        - name: localtime
+          hostPath:
+            path: /etc/localtime
+        - name: {{ include "common.fullname" . }}-dbc-dmaap
+          configMap:
+            name: {{ include "common.fullname" . }}-dbc-dmaap
+        - name: {{ include "common.fullname" . }}-dbc-dcaelocations
+          configMap:
+            name: {{ include "common.fullname" . }}-dbc-dcaelocations
+        - name: {{ include "common.fullname" . }}-dr-nodes
+          configMap:
+            name: {{ include "common.fullname" . }}-dr-nodes
+        - name: {{ include "common.fullname" . }}-feeds
+          configMap:
+            name: {{ include "common.fullname" . }}-feeds
+        - name: {{ include "common.fullname" . }}-mr-clusters
+          configMap:
+            name: {{ include "common.fullname" . }}-mr-clusters
+        - name: {{ include "common.fullname" . }}-topics
+          configMap:
+            name: {{ include "common.fullname" . }}-topics
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
diff --git a/kubernetes/dmaap/components/dmaap-bc/templates/post-install-job.yaml b/kubernetes/dmaap/components/dmaap-bc/templates/post-install-job.yaml
deleted file mode 100644
index c06d4e1..0000000
--- a/kubernetes/dmaap/components/dmaap-bc/templates/post-install-job.yaml
+++ /dev/null
@@ -1,67 +0,0 @@
-apiVersion: batch/v1
-kind: Job
-metadata:
-  name: {{ include "common.fullname" . }}-post-install
-  namespace: {{ include "common.namespace" . }}
-  labels: {{- include "common.labels" . | nindent 4 }}
-  annotations:
-    # This is what defines this resource as a hook. Without this line, the
-    # job is considered part of the release.
-    "helm.sh/hook": post-install
-    "helm.sh/hook-weight": "-5"
-    "helm.sh/hook-delete-policy": hook-succeeded
-spec:
-  template:
-    metadata: {{- include "common.templateMetadata" . | nindent 6 }}
-    spec:
-      restartPolicy: Never
-      containers:
-      - name: post-install-job
-        image: "{{ include "common.repository" . }}/{{ .Values.global.clientImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        env:
-        - name: DELAY
-          value: "0"
-        - name: PROTO
-{{- if (include "common.needTLS" .) }}
-          value: "https"
-        - name: PORT
-          value: "8443"
-{{- else }}
-          value: "http"
-        - name: PORT
-          value: "8080"
-{{- end }}
-        - name: REQUESTID
-          value: "{{.Chart.Name}}-post-install"
-        volumeMounts:
-        - mountPath: /etc/localtime
-          name: localtime
-          readOnly: true
-
-# NOTE: on the following several configMaps, careful to include / at end
-#       since there may be more than one file in each mountPath
-# NOTE: the basename of the subdirectory of mountPath is important - it matches the DBCL API URI
-        - name:  {{ include "common.fullname" . }}-dbc-dmaap
-          mountPath: /opt/app/config/dmaap/
-        - name:  {{ include "common.fullname" . }}-dbc-dcaelocations
-          mountPath: /opt/app/config/dcaeLocations/
-        resources: {{ include "common.resources" . | nindent 10 }}
-        {{- if .Values.nodeSelector }}
-      nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
-        {{- end -}}
-        {{- if .Values.affinity }}
-      affinity: {{ toYaml .Values.affinity | nindent 8 }}
-        {{- end }}
-      volumes:
-        - name: localtime
-          hostPath:
-            path: /etc/localtime
-        - name: {{ include "common.fullname" . }}-dbc-dmaap
-          configMap:
-            name: {{ include "common.fullname" . }}-dbc-dmaap
-        - name: {{ include "common.fullname" . }}-dbc-dcaelocations
-          configMap:
-            name: {{ include "common.fullname" . }}-dbc-dcaelocations
-      imagePullSecrets:
-      - name: "{{ include "common.namespace" . }}-docker-registry-key"