2e4a36cab4bb4185440c0668ce88b43b23701166
[pti/rtp.git] /
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
5
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
10
11 Test Plan:
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
22
23 Story: 2010739
24 Task: 48020
25
26 Change-Id: Id3a75f34aeada68c65e9db01ef7140aaa81b8748
27 Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
28 ---
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(-)
40
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:
46  apiVersion: apps/v1
47  kind: DaemonSet
48  metadata:
49 -  name: kube-multus-ds-amd64
50 +  name: kube-multus-ds
51    namespace: kube-system
52    labels:
53      tier: node
54 @@ -223,7 +223,7 @@ spec:
55      spec:
56        hostNetwork: true
57        nodeSelector:
58 -        kubernetes.io/arch: amd64
59 +        kubernetes.io/arch: "{{ image_architecture }}"
60        tolerations:
61        - operator: Exists
62          effect: NoSchedule
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
67 @@ -25,7 +25,7 @@
68  apiVersion: apps/v1
69  kind: DaemonSet
70  metadata:
71 -  name: kube-sriov-cni-ds-amd64
72 +  name: kube-sriov-cni-ds
73    namespace: kube-system
74    labels:
75      tier: node
76 @@ -47,7 +47,7 @@ spec:
77          app: sriov-cni
78      spec:
79        nodeSelector:
80 -        kubernetes.io/arch: amd64
81 +        kubernetes.io/arch: "{{ image_architecture }}"
82        tolerations:
83        - operator: Exists
84          effect: NoSchedule
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:
90  apiVersion: apps/v1
91  kind: DaemonSet
92  metadata:
93 -  name: kube-sriov-device-plugin-amd64
94 +  name: kube-sriov-device-plugin
95    namespace: kube-system
96    labels:
97      tier: node
98 @@ -59,7 +59,7 @@ spec:
99      spec:
100        hostNetwork: true
101        nodeSelector:
102 -        beta.kubernetes.io/arch: amd64
103 +        kubernetes.io/arch: "{{ image_architecture }}"
104          sriovdp: enabled
105        tolerations:
106        - operator: Exists
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:
112  apiVersion: apps/v1
113  kind: DaemonSet
114  metadata:
115 -  name: kube-multus-ds-amd64
116 +  name: kube-multus-ds
117    namespace: kube-system
118    labels:
119      tier: node
120 @@ -223,7 +223,7 @@ spec:
121      spec:
122        hostNetwork: true
123        nodeSelector:
124 -        kubernetes.io/arch: amd64
125 +        kubernetes.io/arch: "{{ image_architecture }}"
126        tolerations:
127        - operator: Exists
128          effect: NoSchedule
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
133 @@ -25,7 +25,7 @@
134  apiVersion: apps/v1
135  kind: DaemonSet
136  metadata:
137 -  name: kube-sriov-cni-ds-amd64
138 +  name: kube-sriov-cni-ds
139    namespace: kube-system
140    labels:
141      tier: node
142 @@ -47,7 +47,7 @@ spec:
143          app: sriov-cni
144      spec:
145        nodeSelector:
146 -        kubernetes.io/arch: amd64
147 +        kubernetes.io/arch: "{{ image_architecture }}"
148        tolerations:
149        - operator: Exists
150          effect: NoSchedule
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:
156  apiVersion: apps/v1
157  kind: DaemonSet
158  metadata:
159 -  name: kube-sriov-device-plugin-amd64
160 +  name: kube-sriov-device-plugin
161    namespace: kube-system
162    labels:
163      tier: node
164 @@ -59,7 +59,7 @@ spec:
165      spec:
166        hostNetwork: true
167        nodeSelector:
168 -        beta.kubernetes.io/arch: amd64
169 +        kubernetes.io/arch: "{{ image_architecture }}"
170          sriovdp: enabled
171        tolerations:
172        - operator: Exists
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
177 @@ -95,6 +95,21 @@
178      when: additional_config_file.stat.exists and
179            inventory_hostname != "localhost"
180  
181 +  - name: Retrieve architecture info
182 +    command: dpkg --print-architecture
183 +    register: os_architecture
184 +
185 +  - name: set image architecture
186 +    set_fact:
187 +      image_architecture: "{{ os_architecture.stdout }}"
188 +
189 +  - name: set images for arm64
190 +    set_fact:
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"
195 +
196    - name: Categorize system images
197      set_fact:
198        networking_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
203 @@ -2,17 +2,20 @@
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
216  # Nginx images
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
229 @@ -2,12 +2,15 @@
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
258 @@ -2,12 +2,15 @@
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
283 -- 
284 2.30.2
285