[SDNC] SDNC ServiceMesh compatibility

SDNC charts and properties file changes to make it work with servicemesh

Issue-ID: OOM-2983
Signed-off-by: Radoslaw Chmiel <r.chmiel@partner.samsung.com>
Change-Id: I30bf8948f65d6a1b912c3f840ca44cead03bdc96
diff --git a/kubernetes/sdnc/components/sdnc-ansible-server/values.yaml b/kubernetes/sdnc/components/sdnc-ansible-server/values.yaml
index c89f03b..7689dcc 100644
--- a/kubernetes/sdnc/components/sdnc-ansible-server/values.yaml
+++ b/kubernetes/sdnc/components/sdnc-ansible-server/values.yaml
@@ -101,7 +101,7 @@
 service:
   type: ClusterIP
   name: sdnc-ansible-server
-  portName: sdnc-ansible-server
+  portName: http
   internalPort: 8000
   externalPort: 8000
 
diff --git a/kubernetes/sdnc/components/sdnc-web/templates/deployment.yaml b/kubernetes/sdnc/components/sdnc-web/templates/deployment.yaml
index 21416c9..03432d3 100644
--- a/kubernetes/sdnc/components/sdnc-web/templates/deployment.yaml
+++ b/kubernetes/sdnc/components/sdnc-web/templates/deployment.yaml
@@ -49,32 +49,34 @@
           {{ if .Values.liveness.enabled }}
           livenessProbe:
             tcpSocket:
-              port: {{ .Values.service.internalPort }}
+              port: {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.service.internalPort .Values.service.internalPlainPort }}
             initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
             periodSeconds: {{ .Values.liveness.periodSeconds }}
           {{ end }}
           readinessProbe:
             tcpSocket:
-              port: {{ .Values.service.internalPort }}
+              port: {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.service.internalPort .Values.service.internalPlainPort }}
             initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
             periodSeconds: {{ .Values.readiness.periodSeconds }}
           env:
           - name: WEBPROTOCOL
-            value: {{ .Values.config.webProtocol }}
+            value: {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.config.webProtocol .Values.config.webPlainProtocol }}
           - name: WEBPORT
-            value: {{ .Values.config.webPort | quote }}
+            value : {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.config.webPort .Values.config.webPlainPort | quote }}
           - name: SDNRPROTOCOL
-            value: {{ .Values.config.sdnrProtocol }}
+            value : {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.config.sdnrProtocol .Values.config.sdnrPlainProtocol }}
           - name: SDNRHOST
-            value: {{ .Values.config.sdnrHost }}.{{ include "common.namespace" . }}
+            value : {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.config.sdnrHost .Values.config.sdnrPlainHost }}.{{ include "common.namespace" . }}
           - name: SDNRPORT
-            value: {{ .Values.config.sdnrPort | quote }}
+            value : {{ (eq "true" (include "common.needTLS" .)) | ternary .Values.config.sdnrPort .Values.config.sdnrPlainPort | quote }}
+          {{ if (include "common.needTLS" .) }}
           - name: SSL_CERT_DIR
             value: {{ .Values.config.sslCertDir }}
           - name: SSL_CERTIFICATE
             value: {{ .Values.config.sslCertiticate }}
           - name: SSL_CERTIFICATE_KEY
             value: {{ .Values.config.sslCertKey }}
+          {{ end }}
           {{ if .Values.config.transportpce.enabled }}
           - name: TRPCEURL
             value: {{ .Values.config.transportpce.transportpceUrl }}
diff --git a/kubernetes/sdnc/components/sdnc-web/values.yaml b/kubernetes/sdnc/components/sdnc-web/values.yaml
index c066b5e..ecc5573 100644
--- a/kubernetes/sdnc/components/sdnc-web/values.yaml
+++ b/kubernetes/sdnc/components/sdnc-web/values.yaml
@@ -29,10 +29,15 @@
 config:
   sdncChartName: sdnc
   webProtocol: HTTPS
+  webPlainProtocol: HTTP
   webPort: 8443
+  webPlainPort: 8080
   sdnrProtocol: https
+  sdnrPlainProtocol: http
   sdnrHost: "sdnc"
+  sdnrPlainHost: "sdnc"
   sdnrPort: "8443"
+  sdnrPlainPort : "8080"
   sslCertDir: "/opt/app/osaaf/local/certs"
   sslCertiticate: "cert.pem"
   sslCertKey: "key.pem"
@@ -100,9 +105,12 @@
   # for liveness and readiness probe only
   # internalPort:
   internalPort: 8443
+  internalPlainPort: 8080
   ports:
-  - name: "sdnc-web"
+  - name: http-sdnc-web
     port: "8443"
+    plain_port: "8080"
+    port_protocol: http
     nodePort: "05"
 
 #ingress:
diff --git a/kubernetes/sdnc/components/ueb-listener/resources/config/ueb-listener.properties b/kubernetes/sdnc/components/ueb-listener/resources/config/ueb-listener.properties
index 946773b..45a80af 100644
--- a/kubernetes/sdnc/components/ueb-listener/resources/config/ueb-listener.properties
+++ b/kubernetes/sdnc/components/ueb-listener/resources/config/ueb-listener.properties
@@ -1,4 +1,9 @@
+{{- if (include "common.needTLS" .) }}
 org.onap.ccsdk.sli.northbound.uebclient.asdc-address=sdc-be.{{.Release.Namespace}}:8443
+{{- else }}
+org.onap.ccsdk.sli.northbound.uebclient.asdc-address=sdc-be.{{.Release.Namespace}}:8080
+org.onap.ccsdk.sli.northbound.uebclient.use-https=false
+{{- end }}
 org.onap.ccsdk.sli.northbound.uebclient.consumer-group=sdc-OpenSource-Env1-sdnc-dockero
 org.onap.ccsdk.sli.northbound.uebclient.consumer-id=sdc-COpenSource-Env11-sdnc-dockero
 org.onap.ccsdk.sli.northbound.uebclient.environment-name=AUTO
diff --git a/kubernetes/sdnc/resources/config/conf/aaiclient.properties b/kubernetes/sdnc/resources/config/conf/aaiclient.properties
index 7021990..5108a9d 100755
--- a/kubernetes/sdnc/resources/config/conf/aaiclient.properties
+++ b/kubernetes/sdnc/resources/config/conf/aaiclient.properties
@@ -38,7 +38,11 @@
 #
 # Configuration file for A&AI Client
 #
+{{- if (include "common.needTLS" .) }}
 org.onap.ccsdk.sli.adaptors.aai.uri=https://aai.{{.Release.Namespace}}:8443
+{{- else }}
+org.onap.ccsdk.sli.adaptors.aai.uri=http://aai.{{.Release.Namespace}}:80
+{{- end }}
 connection.timeout=60000
 read.timeout=60000
 
diff --git a/kubernetes/sdnc/templates/job.yaml b/kubernetes/sdnc/templates/job.yaml
index 11b1a87..b6dc32b 100755
--- a/kubernetes/sdnc/templates/job.yaml
+++ b/kubernetes/sdnc/templates/job.yaml
@@ -131,8 +131,28 @@
         command:
           - /bin/bash
         args:
-          - {{.Values.config.binDir }}/installSdncDb.sh
+          - -c
+          - |
+            sleep 60; {{.Values.config.binDir }}/installSdncDb.sh
         resources: {{ include "common.resources" . | nindent 10 }}
+      {{- if include "common.onServiceMesh" . }}
+      - name: sdnc-service-mesh-wait-for-job-container
+        image: {{ include "repositoryGenerator.image.quitQuit" . }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+          - /bin/sh
+          - "-c"
+        args:
+          - |
+            echo "waiting 20s for istio side cars to be up"; sleep 20s;
+            /app/ready.py --service-mesh-check sdnc -t 45;
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      {{- end }}
       {{- if .Values.nodeSelector }}
       nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
       {{- end }}
diff --git a/kubernetes/sdnc/templates/sdnrdb-init-job.yaml b/kubernetes/sdnc/templates/sdnrdb-init-job.yaml
index cb8d757..665e16c 100755
--- a/kubernetes/sdnc/templates/sdnrdb-init-job.yaml
+++ b/kubernetes/sdnc/templates/sdnrdb-init-job.yaml
@@ -53,7 +53,10 @@
         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
         command: ["/bin/bash"]
-        args: ["-c", "{{ .Values.config.binDir }}/startODL.sh"]
+        args:
+          - -c
+          - |
+            sleep 90; "{{ .Values.config.binDir }}/startODL.sh"
         env:
           - name: SDNC_AAF_ENABLED
             value: "{{ .Values.global.aafEnabled}}"
@@ -76,6 +79,24 @@
             value: "-k"
         volumeMounts: {{ include "common.certInitializer.volumeMount" . | nindent 10 }}
         resources: {{ include "common.resources" . | nindent 12 }}
+      {{- if include "common.onServiceMesh" . }}
+      - name: sdnrdb-service-mesh-wait-for-job-container
+        image: {{ include "repositoryGenerator.image.quitQuit" . }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+          - /bin/sh
+          - "-c"
+        args:
+          - |
+            echo "waiting 30s for istio side cars to be up"; sleep 30s;
+            /app/ready.py --service-mesh-check sdnc-sdnrdb-init-job -t 45;
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      {{- end }}
       {{- if .Values.nodeSelector }}
       nodeSelector: {{ toYaml .Values.nodeSelector | nindent 10 }}
       {{- end -}}
diff --git a/kubernetes/sdnc/values.yaml b/kubernetes/sdnc/values.yaml
index 9539d01..83a30ca 100644
--- a/kubernetes/sdnc/values.yaml
+++ b/kubernetes/sdnc/values.yaml
@@ -543,7 +543,7 @@
 service:
   type: NodePort
   name: sdnc
-  portName: sdnc
+  portName: http
   internalPort: 8181
   internalPort2: 8101
   internalPort3: 8080