From 1db773e68e50f333369ccde727166805bce2b795 Mon Sep 17 00:00:00 2001 From: Mandeep Khinda Date: Thu, 5 Apr 2018 18:26:07 +0000 Subject: Removing portal schema from configmap -Trying a new way to initialize maria db's. -Docker image contains project sources and sql files are fetched and executed agains't the target database. -duplicates are silently ignored. -A script that takes some basic params will do the heavy lifting -A 2nd job to make some OOM specific changes (carry over from amsterdam) -docker image has been pushed to oomk8s under the 2.0.0 number Issue-ID: OOM-858 Change-Id: I56d0c9c5aa1d3c4a9df2998634b9147db626d1fb Signed-off-by: Mandeep Khinda --- .../charts/portal-mariadb/templates/configmap.yaml | 4 +- .../portal-mariadb/templates/deployment.yaml | 6 -- .../charts/portal-mariadb/templates/job.yaml | 90 ++++++++++++++++++++++ 3 files changed, 92 insertions(+), 8 deletions(-) create mode 100644 kubernetes/portal/charts/portal-mariadb/templates/job.yaml (limited to 'kubernetes/portal/charts/portal-mariadb/templates') diff --git a/kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml b/kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml index fd42fd49ac..fcd325d804 100644 --- a/kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml +++ b/kubernetes/portal/charts/portal-mariadb/templates/configmap.yaml @@ -15,8 +15,8 @@ apiVersion: v1 kind: ConfigMap metadata: - name: {{ include "common.fullname" . }}-docker-entry-initd + name: {{ include "common.fullname" . }}-mariadb namespace: {{ include "common.namespace" . }} data: -{{ tpl (.Files.Glob "resources/config/mariadb/docker-entrypoint-initdb.d/*").AsConfig . | indent 2 }} +{{ tpl (.Files.Glob "resources/config/mariadb/*").AsConfig . | indent 2 }} diff --git a/kubernetes/portal/charts/portal-mariadb/templates/deployment.yaml b/kubernetes/portal/charts/portal-mariadb/templates/deployment.yaml index fd5e524d33..4d58e43b28 100644 --- a/kubernetes/portal/charts/portal-mariadb/templates/deployment.yaml +++ b/kubernetes/portal/charts/portal-mariadb/templates/deployment.yaml @@ -64,9 +64,6 @@ spec: - mountPath: /etc/localtime name: localtime readOnly: true - - name: mariadb-docker-entrypoint-initdb - mountPath: /docker-entrypoint-initdb.d/zzz_apps_users_onboarding.sql - subPath: Apps_Users_OnBoarding_Script.sql resources: {{ toYaml .Values.resources | indent 12 }} {{- if .Values.nodeSelector }} @@ -85,9 +82,6 @@ spec: {{- else }} emptyDir: {} {{- end }} - - name: mariadb-docker-entrypoint-initdb - configMap: - name: {{ include "common.fullname" . }}-docker-entry-initd - name: localtime hostPath: path: /etc/localtime diff --git a/kubernetes/portal/charts/portal-mariadb/templates/job.yaml b/kubernetes/portal/charts/portal-mariadb/templates/job.yaml new file mode 100644 index 0000000000..75d5bb0874 --- /dev/null +++ b/kubernetes/portal/charts/portal-mariadb/templates/job.yaml @@ -0,0 +1,90 @@ +# Copyright © 2017 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: {{ include "common.fullname" . }}-config + namespace: {{ include "common.namespace" . }} + labels: + app: {{ include "common.name" . }}-job + chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} + release: {{ .Release.Name }} + heritage: {{ .Release.Service }} +spec: + template: + metadata: + labels: + app: {{ include "common.name" . }}-job + release: {{ .Release.Name }} + spec: + restartPolicy: Never + initContainers: + - name: {{ include "common.name" . }}-init-readiness + image: "{{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + command: + - /root/ready.py + args: + - --container-name + - {{ include "common.name" . }} + env: + - name: NAMESPACE + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: metadata.namespace + containers: + - name: {{ include "common.name" . }}-job + image: "{{ .Values.global.repository | default .Values.dockerHubRepository }}/{{ .Values.mariadbInitImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + env: + - name: DB_HOST + value: "{{ .Release.Name }}-{{ .Values.service.name }}" + - name: DB_USER + value: {{ .Values.config.mariadbUser }} + - name: DB_PASS + valueFrom: + secretKeyRef: {name: {{ include "common.fullname" . }}, key: db-root-password} + - name: SQL_SRC_DIR + value: {{ .Values.config.sqlSourceDirectory }} + - name: {{ include "common.name" . }}-oom-update-job + image: "{{ .Values.global.repository | default .Values.dockerHubRepository }}/{{ .Values.mariadbInitImage }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + env: + - name: DB_HOST + value: "{{ .Release.Name }}-{{ .Values.service.name }}" + - name: DB_USER + value: {{ .Values.config.mariadbUser }} + - name: DB_PORT + value: "{{ .Values.service.internalPort }}" + - name: DB_PASS + valueFrom: + secretKeyRef: {name: {{ include "common.fullname" . }}, key: db-root-password} + command: + - /bin/sh + - -x + - -c + - "mysql -vv --user=$DB_USER --password=$DB_PASS --host=$DB_HOST --port=$DB_PORT < /tmp/oom_updates.sql" + volumeMounts: + - name: portal-mariadb-sql + mountPath: /tmp/oom_updates.sql + subPath: oom_updates.sql + volumes: + - name: portal-mariadb-sql + configMap: + name: {{ include "common.fullname" . }}-mariadb + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" + restartPolicy: Never \ No newline at end of file -- cgit 1.2.3-korg