
Currently, we use in the playbooks [1] an armada image built upstream [2]. We use armada from upstream helm2 branch. Armada needs to be patched to add support for k8s >=1.22. Proposed an upstream patch, but we don't know how long it takes until it is merged: https://review.opendev.org/c/airship/armada/+/845392 Instead of waiting for upstream commit to merge, and an image be generated, we provide the code change here, so an armada image with k8s >=1.22 support can be generated. The k8s >=1.22 support is added by patch 0003. Necessary StarlingX build changes to support generating an container image and push to https://hub.docker.com/r/starlingx will be addressed in another commit. Note: since we always used an upstream built armada container, this package purpose was to provide helm chart overrides. We add a new purpose: to release to opensource the changes we are about to do to armada, since we'll be building a container image using these changes. To achieve this we do the following: - upversion sources from 7ef4b8643b5ec5216a8f6726841e156c0aa54a1a to ddbdd7256c20f138737f6cbd772312f7a19f58b8. This ensures we are patching the image used in the playbooks[2]. - create patches 0001 and 0002 to ensure there are no helm chart changes between upversion. This reduces testing effort related to original purpose (provide helm chart overrides) of this package. - create patch 0003 to add k8s >=1.22 support. - old patches are not changed, but renamed from 0001->0005 to 0004->0008 and regenerated. Other notes: We don't need to port this work to CentOS. This work is supposed to be temporary until the upstream airship/armada commit merges. Tests on Debian: PASS: build-pkgs -c -p armada PASS: make images Upload image to controller, use it. Using the new armada image do an apply,remove,apply,remove,apply chain for a custom StarlingX app. [1]: https://opendev.org/starlingx/ansible-playbooks/src/branch/ master/playbookconfig/src/playbooks/roles/common/ load-images-information/vars/k8s-v1.22.5/system-images.yml#L5 [2] quay.io/airshipit/armada: ddbdd7256c20f138737f6cbd772312f7a19f58b8-ubuntu_bionic Partial-Bug: 1978409 Signed-off-by: Dan Voiculeasa <dan.voiculeasa@windriver.com> Change-Id: Id51c241a3965ef462d325da4ffce37a81693a9f4
67 lines
2.6 KiB
Diff
67 lines
2.6 KiB
Diff
From 0cd23c208587d86ce8b2083bf4f42dadf03e28e2 Mon Sep 17 00:00:00 2001
|
|
From: Dan Voiculeasa <dan.voiculeasa@windriver.com>
|
|
Date: Tue, 11 May 2021 21:04:18 +0300
|
|
Subject: [PATCH 5/8] Tiller wait for postgres database ping
|
|
|
|
Networking might not be correctly initialized when tiller starts.
|
|
|
|
Modify the pod command to wait for networking to be available before
|
|
starting up tiller.
|
|
|
|
Signed-off-by: Dan Voiculeasa <dan.voiculeasa@windriver.com>
|
|
---
|
|
charts/armada/templates/deployment-api.yaml | 31 +++++++++++++--------
|
|
1 file changed, 19 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/charts/armada/templates/deployment-api.yaml b/charts/armada/templates/deployment-api.yaml
|
|
index 69036c0..bf23fb2 100644
|
|
--- a/charts/armada/templates/deployment-api.yaml
|
|
+++ b/charts/armada/templates/deployment-api.yaml
|
|
@@ -167,24 +167,31 @@ spec:
|
|
- name: TILLER_HISTORY_MAX
|
|
value: {{ .Values.conf.tiller.history_max | quote }}
|
|
command:
|
|
- - /tiller
|
|
+ - sh
|
|
+ - -c
|
|
+ - |
|
|
+ /bin/sh <<'EOF'
|
|
{{- if .Values.conf.tiller.storage }}
|
|
- - --storage={{ .Values.conf.tiller.storage }}
|
|
{{- if and (eq .Values.conf.tiller.storage "sql") (.Values.conf.tiller.sql_dialect) (.Values.conf.tiller.sql_connection) }}
|
|
- - --sql-dialect={{ .Values.conf.tiller.sql_dialect }}
|
|
- - --sql-connection-string={{ .Values.conf.tiller.sql_connection }}
|
|
+ while ! /bin/busybox nc -vz -w 1 {{ .Values.conf.tiller.sql_endpoint_ip}} 5432; do continue; done;
|
|
{{- end }}
|
|
{{- end }}
|
|
- - -listen
|
|
- - ":{{ .Values.conf.tiller.port }}"
|
|
- - -probe-listen
|
|
- - ":{{ .Values.conf.tiller.probe_port }}"
|
|
- - -logtostderr
|
|
- - -v
|
|
- - {{ .Values.conf.tiller.verbosity | quote }}
|
|
+ /tiller \
|
|
+{{- if .Values.conf.tiller.storage }}
|
|
+ --storage={{ .Values.conf.tiller.storage }} \
|
|
+{{- if and (eq .Values.conf.tiller.storage "sql") (.Values.conf.tiller.sql_dialect) (.Values.conf.tiller.sql_connection) }}
|
|
+ --sql-dialect={{ .Values.conf.tiller.sql_dialect }} \
|
|
+ --sql-connection-string={{ .Values.conf.tiller.sql_connection }} \
|
|
+{{- end }}
|
|
+{{- end }}
|
|
+ -listen ":{{ .Values.conf.tiller.port }}" \
|
|
+ -probe-listen ":{{ .Values.conf.tiller.probe_port }}" \
|
|
+ -logtostderr \
|
|
+ -v {{ .Values.conf.tiller.verbosity | quote }} \
|
|
{{- if .Values.conf.tiller.trace }}
|
|
- - -trace
|
|
+ -trace
|
|
{{- end }}
|
|
+ EOF
|
|
lifecycle:
|
|
postStart:
|
|
exec:
|
|
--
|
|
2.34.1
|
|
|