From 7d533d65c3403bcc96abd3e138ac6a620b64bf09 Mon Sep 17 00:00:00 2001 From: "SPEARS, DUSTIN (ds443n)" Date: Tue, 18 Oct 2022 16:01:00 -0400 Subject: [PATCH] Adding readiness/liveness probes to apt This adds readiness and liveness probes to set daemonset to a non-ready status during dpkg usage Change-Id: I5b9d029f1f8f696b4132a27ea29a77465babc29c --- divingbell/Chart.yaml | 2 +- divingbell/templates/bin/_apt.sh.tpl | 4 ++++ divingbell/templates/daemonset-apt.yaml | 8 ++++++++ divingbell/values.yaml | 9 +++++++++ doc/source/conf.py | 4 ++-- 5 files changed, 24 insertions(+), 3 deletions(-) diff --git a/divingbell/Chart.yaml b/divingbell/Chart.yaml index c2b0da6..f8b39c0 100644 --- a/divingbell/Chart.yaml +++ b/divingbell/Chart.yaml @@ -15,4 +15,4 @@ apiVersion: v1 description: divingbell name: divingbell -version: 0.1.1 +version: 0.1.2 diff --git a/divingbell/templates/bin/_apt.sh.tpl b/divingbell/templates/bin/_apt.sh.tpl index 9782f6a..abed208 100644 --- a/divingbell/templates/bin/_apt.sh.tpl +++ b/divingbell/templates/bin/_apt.sh.tpl @@ -18,6 +18,8 @@ set -e +rm -rf /tmp/done + cat <<'EOF' > {{ .Values.conf.chroot_mnt_path | quote }}/tmp/apt.sh {{ include "divingbell.shcommon" . }} @@ -266,6 +268,8 @@ EOF chmod 755 {{ .Values.conf.chroot_mnt_path | quote }}/tmp/apt.sh chroot {{ .Values.conf.chroot_mnt_path | quote }} /tmp/apt.sh +touch /tmp/done + while [ 1 ]; do sleep 300 done diff --git a/divingbell/templates/daemonset-apt.yaml b/divingbell/templates/daemonset-apt.yaml index c515740..682c8dc 100644 --- a/divingbell/templates/daemonset-apt.yaml +++ b/divingbell/templates/daemonset-apt.yaml @@ -14,6 +14,13 @@ # limitations under the License. */}} +{{- define "readinessProbeTemplate" }} + exec: + command: + - cat + - /tmp/done +{{- end }} + {{- define "divingbell.daemonset.apt" }} {{- $daemonset := index . 0 }} {{- $secretName := index . 1 }} @@ -51,6 +58,7 @@ spec: imagePullPolicy: {{ .Values.images.pull_policy }} {{ tuple $envAll $envAll.Values.pod.resources.apt | include "helm-toolkit.snippets.kubernetes_resources" | indent 8 }} {{ dict "envAll" $envAll "application" "divingbell" "container" "apt" | include "helm-toolkit.snippets.kubernetes_container_security_context" | indent 8 }} +{{ dict "envAll" $envAll "component" "divingbell" "container" "apt" "type" "readiness" "probeTemplate" (include "readinessProbeTemplate" $envAll | fromYaml) | include "helm-toolkit.snippets.kubernetes_probe" | indent 8 }} command: - /tmp/{{ $daemonset }}.sh volumeMounts: diff --git a/divingbell/values.yaml b/divingbell/values.yaml index 136431e..9ab3474 100644 --- a/divingbell/values.yaml +++ b/divingbell/values.yaml @@ -261,6 +261,15 @@ pod: requests: memory: "128Mi" cpu: "100m" + probes: + divingbell: + apt: + readiness: + enabled: true + params: + initialDelaySeconds: 5 + periodSeconds: 5 + failureThreshold: 120 network_policy: divingbell: diff --git a/doc/source/conf.py b/doc/source/conf.py index 10512be..5a34431 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -56,9 +56,9 @@ author = u'Divingbell Authors' # built documents. # # The short X.Y version. -version = u'0.1.1' +version = u'0.1.2' # The full version, including alpha/beta/rc tags. -release = u'0.1.1' +release = u'0.1.2' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages.