77 description : Build Rocky Linux 9
88 type : boolean
99 default : true
10- ubuntu-jammy :
11- description : Build Ubuntu 22.04 Jammy
12- type : boolean
13- default : true
1410 ubuntu-noble :
1511 description : Build Ubuntu 24.04 Noble
1612 type : boolean
5248 steps :
5349 - name : Validate inputs
5450 run : |
55- if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-jammy }} == 'false' && ${{ inputs.ubuntu- noble }} == 'false' ]]; then
51+ if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-noble }} == 'false' ]]; then
5652 echo "At least one distribution must be selected"
5753 exit 1
5854 fi
@@ -125,7 +121,7 @@ jobs:
125121 ssh_public_key = "id_rsa.pub"
126122 ssh_username = "ubuntu"
127123 aio_vm_name = "skc-host-image-builder"
128- # Must be an Ubuntu Jammy host to successfully build all images
124+ # Must be an Ubuntu Noble host to successfully build all images
129125 # This MUST NOT be an LVM image. It can cause confusing conficts with the built image.
130126 aio_vm_image = "${{ vars.HOST_IMAGE_BUILD_IMAGE }}"
131127 aio_vm_flavor = "${{ vars.HOST_IMAGE_BUILD_FLAVOR }}"
@@ -296,74 +292,6 @@ jobs:
296292 OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
297293 if : inputs.rocky9 && steps.build_rocky_9.outcome == 'success'
298294
299- - name : Build an Ubuntu Jammy 22.04 overcloud host image
300- id : build_ubuntu_jammy
301- continue-on-error : true
302- run : |
303- source venvs/kayobe/bin/activate &&
304- source src/kayobe-config/kayobe-env --environment ci-builder &&
305- kayobe overcloud host image build --force-rebuild \
306- -e os_distribution="ubuntu" \
307- -e os_release="jammy" \
308- -e stackhpc_overcloud_dib_name=overcloud-ubuntu-jammy
309- env :
310- KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
311- if : inputs.ubuntu-jammy
312-
313- - name : Show last error logs
314- continue-on-error : true
315- run : |
316- source venvs/kayobe/bin/activate &&
317- source src/kayobe-config/kayobe-env --environment ci-builder &&
318- kayobe seed host command run --command "tail -200 /opt/kayobe/images/overcloud-ubuntu-jammy/overcloud-ubuntu-jammy.stdout" --show-output
319- env :
320- KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
321- if : steps.build_ubuntu_jammy.outcome == 'failure'
322-
323- - name : Upload Ubuntu Jammy 22.04 overcloud host image to Ark
324- run : |
325- source venvs/kayobe/bin/activate &&
326- source src/kayobe-config/kayobe-env --environment ci-builder &&
327- kayobe playbook run \
328- src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
329- -e artifact_path=/opt/kayobe/images/overcloud-ubuntu-jammy \
330- -e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \
331- -e artifact_type="kayobe-images" \
332- -e file_regex="*.qcow2" \
333- -e os_distribution="ubuntu" \
334- -e os_release="jammy"
335- env :
336- KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
337- if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
338-
339- - name : Upload Ubuntu Jammy overcloud host image to current Dev Cloud (SMS/Leafcloud)
340- run : |
341- source venvs/kayobe/bin/activate &&
342- source src/kayobe-config/kayobe-env --environment ci-builder &&
343- kayobe playbook run \
344- src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
345- -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-jammy/overcloud-ubuntu-jammy.qcow2" \
346- -e image_name=overcloud-ubuntu-jammy-${{ steps.host_image_tag.outputs.host_image_tag }}
347- env :
348- CLOUDS_YAML : ${{ secrets.CLOUDS_YAML }}
349- OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
350- OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
351- if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
352-
353- - name : Upload Ubuntu Jammy overcloud host image to other Dev Cloud (Leafcloud/SMS)
354- run : |
355- source venvs/kayobe/bin/activate &&
356- source src/kayobe-config/kayobe-env --environment ci-builder &&
357- kayobe playbook run \
358- src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
359- -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-jammy/overcloud-ubuntu-jammy.qcow2" \
360- -e image_name=overcloud-ubuntu-jammy-${{ steps.host_image_tag.outputs.host_image_tag }}
361- env :
362- CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
363- OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
364- OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
365- if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
366-
367295 - name : Build an Ubuntu Noble 24.04 overcloud host image
368296 id : build_ubuntu_noble
369297 continue-on-error : true
@@ -432,7 +360,6 @@ jobs:
432360 OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
433361 if : inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success'
434362
435-
436363 - name : Copy logs back
437364 continue-on-error : true
438365 run : |
@@ -446,7 +373,6 @@ jobs:
446373 echo "Builds failed. See workflow artifacts for details." &&
447374 exit 1
448375 if : steps.build_rocky_9.outcome == 'failure' ||
449- steps.build_ubuntu_jammy.outcome == 'failure' ||
450376 steps.build_ubuntu_noble.outcome == 'failure'
451377
452378 - name : Upload logs artifact
0 commit comments