diff options
author | Sylvain Desbureaux <sylvain.desbureaux@orange.com> | 2020-05-15 17:25:52 +0200 |
---|---|---|
committer | Sylvain Desbureaux <sylvain.desbureaux@orange.com> | 2020-05-20 14:55:03 +0200 |
commit | 41cf72f18803970b7dfb91d2537dd35a4342ac36 (patch) | |
tree | 3677ee8dda56eb50eb4beabf489c9e50f05224a4 /kubernetes/common/readinessCheck | |
parent | a7c75cde58bb300c3cec79e794a7f8e9d0778eaa (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.yaml | 18 | ||||
-rw-r--r-- | kubernetes/common/readinessCheck/requirements.yaml | 18 | ||||
-rw-r--r-- | kubernetes/common/readinessCheck/templates/_readinessCheck.tpl | 68 | ||||
-rw-r--r-- | kubernetes/common/readinessCheck/values.yaml | 25 |
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 |