Merge "[AAI] Add model-loader tracing config"
[oom.git] / kubernetes / sdnc / templates / job.yaml
1 {{- if .Values.dgbuilder.enabled -}}
2 {{/*
3 # Copyright © 2017 Amdocs, Bell Canada, AT&T
4 #
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
8 #
9 #       http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
16 */}}
17
18 apiVersion: batch/v1
19 kind: Job
20 metadata:
21   name: {{ include "common.fullname" . }}-dbinit-job
22   namespace: {{ include "common.namespace" . }}
23   labels:
24     app: {{ include "common.name" . }}
25     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
26     release: {{ include "common.release" . }}
27     heritage: {{ .Release.Service }}
28 spec:
29   backoffLimit: 20
30   template:
31     metadata:
32       labels:
33         app: {{ include "common.name" . }}-job
34         release: {{ include "common.release" . }}
35       name: {{ include "common.name" . }}
36     spec:
37       initContainers: {{ include "common.readinessCheck.waitFor" . | nindent 6 }}
38       - command:
39         - sh
40         args:
41         - -c
42         - "cd /config-input && for PFILE in `ls -1 .`; do envsubst <${PFILE} >/config/${PFILE}; done"
43         env:
44         - name: AAI_CLIENT_NAME
45           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "aai-user-creds" "key" "login") | indent 10 }}
46         - name: AAI_CLIENT_PASSWORD
47           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "aai-user-creds" "key" "password") | indent 10 }}
48         - name: MODELSERVICE_USER
49           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "modeling-user-creds" "key" "login") | indent 10 }}
50         - name: MODELSERVICE_PASSWORD
51           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "modeling-user-creds" "key" "password") | indent 10 }}
52         - name: RESTCONF_USER
53           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "restconf-creds" "key" "login") | indent 10 }}
54         - name: RESTCONF_PASSWORD
55           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "restconf-creds" "key" "password") | indent 10 }}
56         - name: ANSIBLE_USER
57           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "ansible-creds" "key" "login") | indent 10 }}
58         - name: ANSIBLE_PASSWORD
59           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "ansible-creds" "key" "password") | indent 10 }}
60         - name: SCALEOUT_USER
61           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "scaleout-creds" "key" "login") | indent 10 }}
62         - name: SCALEOUT_PASSWORD
63           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "scaleout-creds" "key" "password") | indent 10 }}
64         - name: NETBOX_APIKEY
65           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "netbox-apikey" "key" "password") | indent 10 }}
66         - name: SDNC_DB_USER
67           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 10 }}
68         - name: SDNC_DB_PASSWORD
69           {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 10 }}
70         volumeMounts:
71         - mountPath: /config-input
72           name: config-input
73         - mountPath: /config
74           name: properties
75         image: {{ include "repositoryGenerator.image.envsubst" . }}
76         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
77         name: {{ include "common.name" . }}-update-config
78       containers:
79       - name: {{ include "common.name" . }}
80         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
81         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
82         env:
83           - name: MYSQL_ROOT_PASSWORD
84             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-root-password" "key" "password") | indent 12 }}
85           - name: ODL_ADMIN_USERNAME
86             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "odl-creds" "key" "login") | indent 12 }}
87           - name: ODL_ADMIN_PASSWORD
88             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "odl-creds" "key" "password") | indent 12 }}
89           - name: SDNC_DB_USER
90             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "login") | indent 12 }}
91           - name: SDNC_DB_PASSWORD
92             {{- include "common.secret.envFromSecretFast" (dict "global" . "uid" "db-secret" "key" "password") | indent 12 }}
93           - name: MYSQL_HOST
94             value: {{ include "common.mariadbService" . }}
95           - name: SDNC_HOME
96             value: "{{.Values.config.sdncHome}}"
97           - name: ETC_DIR
98             value: "{{.Values.config.etcDir}}"
99           - name: BIN_DIR
100             value: "{{.Values.config.binDir}}"
101           - name: SDNC_DB_DATABASE
102             value: "{{.Values.config.dbSdnctlDatabase}}"
103         volumeMounts:
104           - mountPath: {{ .Values.config.binDir }}/installSdncDb.sh
105             name: bin
106             subPath: installSdncDb.sh
107           - mountPath: {{ .Values.config.configDir }}/svclogic.properties
108             name: properties
109             subPath: svclogic.properties
110           - mountPath: /opt/onap/sdnc/svclogic/config/svclogic.properties
111             name: properties
112             subPath: svclogic.properties
113           - mountPath: {{ .Values.config.configDir }}/dblib.properties
114             name: properties
115             subPath: dblib.properties
116         command:
117           - /bin/bash
118         args:
119           - -c
120           - |
121             sleep 60; {{.Values.config.binDir }}/installSdncDb.sh
122         resources: {{ include "common.resources" . | nindent 10 }}
123       {{- if include "common.onServiceMesh" . }}
124       - name: sdnc-service-mesh-wait-for-job-container
125         image: {{ include "repositoryGenerator.image.quitQuit" . }}
126         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
127         command:
128           - /bin/sh
129           - "-c"
130         args:
131           - |
132             echo "waiting 20s for istio side cars to be up"; sleep 20s;
133             /app/ready.py --service-mesh-check sdnc -t 45;
134         env:
135         - name: NAMESPACE
136           valueFrom:
137             fieldRef:
138               apiVersion: v1
139               fieldPath: metadata.namespace
140       {{- end }}
141       {{- if .Values.nodeSelector }}
142       nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }}
143       {{- end }}
144       {{- if .Values.affinity }}
145       affinity: {{ toYaml .Values.affinity | nindent 8 }}
146       {{- end }}
147       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
148       volumes:
149       - name: docker-entrypoint-initdb-d
150         emptyDir: {}
151       - name: bin
152         configMap:
153           name: {{ include "common.fullname" . }}-bin
154           defaultMode: 0755
155       - name: config-input
156         configMap:
157           name: {{ include "common.fullname" . }}-properties
158           defaultMode: 0644
159       - name: properties
160         emptyDir:
161           medium: Memory
162       restartPolicy: Never
163       {{- include "common.imagePullSecrets" . | nindent 6 }}
164 {{- end -}}