[Champ] Update to use DMaaP with SSL 21/67021/1
authorMichael Arrastia <MArrasti@amdocs.com>
Mon, 17 Sep 2018 14:12:45 +0000 (15:12 +0100)
committerMichael Arrastia <MArrasti@amdocs.com>
Mon, 17 Sep 2018 14:27:17 +0000 (15:27 +0100)
- Reconfigure event publisher in champ-beans.xml to use DMaaP client.
- Add property values to values.yaml file.
- Update JKS trust store (tomcat_keystore) to accept the DMaaP
  certificate.
- Additionally, to align with other microservices, update
  deployment.yaml to map logs to filebeat sidecar.

Change-Id: I37da421b1cbf03a85fa19dda1e38955b17fa56ca
Issue-ID: AAI-1597
Signed-off-by: Michael Arrastia <MArrasti@amdocs.com>
kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore
kubernetes/aai/charts/aai-champ/resources/config/dynamic/conf/champ-beans.xml
kubernetes/aai/charts/aai-champ/templates/deployment.yaml
kubernetes/aai/charts/aai-champ/values.yaml

index 9eec841..c4c7271 100644 (file)
Binary files a/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore and b/kubernetes/aai/charts/aai-champ/resources/config/appconfig/auth/tomcat_keystore differ
index 325982b..38fd64c 100644 (file)
@@ -24,11 +24,17 @@ xsi:schemaLocation="
        http://www.springframework.org/schema/util/spring-util.xsd
        ">
 
-    <!-- Event publisher to pass to the Champ library for logging raw graph
-         events (Kafka implementation). -->
-    <bean id="champEventPublisher" class="org.onap.aai.event.client.KafkaEventPublisher" >
-        <constructor-arg name="hosts" value="message-router-kafka.{{.Release.Namespace}}:9092" />
-        <constructor-arg name="topic" value="champRawEvents" />
+    <bean id="champEventPublisher" class="org.onap.aai.event.client.DMaaPEventPublisher" >
+        <constructor-arg name="host" value="message-router.{{.Release.Namespace}}:{{.Values.event.port.dmaap}}" />
+        <constructor-arg name="topic" value="{{.Values.event.publisher.topic}}" />
+        <constructor-arg name="username" value="" />
+        <constructor-arg name="password" value="" />
+        <constructor-arg name="maxBatchSize" value="100" />
+        <constructor-arg name="maxAgeMs" value="250" />
+        <constructor-arg name="delayBetweenBatchesMs" value="50" />
+        <constructor-arg name="transportType" value="HTTPAUTH" />
+        <constructor-arg name="protocol" value="{{.Values.event.protocol}}" />
+        <constructor-arg name="contentType" value="application/json" />
     </bean>
 
     <!-- Graph Implementation Configuration-->
index 0e2bb90..d2f7bca 100644 (file)
@@ -31,23 +31,6 @@ spec:
         app: {{ include "common.name" . }}
         release: {{ .Release.Name }}
     spec:
-      initContainers:
-      - command:
-        - /root/ready.py
-        args:
-        - --container-name
-        - aai-resources
-        - --container-name
-        - message-router-kafka
-        env:
-        - name: NAMESPACE
-          valueFrom:
-            fieldRef:
-              apiVersion: v1
-              fieldPath: metadata.namespace
-        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
-        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
-        name: {{ include "common.name" . }}-readiness
       containers:
         - name: {{ include "common.name" . }}
           image: "{{ include "common.repository" . }}/{{ .Values.image }}"
@@ -100,7 +83,7 @@ spec:
           - mountPath: /opt/app/champ-service/bundleconfig/etc/logback.xml
             name: {{ include "common.fullname" . }}-logback-config
             subPath: logback.xml
-          - mountPath: /logs
+          - mountPath: /var/log/onap
             name: {{ include "common.fullname" . }}-logs
           resources:
 {{ toYaml .Values.resources | indent 12 }}
@@ -113,6 +96,19 @@ spec:
 {{ toYaml .Values.affinity | indent 10 }}
         {{- end }}
 
+        # side car containers
+        - name: filebeat-onap
+          image: "{{ .Values.global.loggingRepository }}/{{ .Values.global.loggingImage }}"
+          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+          volumeMounts:
+          - mountPath: /usr/share/filebeat/filebeat.yml
+            subPath: filebeat.yml
+            name: filebeat-conf
+          - mountPath: /var/log/onap
+            name: {{ include "common.fullname" . }}-logs
+          - mountPath: /usr/share/filebeat/data
+            name: aai-filebeat
+
       volumes:
         - name: localtime
           hostPath:
@@ -140,5 +136,10 @@ spec:
             items:
             - key: logback.xml
               path: logback.xml
+        - name: filebeat-conf
+          configMap:
+            name: aai-filebeat
+        - name: aai-filebeat
+          emptyDir: {}
       imagePullSecrets:
       - name: "{{ include "common.namespace" . }}-docker-registry-key"
index c59a9b3..a6435dd 100644 (file)
@@ -61,3 +61,11 @@ ingress:
   enabled: false
 
 resources: {}
+
+# XML beans configuration
+event:
+  port:
+    dmaap: 3905
+  protocol: https
+  publisher:
+    topic: champRawEvents