[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/resources/dr_nodes/central.yaml b/kubernetes/dmaap/components/dmaap-bc/resources/dr_nodes/central.yaml
new file mode 100644
index 0000000..7ef2dcd
--- /dev/null
+++ b/kubernetes/dmaap/components/dmaap-bc/resources/dr_nodes/central.yaml
@@ -0,0 +1,6 @@
+{
+ "dcaeLocationName" : "san-francisco",
+ "fqdn" : "dmaap-dr-node.san-francisco",
+ "hostName" : "dmaap-dr-node.pod",
+ "version" : "1.0.1"
+}
diff --git a/kubernetes/dmaap/components/dmaap-bc/resources/dr_nodes/edge.yaml b/kubernetes/dmaap/components/dmaap-bc/resources/dr_nodes/edge.yaml
new file mode 100644
index 0000000..272cd75
--- /dev/null
+++ b/kubernetes/dmaap/components/dmaap-bc/resources/dr_nodes/edge.yaml
@@ -0,0 +1,6 @@
+{
+ "dcaeLocationName" : "edge1",
+ "fqdn" : "dmaap-dr-node.edge1",
+ "hostName" : "dmaap-dr-node.pod.edge1",
+ "version" : "1.0.1"
+}
diff --git a/kubernetes/dmaap/components/dmaap-bc/resources/feeds/README b/kubernetes/dmaap/components/dmaap-bc/resources/feeds/README
new file mode 100644
index 0000000..4f5eac5
--- /dev/null
+++ b/kubernetes/dmaap/components/dmaap-bc/resources/feeds/README
@@ -0,0 +1,3 @@
+#
+# Intent of this directory is for it to contain a file for each feed that needs to be provisioned in DR.
+# So, app teams can add files to this directory as needed without impacting each other's code.
diff --git a/kubernetes/dmaap/components/dmaap-bc/resources/topics/PNF_READY.json b/kubernetes/dmaap/components/dmaap-bc/resources/topics/PNF_READY.json
new file mode 100644
index 0000000..8f4cf8b
--- /dev/null
+++ b/kubernetes/dmaap/components/dmaap-bc/resources/topics/PNF_READY.json
@@ -0,0 +1,17 @@
+{
+ "topicName": "PNF_READY",
+ "topicDescription": "This topic will be used to publish the PNF_READY events generated by the PNF REgistration Handler service in the DCAE platform.",
+ "owner": "PNFRegistrationHandler",
+ "txenabled": false,
+ "clients": [
+ {
+ "dcaeLocationName": "san-francisco",
+ "clientRole": "org.onap.dmaap.mr.PNF_READY.pub",
+ "action": [
+ "pub",
+ "view"
+ ]
+
+ }
+ ]
+}
diff --git a/kubernetes/dmaap/components/dmaap-bc/resources/topics/PNF_REGISTRATION.json b/kubernetes/dmaap/components/dmaap-bc/resources/topics/PNF_REGISTRATION.json
new file mode 100644
index 0000000..f0dd2c7
--- /dev/null
+++ b/kubernetes/dmaap/components/dmaap-bc/resources/topics/PNF_REGISTRATION.json
@@ -0,0 +1,17 @@
+{
+ "topicName": "PNF_REGISTRATION",
+ "topicDescription": "the VES collector will be publishing pnfRegistration events in this topic",
+ "owner": "VEScollector",
+ "txenabled": false,
+ "clients": [
+ {
+ "dcaeLocationName": "san-francisco",
+ "clientRole": "org.onap.dmaap.mr.PNF_REGISTRATION.sub",
+ "action": [
+ "sub",
+ "view"
+ ]
+
+ }
+ ]
+}
diff --git a/kubernetes/dmaap/components/dmaap-bc/resources/topics/README b/kubernetes/dmaap/components/dmaap-bc/resources/topics/README
new file mode 100644
index 0000000..fbb88b9
--- /dev/null
+++ b/kubernetes/dmaap/components/dmaap-bc/resources/topics/README
@@ -0,0 +1,3 @@
+#
+# Intent of this directory is for it to contain a file for each topic that needs to be provisioned in MR.
+# So, app teams can add files to this directory as needed without impacting each other's code.
diff --git a/kubernetes/dmaap/components/dmaap-bc/resources/topics/mirrormakeragent.json b/kubernetes/dmaap/components/dmaap-bc/resources/topics/mirrormakeragent.json
new file mode 100644
index 0000000..ff1a573
--- /dev/null
+++ b/kubernetes/dmaap/components/dmaap-bc/resources/topics/mirrormakeragent.json
@@ -0,0 +1,37 @@
+{
+ "topicName": "mirrormakeragent",
+ "topicDescription": "the topic used to provision the MM agent whitelist",
+ "replicationCase": "REPLICATION_NONE",
+ "owner": "dmaap",
+ "txenabled": false,
+ "partitionCount": "1",
+ "clients": [
+ {
+ "dcaeLocationName": "san-francisco",
+ "clientIdentity": "dmaap-bc-mm-prov@dmaap-bc-mm-prov.onap.org",
+ "action": [
+ "pub",
+ "sub",
+ "view"
+ ]
+ },
+ {
+ "dcaeLocationName": "san-francisco",
+ "clientIdentity": "dmaap-bc-topic-mgr@dmaap-bc-topic-mgr.onap.org",
+ "action": [
+ "pub",
+ "sub",
+ "view"
+ ]
+ },
+ {
+ "dcaeLocationName": "san-francisco",
+ "clientIdentity": "demo@people.osaaf.org",
+ "action": [
+ "pub",
+ "sub",
+ "view"
+ ]
+ }
+ ]
+}
\ No newline at end of file
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"