# Copyright © 2018 Amdocs, 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.

apiVersion: batch/v1
kind: Job
metadata:
  name: vid-config-galera
  namespace: {{ include "common.namespace" . }}
  labels:
    app: vid-config-galera
    release: {{ .Release.Name }}
spec:
  template:
    metadata:
      labels:
        release: {{ .Release.Name }}
      name: vid-galera-init
    spec:
      initContainers:
#dd775k:  This container checks that all galera instances are up before initializing it.
      - name: vid-init-galera-readiness
        image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}"
        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
#        - /bin/sh
#        args:
#        - "-c"
#        - "sleep 1000000000m"
        command:
        - python
        args:
        - /root/vid_ready.py
        - --container-name
        - {{ include "common.fullname" . }}-mariadb-galera-0
        env:
        - name: NAMESPACE
          value: {{ include "common.namespace" . }}
        volumeMounts:
        - name: init-config
          mountPath: /root/
      containers:
      - name: vid-config-galeradb
        image: {{ .Values.mariadb_image }}
        imagePullPolicy: "{{ .Values.pullPolicy }}"
        volumeMounts:
        - name: vid-db-config
          mountPath: /db-config
        - name: dbcmd-config
          mountPath: /dbcmd-config
        command:
        - /bin/sh
        args:
        - -x
        - /dbcmd-config/db_cmd.sh
        env:
        - name: MYSQL_PASSWORD
          value: "{{ .Values.config.vidmysqlpassword }}"
#          valueFrom:
#            secretKeyRef:
#              name: {{ template "common.fullname" . }}
#              key: vid-password
        - name: MYSQL_HOST
          value: "{{ .Values.config.vidmysqlhost }}"
      volumes:
        - name: vid-db-config
          configMap:
            name: {{ include "common.fullname" . }}-galera-sql-configmap
        - name: dbcmd-config
          configMap:
            name: {{ include "common.fullname" . }}-dbcmd-configmap
        - name: init-config
          configMap:
            name: {{ include "common.fullname" . }}-cluster-ready-configmap
      restartPolicy: Never


