### START -Controller Blueprints Properties
# Load Resource Source Mappings
*/}}
-resourceSourceMappings=processor-db=source-db,input=source-input,default=source-default,sdnc=source-rest,aai-data=source-rest,capability=source-capability,rest=source-rest,vault-data=source-rest,script=source-capability
+resourceSourceMappings=processor-db=source-db,input=source-input,default=source-default,sdnc=source-rest,aai-data=source-rest,capability=source-capability,rest=source-rest,vault-data=source-rest,script=source-capability,cps-data=source-rest
# Blueprint Processor File Execution and Handling Properties
blueprintsprocessor.blueprintDeployPath=/opt/app/onap/blueprints/deploy
blueprintsprocessor.restclient.aai-data.additionalHeaders.X-FromAppId=cds-app-id
blueprintsprocessor.restclient.aai-data.additionalHeaders.Accept=application/json
+# CPS Data
+blueprintsprocessor.restclient.cps-data.type=basic-auth
+blueprintsprocessor.restclient.cps-data.url=http://cps-core:8080
+blueprintsprocessor.restclient.cps-data.username=${CPS_USER}
+blueprintsprocessor.restclient.cps-data.password=${CPS_PASS_PLAIN}
+blueprintsprocessor.restclient.cps-data.additionalHeaders.Accept=application/json
+blueprintsprocessor.restclient.cps-data.additionalHeaders.Content-Type=application/json
+
# Self Service Request Kafka Message Consumer
blueprintsprocessor.messageconsumer.self-service-api.kafkaEnable={{ .Values.kafkaRequestConsumer.enabled }}
blueprintsprocessor.messageconsumer.self-service-api.type={{ .Values.kafkaRequestConsumer.type }}
fieldPath: metadata.name
- name: CLUSTER_CONFIG_FILE
value: {{ .Values.config.appConfigDir }}/hazelcast.yaml
+ - name: CPS_USER
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "cps-creds" "key" "login") | indent 12 }}
+ - name: CPS_PASS_PLAIN
+ {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "cps-creds" "key" "password") | indent 12 }}
{{ if .Values.useStrimziKafka }}
- name: JAAS_PASS
value: {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "cds-kafka-secret" "key" "password") | indent 12 }}
- name: password
value: '{{ .Values.config.someConfig }}'
policy: generate
+ - uid: cps-creds
+ type: basicAuth
+ externalSecret: '{{ tpl (default "" .Values.config.cps.cpsUserExternalSecret) . }}'
+ login: '{{ .Values.config.cps.cpsUsername }}'
+ password: '{{ .Values.config.cps.cpsPassword }}'
+ passwordPolicy: required
#################################################################
# AAF part
# dbRootPassword: password
# dbRootPassExternalSecret
someConfig: blah
+ cps:
+ cpsUsername: ''
+ cpsPassword: ''
+ cpsUserExternalSecret: '{{ include "common.release" . }}-cps-core-app-user-creds'
# default number of instances
replicaCount: 1
type: NodePort
name: cli
externalPort: 443
- externalPort1: 9090
+ externalPort1: 9443
internalPort: "443"
- internalPort1: 9090
+ internalPort1: 9443
nodePort: "60"
nodePort1: "71"
port: 443
- baseaddr: "cli2.api"
name: cli
- port: 9090
+ port: 9443
config:
ssl: "redirect"
##
podAnnotations:
# sidecar.istio.io/inject: "false"
- traffic.sidecar.istio.io/excludeInboundPorts: "4568"
+ traffic.sidecar.istio.io/excludeInboundPorts: "4444,4567,4568"
traffic.sidecar.istio.io/includeInboundPorts: '*'
+ traffic.sidecar.istio.io/excludeOutboundPorts: "4444,4567,4568"
## Pod affinity preset
## ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#inter-pod-affinity-and-anti-affinity
NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "[^[:space:]]*-clampdb[^[:space:]]*")
if [ -n "$NAME" ]; then
- if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
+ if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- sh -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
echo Success. CLAMP DBHost is running. 2>&1
exit 0
else
NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "[^[:space:]]*-policydb[^[:space:]]*")
if [ -n "$NAME" ]; then
- if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
+ if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- sh -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
echo Success. mariadb process is running. 2>&1
exit 0
else
NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "[^[:space:]]*-so-db[^[:space:]]*")
if [ -n "$NAME" ]; then
- if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
+ if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- sh -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
echo Success. mariadb process is running. 2>&1
exit 0
else
NAME=$(/consul/bin/kubectl -n {{ include "common.namespace" . }} get pod | grep -o "[^[:space:]]*-vid-mariadb[^[:space:]]*")
if [ -n "$NAME" ]; then
- if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- bash -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
+ if /consul/bin/kubectl -n {{ include "common.namespace" . }} exec -it $NAME -- sh -c 'mysqladmin status -u root -p$MYSQL_ROOT_PASSWORD' > /dev/null; then
echo Success. mariadb process is running. 2>&1
exit 0
else
mountPath: /etc/jmx-kafka
{{- end }}
- name: srimzi-zk-entrance
- image: 'docker.io/scholzj/zoo-entrance:latest'
+ image: {{ include "repositoryGenerator.dockerHubRepository" . }}/{{ .Values.zookeeper.entrance.image }}
command:
- /opt/stunnel/stunnel_run.sh
ports:
- port: {{ .Values.global.zkTunnelService.internalPort }}
protocol: TCP
policyTypes:
- - Ingress
\ No newline at end of file
+ - Ingress
image: onap/dmaap/dmaap-mr:1.3.2
pullPolicy: Always
+zookeeper:
+ entrance:
+ image: scholzj/zoo-entrance:latest
+
secrets:
- uid: mr-kafka-admin-secret
externalSecret: '{{ tpl (default "" .Values.config.jaasConfExternalSecret) . }}'
done
fi
-export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l")
+export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- sh -c "ls -1q /share/logs/ | wc -l")
OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_demo_$key
DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
if [ -n "$TAG" ]; then
VARIABLEFILES="-V /share/config/robot_properties.py"
kubectl --namespace $NAMESPACE exec ${POD} -- ${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} -i ${TAG} --display $DISPLAY_NUM 2> ${TAG}.out
-fi
\ No newline at end of file
+fi
done
fi
-export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l")
+export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- sh -c "ls -1q /share/logs/ | wc -l")
OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_$2
DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
done
fi
-export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l")
+export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- sh -c "ls -1q /share/logs/ | wc -l")
OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_helmlist
DISPLAY_NUM=$(($GLOBAL_BUILD_NUMBER + 90))
set -x
POD=$(kubectl --namespace $NAMESPACE get pods | sed 's/ .*//'| grep robot)
-export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "ls -1q /share/logs/ | wc -l")
+export GLOBAL_BUILD_NUMBER=$(kubectl --namespace $NAMESPACE exec ${POD} -- sh -c "ls -1q /share/logs/ | wc -l")
TAGS="-i $TAG"
ETEHOME=/var/opt/ONAP
OUTPUT_FOLDER=$(printf %04d $GLOBAL_BUILD_NUMBER)_ete_instantiate_vnf
echo "Executing instantiation..."
if [ $POLL = 1 ]; then
- kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --listener ${ETEHOME}/testsuite/eteutils/robotframework-onap/listeners/OVPListener.py --display $DISPLAY_NUM > /tmp/vnf_instantiation.$BUILDNUM.log 2>&1 &"
+ kubectl --namespace $NAMESPACE exec ${POD} -- sh -c "${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --listener ${ETEHOME}/testsuite/eteutils/robotframework-onap/listeners/OVPListener.py --display $DISPLAY_NUM > /tmp/vnf_instantiation.$BUILDNUM.log 2>&1 &"
- pid=`kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "pgrep runTags.sh -n"`
+ pid=`kubectl --namespace $NAMESPACE exec ${POD} -- sh -c "pgrep runTags.sh -n"`
if [ -z "$pid" ]; then
echo "robot testsuite unable to start"
exit 1
fi
- kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "while ps -p \"$pid\" --no-headers | grep -v defunct; do echo \$'\n\n'; echo \"Testsuite still running \"\`date\`; echo \"LOG FILE: \"; tail -10 /tmp/vnf_instantiation.$BUILDNUM.log; sleep 30; done"
+ kubectl --namespace $NAMESPACE exec ${POD} -- sh -c "while ps -p \"$pid\" --no-headers | grep -v defunct; do echo \$'\n\n'; echo \"Testsuite still running \"\`date\`; echo \"LOG FILE: \"; tail -10 /tmp/vnf_instantiation.$BUILDNUM.log; sleep 30; done"
else
- kubectl --namespace $NAMESPACE exec ${POD} -- bash -c "${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --listener ${ETEHOME}/testsuite/eteutils/robotframework-onap/listeners/OVPListener.py --display $DISPLAY_NUM"
+ kubectl --namespace $NAMESPACE exec ${POD} -- sh -c "${ETEHOME}/runTags.sh ${VARIABLEFILES} ${VARIABLES} -d /share/logs/${OUTPUT_FOLDER} ${TAGS} --listener ${ETEHOME}/testsuite/eteutils/robotframework-onap/listeners/OVPListener.py --display $DISPLAY_NUM"
fi
set +x
# Application configuration defaults.
#################################################################
# application image
-image: onap/sdc-backend-all-plugins:1.10.4
-backendInitImage: onap/sdc-backend-init:1.10.4
+image: onap/sdc-backend-all-plugins:1.11.4
+backendInitImage: onap/sdc-backend-init:1.11.4
pullPolicy: Always
# application image
repository: nexus3.onap.org:10001
-image: onap/sdc-cassandra:1.10.4
-cassandraInitImage: onap/sdc-cassandra-init:1.10.4
+image: onap/sdc-cassandra:1.11.4
+cassandraInitImage: onap/sdc-cassandra-init:1.11.4
pullPolicy: Always
config:
# Application configuration defaults.
#################################################################
# application image
-image: onap/sdc-frontend:1.10.4
+image: onap/sdc-frontend:1.11.4
pullPolicy: Always
config:
# Application configuration defaults.
#################################################################
# application image
-image: onap/sdc-onboard-backend:1.10.4
-onboardingInitImage: onap/sdc-onboard-cassandra-init:1.10.4
+image: onap/sdc-onboard-backend:1.11.4
+onboardingInitImage: onap/sdc-onboard-cassandra-init:1.11.4
pullPolicy: Always
# flag to enable debugging - application support required
service:
type: ClusterIP
name: sdnc-ansible-server
- portName: sdnc-ansible-server
+ portName: http
internalPort: 8000
externalPort: 8000
{{ 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 }}
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"
# 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:
+{{- 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
#
# 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
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 }}
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}}"
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 -}}
service:
type: NodePort
name: sdnc
- portName: sdnc
+ portName: http
internalPort: 8181
internalPort2: 8101
internalPort3: 8080
internalPort: 9999
externalPort: 80
nodePort: 88
- portName: httpd
+ portName: http
ingress:
enabled: false