1818 options :
1919 - SMS Lab
2020 - Leafcloud
21+ cpu-platform-architecture :
22+ description : Select the image's build architecture
23+ type : choice
24+ default : x86_64
25+ options :
26+ - x86_64
27+ - aarch64
2128 secrets :
2229 KAYOBE_VAULT_PASSWORD :
2330 required : true
3239 ANSIBLE_FORCE_COLOR : True
3340 KAYOBE_ENVIRONMENT : ci-builder
3441 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
42+ overcloud_dib_architecture : ${{ inputs.cpu-platform-architecture == 'x86_64' && 'amd64' || 'arm64' }}
43+ stackhpc_cpu_arch_override : ${{ inputs.cpu-platform-architecture == 'aarch64' && 'arm64' || 'x86_64' }}
44+ pulp_artifact_type : ${{ inputs.cpu-platform-architecture == 'x86_64' && 'kayobe-images' || 'kayobe-images/aarch64' }}
3545jobs :
3646 runner-selection :
3747 uses : ./.github/workflows/runner-selector.yml
@@ -212,7 +222,7 @@ jobs:
212222 source venvs/kayobe/bin/activate &&
213223 source src/kayobe-config/kayobe-env --environment ci-builder &&
214224 kayobe seed host command run \
215- --command "sudo apt update && sudo apt -y install gcc git libffi-dev python3-dev python-is-python3 python3-venv containerd docker.io docker-buildx" --show-output
225+ --command "sudo apt update && sudo apt -y install gcc git libffi-dev python3-dev python-is-python3 python3-venv containerd docker.io docker-buildx qemu-user-static " --show-output
216226 env :
217227 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
218228
@@ -233,7 +243,8 @@ jobs:
233243 kayobe overcloud host image build --force-rebuild \
234244 -e os_distribution="rocky" \
235245 -e os_release="9" \
236- -e stackhpc_overcloud_dib_name=overcloud-rocky-9
246+ -e stackhpc_overcloud_dib_name=overcloud-rocky-9 \
247+ -e overcloud_dib_architecture=${{ inputs.cpu-platform-architecture == 'x86_64' && 'amd64' || 'aarch64' }}
237248 env :
238249 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
239250 if : inputs.rocky9
@@ -256,7 +267,7 @@ jobs:
256267 src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
257268 -e artifact_path=/opt/kayobe/images/overcloud-rocky-9 \
258269 -e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \
259- -e artifact_type="kayobe-images" \
270+ -e artifact_type=${{ env.pulp_artifact_type }} \
260271 -e file_regex="*.qcow2" \
261272 -e os_distribution="rocky" \
262273 -e os_release="9"
@@ -271,7 +282,8 @@ jobs:
271282 kayobe playbook run \
272283 src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
273284 -e local_image_path="/opt/kayobe/images/overcloud-rocky-9/overcloud-rocky-9.qcow2" \
274- -e image_name=overcloud-rocky-9-${{ steps.host_image_tag.outputs.host_image_tag }}
285+ -e image_name=overcloud-rocky-9-${{ steps.host_image_tag.outputs.host_image_tag }} \
286+ -e cpu_platform=${{ env.overcloud_dib_architecture }}
275287 env :
276288 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML }}
277289 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
@@ -285,7 +297,8 @@ jobs:
285297 kayobe playbook run \
286298 src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
287299 -e local_image_path="/opt/kayobe/images/overcloud-rocky-9/overcloud-rocky-9.qcow2" \
288- -e image_name=overcloud-rocky-9-${{ steps.host_image_tag.outputs.host_image_tag }}
300+ -e image_name=overcloud-rocky-9-${{ steps.host_image_tag.outputs.host_image_tag }} \
301+ -e cpu_platform=${{ env.overcloud_dib_architecture }}
289302 env :
290303 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
291304 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
@@ -301,7 +314,8 @@ jobs:
301314 kayobe overcloud host image build --force-rebuild \
302315 -e os_distribution="ubuntu" \
303316 -e os_release="noble" \
304- -e stackhpc_overcloud_dib_name=overcloud-ubuntu-noble
317+ -e stackhpc_overcloud_dib_name=overcloud-ubuntu-noble \
318+ -e overcloud_dib_architecture=${{ inputs.cpu-platform-architecture == 'x86_64' && 'amd64' || 'aarch64' }}
305319 env :
306320 KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
307321 if : inputs.ubuntu-noble
@@ -324,7 +338,7 @@ jobs:
324338 src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
325339 -e artifact_path=/opt/kayobe/images/overcloud-ubuntu-noble \
326340 -e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \
327- -e artifact_type="kayobe-images" \
341+ -e artifact_type=${{ env.pulp_artifact_type }} \
328342 -e file_regex="*.qcow2" \
329343 -e os_distribution="ubuntu" \
330344 -e os_release="noble"
@@ -339,7 +353,8 @@ jobs:
339353 kayobe playbook run \
340354 src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
341355 -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.qcow2" \
342- -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag.outputs.host_image_tag }}
356+ -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag.outputs.host_image_tag }} \
357+ -e cpu_platform=${{ env.overcloud_dib_architecture }}
343358 env :
344359 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML }}
345360 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
@@ -353,7 +368,8 @@ jobs:
353368 kayobe playbook run \
354369 src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
355370 -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.qcow2" \
356- -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag.outputs.host_image_tag }}
371+ -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag.outputs.host_image_tag }} \
372+ -e cpu_platform=${{ env.overcloud_dib_architecture }}
357373 env :
358374 CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
359375 OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
0 commit comments