1 From b10fce0a79dfc6bcb9996b59ff78b07be6f715ab Mon Sep 17 00:00:00 2001
2 From: Jackie Huang <jackie.huang@windriver.com>
3 Date: Fri, 28 Jul 2023 22:15:23 +0800
4 Subject: [PATCH 1/2] playbooks: fix images for arm64
6 * Set fact image_architecture and use to replace the
7 hard coded image arch names.
8 * Several images don't have arm64 version on the original
9 registry, use the ones on docker.io/stx4arm for now
12 PASS: downloader -s -b on x86-64 host
13 PASS: downloader -s -b on arm64 host
14 PASS: build-pkgs on x86-64 host
15 PASS: build-image on x86-64 host
16 PASS: build-pkgs on arm64 host
17 PASS: build-image on arm64 host
18 PASS: Deploy AIO-SX on x86-64 target
19 PASS: Deploy AIO-SX on arm64 target
20 PASS: Deploy AIO-DX on x86-64 target
21 PASS: Deploy AIO-DX on arm64 target
26 Change-Id: Id3a75f34aeada68c65e9db01ef7140aaa81b8748
27 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
29 .../templates/k8s-v1.24.4/multus-cni.yaml.j2 | 4 ++--
30 .../templates/k8s-v1.24.4/sriov-cni.yaml.j2 | 4 ++--
31 .../templates/k8s-v1.24.4/sriov-plugin.yaml.j2 | 4 ++--
32 .../templates/k8s-v1.26.1/multus-cni.yaml.j2 | 4 ++--
33 .../templates/k8s-v1.26.1/sriov-cni.yaml.j2 | 4 ++--
34 .../templates/k8s-v1.26.1/sriov-plugin.yaml.j2 | 4 ++--
35 .../common/load-images-information/tasks/main.yml | 15 +++++++++++++++
36 .../vars/k8s-v1.24.4/system-images.yml | 5 ++++-
37 .../vars/k8s-v1.25.3/system-images.yml | 5 ++++-
38 .../vars/k8s-v1.26.1/system-images.yml | 5 ++++-
39 10 files changed, 39 insertions(+), 15 deletions(-)
41 diff --git a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/multus-cni.yaml.j2 b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/multus-cni.yaml.j2
42 index e0adf105..56ac9ca5 100644
43 --- a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/multus-cni.yaml.j2
44 +++ b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/multus-cni.yaml.j2
45 @@ -200,7 +200,7 @@ data:
49 - name: kube-multus-ds-amd64
50 + name: kube-multus-ds
51 namespace: kube-system
54 @@ -223,7 +223,7 @@ spec:
58 - kubernetes.io/arch: amd64
59 + kubernetes.io/arch: "{{ image_architecture }}"
63 diff --git a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/sriov-cni.yaml.j2 b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/sriov-cni.yaml.j2
64 index d05c3058..c0e14d4a 100644
65 --- a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/sriov-cni.yaml.j2
66 +++ b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/sriov-cni.yaml.j2
71 - name: kube-sriov-cni-ds-amd64
72 + name: kube-sriov-cni-ds
73 namespace: kube-system
76 @@ -47,7 +47,7 @@ spec:
80 - kubernetes.io/arch: amd64
81 + kubernetes.io/arch: "{{ image_architecture }}"
85 diff --git a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/sriov-plugin.yaml.j2 b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/sriov-plugin.yaml.j2
86 index 086d2a8a..1744ca2f 100644
87 --- a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/sriov-plugin.yaml.j2
88 +++ b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.24.4/sriov-plugin.yaml.j2
89 @@ -36,7 +36,7 @@ metadata:
93 - name: kube-sriov-device-plugin-amd64
94 + name: kube-sriov-device-plugin
95 namespace: kube-system
98 @@ -59,7 +59,7 @@ spec:
102 - beta.kubernetes.io/arch: amd64
103 + kubernetes.io/arch: "{{ image_architecture }}"
107 diff --git a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/multus-cni.yaml.j2 b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/multus-cni.yaml.j2
108 index 62eba417..8025a531 100644
109 --- a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/multus-cni.yaml.j2
110 +++ b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/multus-cni.yaml.j2
111 @@ -200,7 +200,7 @@ data:
115 - name: kube-multus-ds-amd64
116 + name: kube-multus-ds
117 namespace: kube-system
120 @@ -223,7 +223,7 @@ spec:
124 - kubernetes.io/arch: amd64
125 + kubernetes.io/arch: "{{ image_architecture }}"
129 diff --git a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/sriov-cni.yaml.j2 b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/sriov-cni.yaml.j2
130 index 74eea969..6306dc73 100644
131 --- a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/sriov-cni.yaml.j2
132 +++ b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/sriov-cni.yaml.j2
137 - name: kube-sriov-cni-ds-amd64
138 + name: kube-sriov-cni-ds
139 namespace: kube-system
142 @@ -47,7 +47,7 @@ spec:
146 - kubernetes.io/arch: amd64
147 + kubernetes.io/arch: "{{ image_architecture }}"
151 diff --git a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/sriov-plugin.yaml.j2 b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/sriov-plugin.yaml.j2
152 index 7bf73e26..c7e3b108 100644
153 --- a/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/sriov-plugin.yaml.j2
154 +++ b/playbookconfig/src/playbooks/roles/common/bringup-kubemaster/templates/k8s-v1.26.1/sriov-plugin.yaml.j2
155 @@ -36,7 +36,7 @@ metadata:
159 - name: kube-sriov-device-plugin-amd64
160 + name: kube-sriov-device-plugin
161 namespace: kube-system
164 @@ -59,7 +59,7 @@ spec:
168 - beta.kubernetes.io/arch: amd64
169 + kubernetes.io/arch: "{{ image_architecture }}"
173 diff --git a/playbookconfig/src/playbooks/roles/common/load-images-information/tasks/main.yml b/playbookconfig/src/playbooks/roles/common/load-images-information/tasks/main.yml
174 index e8d65c44..3705bce4 100644
175 --- a/playbookconfig/src/playbooks/roles/common/load-images-information/tasks/main.yml
176 +++ b/playbookconfig/src/playbooks/roles/common/load-images-information/tasks/main.yml
178 when: additional_config_file.stat.exists and
179 inventory_hostname != "localhost"
181 + - name: Retrieve architecture info
182 + command: dpkg --print-architecture
183 + register: os_architecture
185 + - name: set image architecture
187 + image_architecture: "{{ os_architecture.stdout }}"
189 + - name: set images for arm64
191 + kubernetes_entrypoint_img: "{{ kubernetes_entrypoint_img_arm64 }}"
192 + sriov_cni_img: "{{ sriov_cni_img_arm64 }}"
193 + sriov_network_device_img: "{{ sriov_network_device_img_arm64 }}"
194 + when: image_architecture == "arm64"
196 - name: Categorize system images
199 diff --git a/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.24.4/system-images.yml b/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.24.4/system-images.yml
200 index 8cecfd2a..cb55604e 100644
201 --- a/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.24.4/system-images.yml
202 +++ b/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.24.4/system-images.yml
204 # System images that are pre-pulled and pushed to local registry
205 n3000_opae_img: docker.io/starlingx/n3000-opae:stx.8.0-v1.0.2
206 kubernetes_entrypoint_img: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
207 +kubernetes_entrypoint_img_arm64: docker.io/stx4arm/kubernetes-entrypoint:v0.3.1
208 calico_cni_img: quay.io/calico/cni:v3.24.0
209 calico_node_img: quay.io/calico/node:v3.24.0
210 calico_kube_controllers_img: quay.io/calico/kube-controllers:v3.24.0
211 multus_img: ghcr.io/k8snetworkplumbingwg/multus-cni:v3.9.2
212 sriov_cni_img: ghcr.io/k8snetworkplumbingwg/sriov-cni:v2.6.3
213 +sriov_cni_img_arm64: docker.io/stx4arm/sriov-cni:v2.6.3
214 sriov_network_device_img: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:v3.5.1
215 +sriov_network_device_img_arm64: docker.io/stx4arm/sriov-network-device-plugin:v3.5.1
217 nginx_ingress_controller_img: registry.k8s.io/ingress-nginx/controller:v1.9.3
218 nginx_kube_webhook_certgen_img: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231011-8b53cabe0
219 nginx_opentelemetry_img: registry.k8s.io/ingress-nginx/opentelemetry:v20230721-3e2062ee5
220 -default_backend_img: registry.k8s.io/defaultbackend-amd64:1.5
221 +default_backend_img: "registry.k8s.io/defaultbackend-{{ image_architecture }}:1.5"
222 # Cert-manager images
223 cert_manager_acmesolver_img: quay.io/jetstack/cert-manager-acmesolver:v1.13.1
224 cert_manager_cainjector_img: quay.io/jetstack/cert-manager-cainjector:v1.13.1
225 diff --git a/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.25.3/system-images.yml b/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.25.3/system-images.yml
226 index 2b5b8367..68b23d62 100644
227 --- a/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.25.3/system-images.yml
228 +++ b/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.25.3/system-images.yml
230 # System images that are pre-pulled and pushed to local registry
231 n3000_opae_img: docker.io/starlingx/n3000-opae:stx.8.0-v1.0.2
232 kubernetes_entrypoint_img: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
233 +kubernetes_entrypoint_img_arm64: docker.io/stx4arm/kubernetes-entrypoint:v0.3.1
234 calico_cni_img: quay.io/calico/cni:v3.25.0
235 calico_node_img: quay.io/calico/node:v3.25.0
236 calico_kube_controllers_img: quay.io/calico/kube-controllers:v3.25.0
237 multus_img: ghcr.io/k8snetworkplumbingwg/multus-cni:v3.9.3
238 sriov_cni_img: ghcr.io/k8snetworkplumbingwg/sriov-cni:v2.7.0
239 +sriov_cni_img_arm64: docker.io/stx4arm/sriov-cni:v2.7.0
240 sriov_network_device_img: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:v3.5.1
241 +sriov_network_device_img_arm64: docker.io/stx4arm/sriov-network-device-plugin:v3.5.1
242 intel_qat_plugin_img: docker.io/intel/intel-qat-plugin:0.26.0
243 intel_gpu_plugin_img: docker.io/intel/intel-gpu-plugin:0.26.0
244 intel_gpu_initcontainer_img: docker.io/intel/intel-gpu-initcontainer:0.26.0
245 @@ -15,7 +18,7 @@ intel_gpu_initcontainer_img: docker.io/intel/intel-gpu-initcontainer:0.26.0
246 nginx_ingress_controller_img: registry.k8s.io/ingress-nginx/controller:v1.9.3
247 nginx_kube_webhook_certgen_img: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231011-8b53cabe0
248 nginx_opentelemetry_img: registry.k8s.io/ingress-nginx/opentelemetry:v20230721-3e2062ee5
249 -default_backend_img: registry.k8s.io/defaultbackend-amd64:1.5
250 +default_backend_img: "registry.k8s.io/defaultbackend-{{ image_architecture }}:1.5"
251 # Cert-manager images
252 cert_manager_acmesolver_img: quay.io/jetstack/cert-manager-acmesolver:v1.13.1
253 cert_manager_cainjector_img: quay.io/jetstack/cert-manager-cainjector:v1.13.1
254 diff --git a/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.26.1/system-images.yml b/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.26.1/system-images.yml
255 index 0a9f7584..d536b23e 100644
256 --- a/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.26.1/system-images.yml
257 +++ b/playbookconfig/src/playbooks/roles/common/load-images-information/vars/k8s-v1.26.1/system-images.yml
259 # System images that are pre-pulled and pushed to local registry
260 n3000_opae_img: docker.io/starlingx/n3000-opae:stx.8.0-v1.0.2
261 kubernetes_entrypoint_img: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
262 +kubernetes_entrypoint_img_arm64: docker.io/stx4arm/kubernetes-entrypoint:v0.3.1
263 calico_cni_img: quay.io/calico/cni:v3.25.0
264 calico_node_img: quay.io/calico/node:v3.25.0
265 calico_kube_controllers_img: quay.io/calico/kube-controllers:v3.25.0
266 multus_img: ghcr.io/k8snetworkplumbingwg/multus-cni:v3.9.3
267 sriov_cni_img: ghcr.io/k8snetworkplumbingwg/sriov-cni:v2.7.0
268 +sriov_cni_img_arm64: docker.io/stx4arm/sriov-cni:v2.7.0
269 sriov_network_device_img: ghcr.io/k8snetworkplumbingwg/sriov-network-device-plugin:v3.5.1
270 +sriov_network_device_img_arm64: docker.io/stx4arm/sriov-network-device-plugin:v3.5.1
271 intel_qat_plugin_img: docker.io/intel/intel-qat-plugin:0.26.0
272 intel_gpu_plugin_img: docker.io/intel/intel-gpu-plugin:0.26.0
273 intel_gpu_initcontainer_img: docker.io/intel/intel-gpu-initcontainer:0.26.0
274 @@ -15,7 +18,7 @@ intel_gpu_initcontainer_img: docker.io/intel/intel-gpu-initcontainer:0.26.0
275 nginx_ingress_controller_img: registry.k8s.io/ingress-nginx/controller:v1.9.3
276 nginx_kube_webhook_certgen_img: registry.k8s.io/ingress-nginx/kube-webhook-certgen:v20231011-8b53cabe0
277 nginx_opentelemetry_img: registry.k8s.io/ingress-nginx/opentelemetry:v20230721-3e2062ee5
278 -default_backend_img: registry.k8s.io/defaultbackend-amd64:1.5
279 +default_backend_img: "registry.k8s.io/defaultbackend-{{ image_architecture }}:1.5"
280 # Cert-manager images
281 cert_manager_acmesolver_img: quay.io/jetstack/cert-manager-acmesolver:v1.13.1
282 cert_manager_cainjector_img: quay.io/jetstack/cert-manager-cainjector:v1.13.1