aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/common/readinessCheck
diff options
context:
space:
mode:
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>2020-05-15 17:25:52 +0200
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>2020-05-20 14:55:03 +0200
commit41cf72f18803970b7dfb91d2537dd35a4342ac36 (patch)
tree3677ee8dda56eb50eb4beabf489c9e50f05224a4 /kubernetes/common/readinessCheck
parenta7c75cde58bb300c3cec79e794a7f8e9d0778eaa (diff)
[COMMON] Templates for readiness
Create a template in order to have same readiness check everywhere. Issue-ID: OOM-1971 Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com> Change-Id: If3297184564a8e763110a79ff89eb07dfbc9e630
Diffstat (limited to 'kubernetes/common/readinessCheck')
-rw-r--r--kubernetes/common/readinessCheck/Chart.yaml18
-rw-r--r--kubernetes/common/readinessCheck/requirements.yaml18
-rw-r--r--kubernetes/common/readinessCheck/templates/_readinessCheck.tpl68
-rw-r--r--kubernetes/common/readinessCheck/values.yaml25
4 files changed, 129 insertions, 0 deletions
diff --git a/kubernetes/common/readinessCheck/Chart.yaml b/kubernetes/common/readinessCheck/Chart.yaml
new file mode 100644
index 0000000000..5aaad668f7
--- /dev/null
+++ b/kubernetes/common/readinessCheck/Chart.yaml
@@ -0,0 +1,18 @@
+# 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: v1
+description: Template used to wait for other deployment/sts/jobs in onap
+name: readinessCheck
+version: 6.0.0
diff --git a/kubernetes/common/readinessCheck/requirements.yaml b/kubernetes/common/readinessCheck/requirements.yaml
new file mode 100644
index 0000000000..237f1d1354
--- /dev/null
+++ b/kubernetes/common/readinessCheck/requirements.yaml
@@ -0,0 +1,18 @@
+# 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.
+
+dependencies:
+ - name: common
+ version: ~6.x-0
+ repository: 'file://../common'
diff --git a/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl b/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl
new file mode 100644
index 0000000000..5c70e78735
--- /dev/null
+++ b/kubernetes/common/readinessCheck/templates/_readinessCheck.tpl
@@ -0,0 +1,68 @@
+{{/*
+# Copyright © 2020 Orange
+#
+# 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.
+*/}}
+
+{{/*
+ Generate readiness part for a pod
+ Will look by default to .Values.wait_for
+
+ Value of wait_for is an array of all pods /jobs to wait:
+
+ Example:
+
+ wait_for:
+ - aaf-locate
+ - aaf-cm
+ - aaf-service
+
+ The function can takes two arguments (inside a dictionary):
+ - .dot : environment (.)
+ - .wait_for : list of containers / jobs to wait for (default to
+ .Values.wait_for)
+
+ Example calls:
+ {{ include "common.readinessCheck.waitFor" . }}
+ {{ include "common.readinessCheck.waitFor" (dict "dot" . "wait_for" .Values.where.my.wait_for.is ) }}
+*/}}
+{{- define "common.readinessCheck.waitFor" -}}
+{{- $dot := default . .dot -}}
+{{- $initRoot := default $dot.Values.readinessCheck .initRoot -}}
+{{/* Our version of helm doesn't support deepCopy so we need this nasty trick */}}
+{{- $subchartDot := include "common.subChartDot" (dict "dot" $dot "initRoot" $initRoot) }}
+{{- $wait_for := default $dot.Values.wait_for .wait_for -}}
+- name: {{ include "common.name" $dot }}-{{ $wait_for.name }}-readiness
+ image: "{{ $subchartDot.Values.global.readinessRepository }}/{{ $subchartDot.Values.global.readinessImage }}"
+ imagePullPolicy: {{ $subchartDot.Values.global.pullPolicy | default $subchartDot.Values.pullPolicy }}
+ command:
+ - /root/ready.py
+ args:
+ {{- range $container := $wait_for.containers }}
+ - --container-name
+ - {{ tpl $container $dot }}
+ {{- end }}
+ env:
+ - name: NAMESPACE
+ valueFrom:
+ fieldRef:
+ apiVersion: v1
+ fieldPath: metadata.namespace
+ resources:
+ limits:
+ cpu: {{ $subchartDot.Values.limits.cpu }}
+ memory: {{ $subchartDot.Values.limits.memory }}
+ requests:
+ cpu: {{ $subchartDot.Values.requests.cpu }}
+ memory: {{ $subchartDot.Values.requests.memory }}
+{{- end -}}
diff --git a/kubernetes/common/readinessCheck/values.yaml b/kubernetes/common/readinessCheck/values.yaml
new file mode 100644
index 0000000000..8417407a99
--- /dev/null
+++ b/kubernetes/common/readinessCheck/values.yaml
@@ -0,0 +1,25 @@
+# Copyright © 2020 Samsung Electronics
+#
+# 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.
+
+global:
+ readinessRepository: oomk8s
+ readinessImage: readiness-check:2.2.1
+ pullPolicy: Always
+
+limits:
+ cpu: 100m
+ memory: 100Mi
+requests:
+ cpu: 3m
+ memory: 20Mi