Merge "[DMAAP] Fix scaling logic for message router kafka and zookeeper"
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Thu, 1 Apr 2021 05:32:17 +0000 (05:32 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 1 Apr 2021 05:32:17 +0000 (05:32 +0000)
1  2 
kubernetes/dmaap/components/message-router/components/message-router-kafka/templates/statefulset.yaml
kubernetes/dmaap/components/message-router/components/message-router-kafka/values.yaml

@@@ -97,7 -97,6 +97,7 @@@ spec
          image: {{ include "repositoryGenerator.image.envsubst" . }}
          imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
          name: {{ include "common.name" . }}-update-config
 +      {{ include "common.certInitializer.initContainer" . | indent 6 | trim }}
        containers:
        {{- if .Values.prometheus.jmx.enabled }}
        - name: prometheus-jmx-exporter
          - |
            export KAFKA_BROKER_ID=${HOSTNAME##*-} && \
            {{- if  .Values.global.aafEnabled }}
 +          cp {{ .Values.certInitializer.credsPath }}/{{ .Values.certInitializer.final_cadi_files }} /etc/kafka/data/{{ .Values.certInitializer.final_cadi_files }} && \
            export KAFKA_ADVERTISED_LISTENERS=EXTERNAL_SASL_PLAINTEXT://$(HOST_IP):$(( $KAFKA_BROKER_ID + {{ .Values.service.baseNodePort }} )),INTERNAL_SASL_PLAINTEXT://:{{ .Values.service.internalPort }} && \
            {{ else }}
            export KAFKA_ADVERTISED_LISTENERS=EXTERNAL_PLAINTEXT://$(HOST_IP):$(( $KAFKA_BROKER_ID + {{ .Values.service.baseNodePort }} )),INTERNAL_PLAINTEXT://:{{ .Values.service.internalPort }} && \
          - containerPort: {{ .Values.jmx.port }}
            name: jmx
          {{- end }}
 -       {{ if eq .Values.liveness.enabled true }}
 +        {{ if eq .Values.liveness.enabled true }}
          livenessProbe:
            tcpSocket:
              port: {{ .Values.service.internalPort }}
                apiVersion: v1
                fieldPath: status.hostIP
          - name: KAFKA_ZOOKEEPER_CONNECT
-           value: {{ include "common.release" . }}-{{.Values.zookeeper.name}}-0.{{.Values.zookeeper.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.zookeeper.port}},{{ include "common.release" . }}-{{.Values.zookeeper.name}}-1.{{.Values.zookeeper.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.zookeeper.port}},{{ include "common.release" . }}-{{.Values.zookeeper.name}}-2.{{.Values.zookeeper.name}}.{{.Release.Namespace}}.svc.cluster.local:{{.Values.zookeeper.port}}
+           value: "{{ include "common.kafkaNodes" (dict "dot" . "replicaCount" .Values.zookeeper.replicaCount "componentName" .Values.zookeeper.name "port" .Values.zookeeper.port ) }}"
          - name: KAFKA_CONFLUENT_SUPPORT_METRICS_ENABLE
            value: "{{ .Values.kafka.enableSupport }}"
 -        - name: KAFKA_OPTS
 -          value: "{{ .Values.kafka.jaasOptions }}"
          {{- if  .Values.global.aafEnabled }}
          - name: KAFKA_OPTS
            value: "{{ .Values.kafka.jaasOptionsAaf }}"
          {{- end }}
          - name: enableCadi
            value: "{{ .Values.global.aafEnabled }}"
 -        volumeMounts:
 +        volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
          - mountPath: /etc/localtime
            name: localtime
            readOnly: true
          - mountPath: /var/run/docker.sock
            name: docker-socket
 -        {{- if .Values.global.aafEnabled }}
 -        - mountPath: /etc/kafka/data/cadi.properties
 -          subPath: cadi.properties
 -          name: cadi
 -        {{ end  }}
          - name: jaas-config
            mountPath: /etc/kafka/secrets/jaas
          - mountPath: /var/lib/kafka/data
        tolerations:
          {{ toYaml .Values.tolerations | indent 10 }}
        {{- end }}
 -      volumes:
 +      volumes:  {{ include "common.certInitializer.volumes" . | nindent 6 }}
        - name: localtime
          hostPath:
            path: /etc/localtime
        - name: jaas
          configMap:
            name: {{ include "common.fullname" . }}-jaas-configmap
 -       {{- if .Values.prometheus.jmx.enabled }}
 +      {{- if .Values.prometheus.jmx.enabled }}
        - name: jmx-config
          configMap:
            name: {{ include "common.fullname" . }}-prometheus-configmap
 -       {{- end }}
 +      {{- end }}
  {{ if not .Values.persistence.enabled }}
        - name: kafka-data
          emptyDir: {}
@@@ -20,35 -20,6 +20,35 @@@ global
    nodePortPrefix: 302
    persistence: {}
  
 +
 +#################################################################
 +# AAF part
 +#################################################################
 +certInitializer:
 +  nameOverride: dmaap-mr-kafka-cert-initializer
 +  aafDeployFqi: deployer@people.osaaf.org
 +  aafDeployPass: demo123456!
 +  # aafDeployCredsExternalSecret: some secret
 +  fqdn: dmaap-mr
 +  fqi: dmaapmr@mr.dmaap.onap.org
 +  public_fqdn: mr.dmaap.onap.org
 +  cadi_longitude: "-122.26147"
 +  cadi_latitude: "37.78187"
 +  app_ns: org.osaaf.aaf
 +  credsPath: /opt/app/osaaf/local
 +  fqi_namespace: org.onap.dmaap.mr
 +  final_cadi_files: cadi.properties
 +  aaf_add_config: |
 +    echo "*** concat the three prop files"
 +    cd {{ .Values.credsPath }}
 +    cat {{ .Values.fqi_namespace }}.props > {{ .Values.final_cadi_files }}
 +    cat {{ .Values.fqi_namespace }}.cred.props >> {{ .Values.final_cadi_files }}
 +    cat {{ .Values.fqi_namespace }}.location.props >> {{ .Values.final_cadi_files }}
 +    echo "*** configuration result:"
 +    cat {{ .Values.final_cadi_files }}
 +    chown -R 1000 .
 +
 +
  #################################################################
  # Application configuration defaults.
  #################################################################
@@@ -60,6 -31,7 +60,7 @@@ pullPolicy: Alway
  zookeeper:
    name: message-router-zookeeper
    port: 2181
+   replicaCount: 3
  
  kafka:
    heapOptions: -Xmx5G -Xms1G