Merge "[ESR] Remove ESR from OOM"
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Wed, 8 Sep 2021 15:45:54 +0000 (15:45 +0000)
committerGerrit Code Review <gerrit@onap.org>
Wed, 8 Sep 2021 15:45:54 +0000 (15:45 +0000)
67 files changed:
kubernetes/aai/components/aai-graphadmin/templates/deployment.yaml
kubernetes/aai/components/aai-graphadmin/values.yaml
kubernetes/aai/components/aai-resources/templates/deployment.yaml
kubernetes/aai/components/aai-resources/values.yaml
kubernetes/aai/components/aai-traversal/templates/deployment.yaml
kubernetes/aai/components/aai-traversal/values.yaml
kubernetes/common/cert-wrapper/resources/import-custom-certs.sh
kubernetes/common/common/templates/_serviceMonitor.tpl [new file with mode: 0644]
kubernetes/common/mariadb-galera/templates/servicemonitor.yaml
kubernetes/config/prepull_docker.sh
kubernetes/consul/Makefile [new file with mode: 0644]
kubernetes/consul/components/Makefile [new file with mode: 0644]
kubernetes/consul/components/consul-server/requirements.yaml
kubernetes/consul/components/consul-server/templates/statefulset.yaml
kubernetes/consul/components/consul-server/values.yaml
kubernetes/consul/requirements.yaml
kubernetes/consul/templates/deployment.yaml
kubernetes/consul/values.yaml
kubernetes/dcaegen2-services/common/dcaegen2-services-common/templates/_job.tpl
kubernetes/dcaegen2-services/components/Makefile
kubernetes/dcaegen2-services/components/dcae-bbs-eventprocessor-ms/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-bbs-eventprocessor-ms/values.yaml
kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-datafile-collector/values.yaml
kubernetes/dcaegen2-services/components/dcae-datalake-admin-ui/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-datalake-admin-ui/values.yaml
kubernetes/dcaegen2-services/components/dcae-datalake-des/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-datalake-des/values.yaml
kubernetes/dcaegen2-services/components/dcae-datalake-feeder/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-datalake-feeder/values.yaml
kubernetes/dcaegen2-services/components/dcae-heartbeat/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-heartbeat/values.yaml
kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/values.yaml
kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-kpi-ms/values.yaml
kubernetes/dcaegen2-services/components/dcae-pm-mapper/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-pm-mapper/values.yaml
kubernetes/dcaegen2-services/components/dcae-pmsh/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-pmsh/values.yaml
kubernetes/dcaegen2-services/components/dcae-prh/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-prh/values.yaml
kubernetes/dcaegen2-services/components/dcae-restconf-collector/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-restconf-collector/values.yaml
kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/values.yaml
kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/values.yaml
kubernetes/dcaegen2-services/components/dcae-son-handler/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-son-handler/values.yaml
kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-tcagen2/values.yaml
kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-ves-collector/values.yaml
kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/job.yaml [new file with mode: 0644]
kubernetes/dcaegen2-services/components/dcae-ves-mapper/values.yaml
kubernetes/dcaegen2/components/dcae-bootstrap/values.yaml
kubernetes/dcaegen2/components/dcae-cloudify-manager/values.yaml
kubernetes/dcaegen2/components/dcae-deployment-handler/values.yaml
kubernetes/dcaegen2/components/dcae-policy-handler/values.yaml
kubernetes/dcaegen2/values.yaml
kubernetes/helm/plugins/deploy/deploy.sh
kubernetes/helm/plugins/undeploy/undeploy.sh
kubernetes/msb/components/msb-consul/resources/docker-entrypoint.sh
kubernetes/portal/components/portal-mariadb/resources/config/mariadb/docker-entrypoint.sh
kubernetes/robot/scripts/etescript/hvves-etescript.sh
kubernetes/uui/values.yaml

index 791bf61..45e4802 100644 (file)
@@ -32,6 +32,12 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   replicas: {{ .Values.replicaCount }}
+  minReadySeconds: {{ .Values.minReadySeconds }}
+  strategy:
+    type: {{ .Values.updateStrategy.type }}
+    rollingUpdate:
+      maxUnavailable: {{ .Values.updateStrategy.maxUnavailable }}
+      maxSurge: {{ .Values.updateStrategy.maxSurge }}
   selector:
     matchLabels:
       app: {{ include "common.name" . }}
@@ -45,6 +51,7 @@ spec:
         checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
     spec:
       hostname: aai-graphadmin
+      terminationGracePeriodSeconds: {{ .Values.service.terminationGracePeriodSeconds }}
     {{ if .Values.global.initContainers.enabled }}
       initContainers:
       - command:
@@ -89,6 +96,10 @@ spec:
           value: {{ .Values.global.config.userId | quote }}
         - name: LOCAL_GROUP_ID
           value: {{ .Values.global.config.groupId | quote }}
+        - name: INTERNAL_PORT_1
+          value: {{ .Values.service.internalPort | quote }}
+        - name: INTERNAL_PORT_2
+          value: {{ .Values.service.internalPort2 | quote }}
         volumeMounts:
         - mountPath: /etc/localtime
           name: localtime
@@ -125,6 +136,18 @@ spec:
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
+        lifecycle:
+          # wait for active requests (long-running tasks) to be finished
+          # Before the SIGTERM is invoked, Kubernetes exposes a preStop hook in the Pod.
+          preStop:
+            exec:
+              command:
+                - sh
+                - -c
+                - |
+                  while (netstat -an | grep ESTABLISHED | grep -e $INTERNAL_PORT_1 -e $INTERNAL_PORT_2)
+                  do sleep 10
+                  done
         # disable liveness probe when breakpoints set in debugger
         # so K8s doesn't restart unresponsive container
         {{ if .Values.liveness.enabled }}
index 03d034b..c29004e 100644 (file)
@@ -125,6 +125,14 @@ flavor: small
 flavorOverride: small
 # default number of instances
 replicaCount: 1
+# the minimum number of seconds that a newly created Pod should be ready
+minReadySeconds: 30
+updateStrategy:
+  type: RollingUpdate
+  # The number of pods that can be unavailable during the update process
+  maxUnavailable: 0
+  # The number of pods that can be created above the desired amount of pods during an update
+  maxSurge: 1
 
 # Configuration for the graphadmin deployment
 config:
@@ -204,6 +212,7 @@ service:
   internalPort: 8449
   portName2: aai-graphadmin-5005
   internalPort2: 5005
+  terminationGracePeriodSeconds: 120
 
 ingress:
   enabled: false
index 501a706..fd4b1c3 100644 (file)
@@ -29,6 +29,12 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   replicas: {{ .Values.replicaCount }}
+  minReadySeconds: {{ .Values.minReadySeconds }}
+  strategy:
+    type: {{ .Values.updateStrategy.type }}
+    rollingUpdate:
+      maxUnavailable: {{ .Values.updateStrategy.maxUnavailable }}
+      maxSurge: {{ .Values.updateStrategy.maxSurge }}
   selector:
     matchLabels:
       app: {{ include "common.name" . }}
@@ -72,6 +78,7 @@ spec:
       {{- end }}
     spec:
       hostname: aai-resources
+      terminationGracePeriodSeconds: {{ .Values.service.terminationGracePeriodSeconds }}
       initContainers: {{ include "common.certInitializer.initContainer" . | nindent 6 }}
       - name: {{ include "common.name" . }}-readiness
         command:
@@ -125,6 +132,10 @@ spec:
           value: '-Djavax.net.ssl.trustStore={{ .Values.certInitializer.credsPath }}/truststoreONAPall.jks -Djavax.net.ssl.trustStorePassword={{ .Values.certInitializer.truststorePassword }}'
         - name: TRUSTORE_ALL_PASSWORD
           value: {{ .Values.certInitializer.truststorePassword }}
+        - name: INTERNAL_PORT_1
+          value: {{ .Values.service.internalPort | quote }}
+        - name: INTERNAL_PORT_2
+          value: {{ .Values.service.internalPort2 | quote }}
         volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
         - mountPath: /etc/localtime
           name: localtime
@@ -173,6 +184,18 @@ spec:
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
+        lifecycle:
+          # wait for active requests (long-running tasks) to be finished
+          # Before the SIGTERM is invoked, Kubernetes exposes a preStop hook in the Pod.
+          preStop:
+            exec:
+              command:
+                - sh
+                - -c
+                - |
+                  while (netstat -an | grep ESTABLISHED | grep -e $INTERNAL_PORT_1 -e $INTERNAL_PORT_2)
+                  do sleep 10
+                  done
         # disable liveness probe when breakpoints set in debugger
         # so K8s doesn't restart unresponsive container
         {{- if .Values.liveness.enabled }}
index c2658a5..2ec78c5 100644 (file)
@@ -161,6 +161,14 @@ flavor: small
 flavorOverride: small
 # default number of instances
 replicaCount: 1
+# the minimum number of seconds that a newly created Pod should be ready
+minReadySeconds: 30
+updateStrategy:
+  type: RollingUpdate
+  # The number of pods that can be unavailable during the update process
+  maxUnavailable: 0
+  # The number of pods that can be created above the desired amount of pods during an update
+  maxSurge: 1
 
 # Configuration for the resources deployment
 config:
@@ -220,6 +228,7 @@ service:
   internalPort: 8447
   portName2: aai-resources-5005
   internalPort2: 5005
+  terminationGracePeriodSeconds: 120
 
 ingress:
   enabled: false
index 037f811..277fb4b 100644 (file)
@@ -29,6 +29,12 @@ metadata:
     heritage: {{ .Release.Service }}
 spec:
   replicas: {{ .Values.replicaCount }}
+  minReadySeconds: {{ .Values.minReadySeconds }}
+  strategy:
+    type: {{ .Values.updateStrategy.type }}
+    rollingUpdate:
+      maxUnavailable: {{ .Values.updateStrategy.maxUnavailable }}
+      maxSurge: {{ .Values.updateStrategy.maxSurge }}
   selector:
     matchLabels:
       app: {{ include "common.name" . }}
@@ -91,6 +97,7 @@ spec:
       {{- end }}
     spec:
       hostname: aai-traversal
+      terminationGracePeriodSeconds: {{ .Values.service.terminationGracePeriodSeconds }}
       initContainers: {{ include "common.certInitializer.initContainer" . | nindent 6 }}
       - command:
         - /app/ready.py
@@ -144,6 +151,10 @@ spec:
           value: {{ .Values.global.config.userId | quote }}
         - name: LOCAL_GROUP_ID
           value: {{ .Values.global.config.groupId | quote }}
+        - name: INTERNAL_PORT_1
+          value: {{ .Values.service.internalPort | quote }}
+        - name: INTERNAL_PORT_2
+          value: {{ .Values.service.internalPort2 | quote }}
         volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 8 }}
         - mountPath: /etc/localtime
           name: localtime
@@ -194,6 +205,18 @@ spec:
         ports:
         - containerPort: {{ .Values.service.internalPort }}
         - containerPort: {{ .Values.service.internalPort2 }}
+        lifecycle:
+          # wait for active requests (long-running tasks) to be finished
+          # Before the SIGTERM is invoked, Kubernetes exposes a preStop hook in the Pod.
+          preStop:
+            exec:
+              command:
+                - sh
+                - -c
+                - |
+                  while (netstat -an | grep ESTABLISHED | grep -e $INTERNAL_PORT_1 -e $INTERNAL_PORT_2)
+                  do sleep 10
+                  done
         # disable liveness probe when breakpoints set in debugger
         # so K8s doesn't restart unresponsive container
         {{ if .Values.liveness.enabled }}
index 297de15..7ad9600 100644 (file)
@@ -145,6 +145,14 @@ pullPolicy: Always
 restartPolicy: Always
 flavor: small
 flavorOverride: small
+# the minimum number of seconds that a newly created Pod should be ready
+minReadySeconds: 30
+updateStrategy:
+  type: RollingUpdate
+  # The number of pods that can be unavailable during the update process
+  maxUnavailable: 0
+  # The number of pods that can be created above the desired amount of pods during an update
+  maxSurge: 1
 
 api_list:
   - 11
@@ -245,6 +253,7 @@ service:
   internalPort: 8446
   portName2: aai-traversal-5005
   internalPort2: 5005
+  terminationGracePeriodSeconds: 120
 
 ingress:
   enabled: false
index 6df7505..eb07a74 100755 (executable)
@@ -37,10 +37,10 @@ for f in $CERTS_DIR/*; do
     # Dont use onap truststore when aaf is disabled
     continue
   fi
-  if [ ${f: -3} = ".sh" ]; then
+  if echo $f | grep '\.sh$' >/dev/null; then
     continue
   fi
-  if [ ${f: -4} = ".b64" ]
+  if echo $f | grep '\.b64$' >/dev/null; then
     then
       base64 -d $f > $WORK_DIR/`basename $f .b64`
     else
@@ -49,8 +49,7 @@ for f in $CERTS_DIR/*; do
 done
 
 for f in $MORE_CERTS_DIR/*; do
-  if [ ${f: -4} == ".pem" ]
-    then
+  if echo $f | grep '\.pem$' >/dev/null; then
       cp $f $WORK_DIR/.
   fi
 done
@@ -67,7 +66,7 @@ fi
 
 # Import Custom Certificates
 for f in $WORK_DIR/*; do
-  if [ ${f: -4} = ".pem" ]; then
+  if echo $f | grep '\.pem$' >/dev/null; then
     echo "importing certificate: $f"
     keytool -import -file $f -alias `basename $f` -keystore $WORK_DIR/$TRUSTSTORE_OUTPUT_FILENAME -storepass $TRUSTSTORE_PASSWORD -noprompt
     if [ $? != 0 ]; then
diff --git a/kubernetes/common/common/templates/_serviceMonitor.tpl b/kubernetes/common/common/templates/_serviceMonitor.tpl
new file mode 100644 (file)
index 0000000..eb6c047
--- /dev/null
@@ -0,0 +1,166 @@
+{{/*
+# Copyright Â© 2021 Bell Canada
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+{{/*
+  Resolve the name of a chart's serviceMonitor.
+
+  The default will be the chart name (or $dot.Values.nameOverride if set).
+  And the use of .Values.metrics.serviceMonitor.name overrides all.
+
+  - .Values.metrics.serviceMonitor.name: override default serviceMonitor (ie. chart) name
+  Example values file addition:
+  metrics:
+    serviceMonitor:
+      enabled: true
+      port: blueprints-processor-http
+      ## specify target port if name is not given to the port in the service definition
+      ##
+      # targetPort: 8080
+      path: /metrics
+      basicAuth:
+        enabled: false
+        externalSecretName: mysecretname
+        externalSecretUserKey: login
+        externalSecretPasswordKey: password
+
+      ## Namespace in which Prometheus is running
+      ##
+      # namespace: monitoring
+
+      ## Interval at which metrics should be scraped.
+      ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
+      ##
+      # interval: 60s
+
+      ## Timeout after which the scrape is ended
+      ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#endpoint
+      ##
+      # scrapeTimeout: 10s
+
+      ## ServiceMonitor selector labels
+      ## ref: https://github.com/bitnami/charts/tree/master/bitnami/prometheus-operator#prometheus-configuration
+      ##
+      selector:
+        app: '{{ include "common.name" . }}'
+        chart: '{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}'
+        release: '{{ include "common.release" . }}'
+        heritage: '{{ .Release.Service }}'
+
+      ## RelabelConfigs to apply to samples before scraping
+      ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
+      ## Value is evalued as a template
+      ##
+      relabelings: []
+
+      ## MetricRelabelConfigs to apply to samples before ingestion
+      ## ref: https://github.com/coreos/prometheus-operator/blob/master/Documentation/api.md#relabelconfig
+      ## Value is evalued as a template
+      ##
+      metricRelabelings: []
+      #  - sourceLabels:
+      #      - "__name__"
+      #    targetLabel: "__name__"
+      #    action: replace
+      #    regex: '(.*)'
+      #    replacement: 'example_prefix_$1'
+
+*/}}
+{{/*
+  Expand the serviceMonitor name for a chart.
+*/}}
+{{- define "common.serviceMonitorName" -}}
+  {{- $name := default .Chart.Name .Values.nameOverride -}}
+  {{- default $name .Values.metrics.serviceMonitor.name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/* Define the metadata of serviceMonitor
+     The function takes from one to four arguments (inside a dictionary):
+     - .dot : environment (.)
+     - .suffix : a string which will be added at the end of the name (with a '-').
+     - .annotations: the annotations to add
+     - .labels : labels to add
+     Usage example:
+      {{ include "common.serviceMonitorMetadata" ( dict "suffix" "myService" "dot" .) }}
+      {{ include "common.serviceMonitorMetadata" ( dict "annotations" .Values.metrics.serviceMonitor.annotation "dot" .) }}
+*/}}
+
+{{- define "common.serviceMonitorMetadata" -}}
+{{-   $dot := default . .dot -}}
+{{-   $annotations := default "" .annotations -}}
+{{-   $labels := default (dict) .labels -}}
+{{- if $annotations -}}
+annotations:
+{{    include "common.tplValue" (dict "value" $annotations "context" $dot) | indent 2 }}
+{{- end }}
+name: {{ include "common.serviceMonitorName" $dot }}
+{{- if $dot.Values.metrics.serviceMonitor.namespace }}
+namespace: {{ $dot.Values.metrics.serviceMonitor.namespace }}
+{{- else }}
+namespace: {{ include "common.namespace" $dot }}
+{{- end }}
+labels: {{- include "common.labels" (dict "labels" $labels "dot" $dot) | nindent 2 }}
+{{- end -}}
+
+{{/*
+    Create service monitor template
+*/}}
+{{- define "common.serviceMonitor" -}}
+{{-   $dot := default . .dot -}}
+{{-   $labels := default (dict) .labels -}}
+apiVersion: monitoring.coreos.com/v1
+kind: ServiceMonitor
+metadata:
+{{- include "common.serviceMonitorMetadata" $dot | nindent 2 }}
+spec:
+  endpoints:
+  - path: {{ default "/metrics" $dot.Values.metrics.serviceMonitor.path }}
+    {{- if $dot.Values.metrics.serviceMonitor.port }}
+    port: {{ $dot.Values.metrics.serviceMonitor.port }}
+    {{- else if $dot.Values.metrics.serviceMonitor.targetPort }}
+    targetPort: {{ $dot.Values.metrics.serviceMonitor.targetPort }}
+    {{- else }}
+    port: metrics
+    {{- end }}
+    {{- if $dot.Values.metrics.serviceMonitor.basicAuth.enabled }}
+    basicAuth:
+      username:
+        key: {{ $dot.Values.metrics.serviceMonitor.basicAuth.externalSecretUserKey }}
+        name: {{ $dot.Values.metrics.serviceMonitor.basicAuth.externalSecretName }}
+      password:
+        key: {{ $dot.Values.metrics.serviceMonitor.basicAuth.externalSecretPasswordKey }}
+        name: {{ $dot.Values.metrics.serviceMonitor.basicAuth.externalSecretName }}
+    {{- end }}
+    {{- if $dot.Values.metrics.serviceMonitor.interval }}
+    interval: {{ $dot.Values.metrics.serviceMonitor.interval }}
+    {{- end }}
+    {{- if $dot.Values.metrics.serviceMonitor.scrapeTimeout }}
+    scrapeTimeout: {{ $dot.Values.metrics.serviceMonitor.scrapeTimeout }}
+    {{- end }}
+    {{- if $dot.Values.metrics.serviceMonitor.relabelings }}
+    relabelings: {{- include "common.tplValue" ( dict "value" $dot.Values.metrics.serviceMonitor.relabelings "context" $dot) | nindent 6 }}
+    {{- end }}
+    {{- if $dot.Values.metrics.serviceMonitor.metricRelabelings }}
+    metricRelabelings: {{- include "common.tplValue" ( dict "value" $dot.Values.metrics.serviceMonitor.metricRelabelings "context" $dot) | nindent 6 }}
+    {{- end }}
+  namespaceSelector:
+    matchNames:
+    - {{ include "common.namespace" $dot }}
+  selector:
+    {{- if $dot.Values.metrics.serviceMonitor.selector }}
+    matchLabels: {{- include "common.tplValue" ( dict "value" $dot.Values.metrics.serviceMonitor.selector "context" $dot) | nindent 6 }}
+    {{- else }}
+    matchLabels: {{- include "common.labels" (dict "labels" $labels "dot" $dot) | nindent 6 }}
+    {{- end }}
+{{- end -}}
index 6c3b41f..6d1ed40 100644 (file)
@@ -1,5 +1,5 @@
 {{/*
-# Copyright Â© 2020 Bitnami, Orange
+# Copyright Â© 2021 Bitnami, Orange, Bell Canada
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # limitations under the License.
 */}}
 
-{{- if default false (and .Values.global.metrics.enabled .Values.global.metrics.custom_resources) }}
-apiVersion: monitoring.coreos.com/v1
-kind: ServiceMonitor
-metadata:
-  name: {{ template "common.fullname" . }}
-  {{- if .Values.metrics.serviceMonitor.namespace }}
-  namespace: {{ .Values.metrics.serviceMonitor.namespace }}
-  {{- else }}
-  namespace: {{ include "common.namespace" . }}
-  {{- end }}
-  labels: {{- include "common.labels" . | nindent 4 }}
-    {{- range $key, $value := .Values.metrics.serviceMonitor.selector }}
-    {{ $key }}: {{ $value | quote }}
-    {{- end }}
-spec:
-  selector:
-    matchLabels: {{- include "common.matchLabels" . | nindent 6 }}
-  endpoints:
-    - port: metrics
-      {{- if .Values.metrics.serviceMonitor.interval }}
-      interval: {{ .Values.metrics.serviceMonitor.interval }}
-      {{- end }}
-      {{- if .Values.metrics.serviceMonitor.scrapeTimeout }}
-      scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
-      {{- end }}
-      {{- if .Values.metrics.serviceMonitor.relabelings }}
-      relabelings: {{- include "common.tplValue" ( dict "value" .Values.metrics.serviceMonitor.relabelings "context" $) | nindent 8 }}
-      {{- end }}
-      {{- if .Values.metrics.serviceMonitor.metricRelabelings }}
-      metricRelabelings: {{- include "common.tplValue" ( dict "value" .Values.metrics.serviceMonitor.metricRelabelings "context" $) | nindent 8 }}
-      {{- end }}
-  namespaceSelector:
-    matchNames:
-      - {{ .Release.Namespace }}
+{{- if .Values.metrics.serviceMonitor.enabled }}
+{{  include "common.serviceMonitor" . }}
 {{- end }}
index 590d651..efd0bd1 100755 (executable)
@@ -102,7 +102,7 @@ do
         for line in  `parse_yaml $filename`
         do
                 #skiping commented line
-                if [ "${line:0:1}" != '#' ]; then
+                if echo "$line" | grep -v '^#' >/dev/null; then
                         #find all image subtag inside converted values.yaml file's lines
                         if echo $line | grep -q $IMAGE_TEXT ; then
                                 #find imageName inside line
diff --git a/kubernetes/consul/Makefile b/kubernetes/consul/Makefile
new file mode 100644 (file)
index 0000000..92102d2
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright Â© 2020 Samsung Electronics, Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES := dist resources templates charts docker
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
+
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
diff --git a/kubernetes/consul/components/Makefile b/kubernetes/consul/components/Makefile
new file mode 100644 (file)
index 0000000..e9159f3
--- /dev/null
@@ -0,0 +1,51 @@
+# Copyright Â© 2020 Samsung Electronics, Orange
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
+OUTPUT_DIR := $(ROOT_DIR)/../../dist
+PACKAGE_DIR := $(OUTPUT_DIR)/packages
+SECRET_DIR := $(OUTPUT_DIR)/secrets
+
+EXCLUDES :=
+HELM_BIN := helm
+HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.))))
+
+.PHONY: $(EXCLUDES) $(HELM_CHARTS)
+
+all: $(HELM_CHARTS)
+
+$(HELM_CHARTS):
+       @echo "\n[$@]"
+       @make package-$@
+
+make-%:
+       @if [ -f $*/Makefile ]; then make -C $*; fi
+
+dep-%: make-%
+       @if [ -f $*/requirements.yaml ]; then $(HELM_BIN) dep up $*; fi
+
+lint-%: dep-%
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) lint $*; fi
+
+package-%: lint-%
+       @mkdir -p $(PACKAGE_DIR)
+       @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi
+       @$(HELM_BIN) repo index $(PACKAGE_DIR)
+
+clean:
+       @rm -f */requirements.lock
+       @rm -f *tgz */charts/*tgz
+       @rm -rf $(PACKAGE_DIR)
+%:
+       @:
index 7afdbc9..e43236d 100644 (file)
@@ -20,3 +20,9 @@ dependencies:
     # a part of this chart's package and will not
     # be published independently to a repo (at this point)
     repository: '@local'
+  - name: serviceAccount
+    version: ~8.x-0
+    repository: '@local'
+  - name: repositoryGenerator
+    version: ~8.x-0
+    repository: '@local'
index 16fda3a..8e872b9 100644 (file)
@@ -74,3 +74,4 @@ spec:
           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
           periodSeconds: {{ .Values.readiness.periodSeconds }}
         resources: {{ include "common.resources" . | nindent 10 }}
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
index 48a26ef..d4e6494 100644 (file)
@@ -92,3 +92,9 @@ securityContext:
   fsGroup: 1000
   runAsUser: 100
   runAsGroup: 1000
+
+#Pods Service Account
+serviceAccount:
+  nameOverride: consul-server
+  roles:
+    - read
index 4d43035..1312294 100644 (file)
@@ -26,4 +26,7 @@ dependencies:
   - name: consul-server
     version: ~8.x-0
     repository: 'file://components/consul-server'
-    condition: cds-command-executor.enabled
+    condition: consul-server.enabled
+  - name: serviceAccount
+    version: ~8.x-0
+    repository: '@local'
index 31546ab..c5d12a4 100644 (file)
@@ -83,6 +83,7 @@ spec:
         - mountPath: /consul/certs
           name: consul-agent-certs-config
         resources: {{ include "common.resources" . | nindent 10 }}
+      serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
       volumes:
       - name: consul-agent-config-dir
         emptyDir: {}
index 0f5d286..e2aa181 100644 (file)
@@ -109,3 +109,9 @@ securityContext:
   fsGroup: 1000
   runAsUser: 100
   runAsGroup: 1000
+
+#Pods Service Account
+serviceAccount:
+  nameOverride: consul
+  roles:
+    - read
index 6d52b2a..f3c0916 100644 (file)
@@ -55,7 +55,8 @@ spec:
       - name: dcae-config-delete
         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.consulLoaderImage }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - /opt/app/delete_key.sh
         args:
-        - --delete-key
         - {{ include "common.name" . }}
 {{ end -}}
index 98dfb97..284f99d 100644 (file)
@@ -26,7 +26,7 @@ HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.)
 
 .PHONY: $(EXCLUDES) $(HELM_CHARTS)
 
-all: $(HELM_CHARTS)
+all: $(HELM_CHARTS) helm-repo-update
 
 $(HELM_CHARTS):
        @echo "\n[$@]"
@@ -50,5 +50,11 @@ clean:
        @rm -f */requirements.lock
        @rm -f *tgz */charts/*tgz
        @rm -rf $(PACKAGE_DIR)
+
+helm-repo-update:
+ifeq "$(findstring v3,$(HELM_VER))" "v3"
+       @$(HELM_BIN) repo update
+endif
+
 %:
        @:
diff --git a/kubernetes/dcaegen2-services/components/dcae-bbs-eventprocessor-ms/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-bbs-eventprocessor-ms/templates/job.yaml
new file mode 100644 (file)
index 0000000..c7722ea
--- /dev/null
@@ -0,0 +1,20 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
index 77dcaba..2eb3e5a 100644 (file)
@@ -49,7 +49,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-datafile-collector/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index a768489..838e49e 100644 (file)
@@ -33,7 +33,7 @@ filebeatConfig:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 certPostProcessorImage: onap/org.onap.oom.platform.cert-service.oom-certservice-post-processor:2.3.3
 
 #################################################################
diff --git a/kubernetes/dcaegen2-services/components/dcae-datalake-admin-ui/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-datalake-admin-ui/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 7677db9..d092b83 100644 (file)
@@ -43,7 +43,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-datalake-des/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-datalake-des/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 598d52b..bc5fe3b 100644 (file)
@@ -49,7 +49,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-datalake-feeder/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-datalake-feeder/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index f0f420a..56017b7 100644 (file)
@@ -50,7 +50,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-heartbeat/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-heartbeat/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 9c9d309..09637c5 100644 (file)
@@ -50,7 +50,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-hv-ves-collector/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 2108d00..9b943c4 100644 (file)
@@ -34,7 +34,7 @@ filebeatConfig:
 # initContainer images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 certPostProcessorImage: onap/org.onap.oom.platform.cert-service.oom-certservice-post-processor:2.3.3
 
 #################################################################
diff --git a/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-kpi-ms/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 026efd8..4250168 100644 (file)
@@ -43,7 +43,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-pm-mapper/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-pm-mapper/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 469c366..d18e8d6 100644 (file)
@@ -48,7 +48,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-pmsh/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 0e79e5e..0efcf2e 100644 (file)
@@ -50,7 +50,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-prh/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-prh/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 043a7b0..3fa5faf 100644 (file)
@@ -33,13 +33,13 @@ filebeatConfig:
 # initContainer images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.7.0
+image: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.7.1
 pullPolicy: Always
 
 # log directory where logging sidecar should look for log files
@@ -148,6 +148,9 @@ applicationConfig:
         dmaap_info:
           topic_url: http://message-router.onap.svc.cluster.local:3904/events/unauthenticated.VES_PNFREG_OUTPUT
 
+applicationEnv:
+  CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
+
 # Resource Limit flavor -By Default using small
 flavor: small
 # Segregation for Different environment (Small and Large)
diff --git a/kubernetes/dcaegen2-services/components/dcae-restconf-collector/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-restconf-collector/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 17c3694..789a807 100644 (file)
@@ -44,7 +44,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-slice-analysis-ms/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 6790541..35d108d 100644 (file)
@@ -50,7 +50,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-snmptrap-collector/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 8cf6508..60295b9 100644 (file)
@@ -34,7 +34,7 @@ filebeatConfig:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-son-handler/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 78c6144..31c6b46 100644 (file)
@@ -50,7 +50,7 @@ secrets:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
diff --git a/kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-tcagen2/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 09529c8..fa85c7d 100644 (file)
@@ -34,7 +34,7 @@ filebeatConfig:
 # initContainer images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 
 #################################################################
diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-collector/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 4050129..34adba7 100644 (file)
@@ -34,14 +34,14 @@ filebeatConfig:
 # initContainer images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 certPostProcessorImage: onap/org.onap.oom.platform.cert-service.oom-certservice-post-processor:2.3.3
 
 #################################################################
 # Application configuration defaults.
 #################################################################
 # application image
-image: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.0
+image: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.1
 pullPolicy: Always
 
 # log directory where logging sidecar should look for log files
@@ -104,6 +104,10 @@ service:
       nodePort: 17
       useNodePortExt: true
 
+# application environments
+applicationEnv:
+  CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
+
 # initial application configuration
 applicationConfig:
   collector.dmaap.streamid: fault=ves-fault|syslog=ves-syslog|heartbeat=ves-heartbeat|measurement=ves-measurement|measurementsForVfScaling=ves-measurement|mobileFlow=ves-mobileflow|other=ves-other|stateChange=ves-statechange|thresholdCrossingAlert=ves-thresholdCrossingAlert|voiceQuality=ves-voicequality|sipSignaling=ves-sipsignaling|notification=ves-notification|pnfRegistration=ves-pnfRegistration|3GPP-FaultSupervision=ves-3gpp-fault-supervision|3GPP-Heartbeat=ves-3gpp-heartbeat|3GPP-Provisioning=ves-3gpp-provisioning|3GPP-PerformanceAssurance=ves-3gpp-performance-assurance
diff --git a/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/job.yaml b/kubernetes/dcaegen2-services/components/dcae-ves-mapper/templates/job.yaml
new file mode 100644 (file)
index 0000000..177cc03
--- /dev/null
@@ -0,0 +1,19 @@
+{{/*
+#============LICENSE_START========================================================
+# ================================================================================
+# Copyright (c) 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.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+*/}}
+{{ include "dcaegen2-services-common.consulDeleteJob" . }}
\ No newline at end of file
index 528e93d..a077c0f 100644 (file)
@@ -33,7 +33,7 @@ filebeatConfig:
 # InitContainer Images.
 #################################################################
 tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Application Configuration Defaults.
index ec322dd..9ca5258 100644 (file)
@@ -24,7 +24,7 @@ global:
   nodePortPrefix: 302
   nodePortPrefixExt: 304
   tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 secrets:
   - uid: pg-root-pass
@@ -111,8 +111,8 @@ default_k8s_location: central
 # Use to override default setting in blueprints
 componentImages:
   tcagen2: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.0
-  ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.0
-  prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.7.0
+  ves: onap/org.onap.dcaegen2.collectors.ves.vescollector:1.10.1
+  prh: onap/org.onap.dcaegen2.services.prh.prh-app-server:1.7.1
   hv_ves: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.9.0
 
 # Resource Limit flavor -By Default using small
index 10fb443..5517269 100644 (file)
@@ -24,7 +24,7 @@ global:
   nodePortPrefix: 302
   persistence: {}
   tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
   repositoryCred:
     user: docker
     password: docker
index 7b9431c..fc4d07d 100644 (file)
@@ -21,7 +21,7 @@
 global:
   nodePortPrefix: 302
   tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 secrets:
   - uid: 'cm-pass'
index baeda67..8f6a1a7 100644 (file)
@@ -22,7 +22,7 @@
 global:
   nodePortPrefix: 302
   tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 secrets:
   - uid: 'cm-pass'
     type: password
index 340c159..f82b410 100644 (file)
@@ -21,7 +21,7 @@
 global:
   nodePortPrefix: 302
   tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
-  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.0
+  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1
 
 #################################################################
 # Secrets metaconfig
index d863a15..536be7b 100755 (executable)
@@ -96,9 +96,9 @@ deploy() {
 
   RELEASE=$1
   CHART_URL=$2
-  FLAGS=${@:3}
-  CHART_REPO="$(echo "$CHART_URL" |cut -d'/' -f1)"
-  CHART_NAME="$(echo "$CHART_URL" |cut -d'/' -f2)"
+  FLAGS=$(echo ${@} | sed 's/^ *[^ ]* *[^ ]* *//')
+  CHART_REPO="$(echo "$CHART_URL" | cut -d'/' -f1)"
+  CHART_NAME="$(echo "$CHART_URL" | cut -d'/' -f2)"
   if expr "$HELM_VER" : "v3\..*" ; then
     CACHE_DIR=~/.local/share/helm/plugins/deploy/cache
   else
@@ -287,7 +287,7 @@ case "${1:-"help"}" in
     usage
     ;;
   *)
-    deploy $1 $2 ${@:3}
+    deploy $1 $2 $(echo ${@} | sed 's/^ *[^ ]* *[^ ]* *//')
     ;;
 esac
 
index 35fc4ca..72c6424 100755 (executable)
@@ -45,7 +45,7 @@ case "${1:-"help"}" in
     usage
     ;;
   *)
-    undeploy $1 ${@:2}
+    undeploy $1 $(echo ${@} | sed 's/^ *[^ ]* *//')
     ;;
 esac
 
index 0cd4616..cbcbf7a 100755 (executable)
@@ -53,7 +53,7 @@ fi
 
 # If the user is trying to run Consul directly with some arguments, then
 # pass them to Consul.
-if [ "${1:0:1}" = '-' ]; then
+if echo "$1" | grep '^-' >/dev/null; then
     set -- consul "$@"
 fi
 
index 3d5e13f..f5dcbff 100644 (file)
@@ -106,7 +106,7 @@ docker_temp_server_start() {
        "$@" --skip-networking --socket="${SOCKET}" &
        mysql_note "Waiting for server startup"
        local i
-       for i in {30..0}; do
+       for i in $(seq 30 -1 0); do
                # only use the root password if the database has already been initializaed
                # so that it won't try to fill in a password file when it hasn't been set yet
                extraArgs=""
@@ -164,7 +164,7 @@ docker_init_database_dir() {
                installArgs=${installArgs}" --auth-root-authentication-method=normal"
        fi
        # "Other options are passed to mysqld." (so we pass all "mysqld" arguments directly here)
-       mysql_install_db ${installArgs} "${@:2}"
+       mysql_install_db ${installArgs} "$(echo ${@} | sed 's/^ *[^ ]* *//')"
        mysql_note "Database files initialized"
 }
 
@@ -278,10 +278,10 @@ docker_setup_db() {
 
                if [ -n "$MYSQL_DATABASE" ]; then
                        mysql_note "Giving user ${MYSQL_USER} access to schema ${MYSQL_DATABASE}"
-                       echo "GRANT ALL ON \`${MYSQL_DATABASE//_/\\_}\`.* TO '$MYSQL_USER'@'%' ;" |docker_process_sql --database=mysql
+                       echo "GRANT ALL ON \`$(echo $MYSQL_DATABASE | sed 's@_@\\_@g')\`.* TO '$MYSQL_USER'@'%' ;" | docker_process_sql --database=mysql
                fi
 
-               echo "FLUSH PRIVILEGES ;" |docker_process_sql --database=mysql
+               echo "FLUSH PRIVILEGES ;" | docker_process_sql --database=mysql
        fi
 }
 
@@ -313,7 +313,7 @@ _mysql_want_help() {
 
 _main() {
        # if command starts with an option, prepend mysqld
-       if [ "${1:0:1}" = '-' ]; then
+       if echo "$1" | grep '^-' >/dev/null; then
                set -- mysqld "$@"
        fi
 
index b47051f..63e90cd 100755 (executable)
@@ -49,21 +49,21 @@ create_pkcs12_ca_and_server () {
 }
 
 copy_server_certs_to_hvves () {
-       for f in {ca.p12,server.p12}
+       for f in ca.p12 server.p12
        do
                kubectl cp $1/$f $2/$3:$4
        done
 }
 
 copy_client_certs_to_robot () {
-       for f in {ca.pem,client.key,client.pem}
+       for f in ca.pem client.key client.pem
        do
                 kubectl cp $1/$f $2/$3:$4
         done
 }
 
 cleanup () {
-       rm -f $1/{ca,server,client}.???
+       rm -f $1/ca.??? $1/server.??? s$1/client.???
 }
 
 
index 0fa4748..61a0b50 100644 (file)
@@ -24,7 +24,7 @@ subChartsOnly:
 flavor: small
 
 # application image
-image: onap/usecase-ui:4.0.1
+image: onap/usecase-ui:4.0.2
 pullPolicy: Always
 
 # application configuration