1111 description : Build Ubuntu 22.04 Jammy
1212 type : boolean
1313 default : true
14+ ubuntu-noble :
15+ description : Build Ubuntu 24.04 Noble
16+ type : boolean
17+ default : true
1418 runner_env :
1519 description : Which cloud to run on?
1620 type : choice
4852 steps :
4953 - name : Validate inputs
5054 run : |
51- if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-jammy }} == 'false' ]]; then
55+ if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-jammy }} == 'false' && ${{ inputs.ubuntu-noble }} == 'false' ]]; then
5256 echo "At least one distribution must be selected"
5357 exit 1
5458 fi
@@ -360,6 +364,75 @@ jobs:
360364 OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
361365 if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
362366
367+ - name : Build an Ubuntu Noble 24.04 overcloud host image
368+ id : build_ubuntu_noble
369+ continue-on-error : true
370+ run : |
371+ source venvs/kayobe/bin/activate &&
372+ source src/kayobe-config/kayobe-env --environment ci-builder &&
373+ kayobe overcloud host image build --force-rebuild \
374+ -e os_distribution="ubuntu" \
375+ -e os_release="noble" \
376+ -e stackhpc_overcloud_dib_name=overcloud-ubuntu-noble
377+ env :
378+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
379+ if : inputs.ubuntu-noble
380+
381+ - name : Show last error logs
382+ continue-on-error : true
383+ run : |
384+ source venvs/kayobe/bin/activate &&
385+ source src/kayobe-config/kayobe-env --environment ci-builder &&
386+ kayobe seed host command run --command "tail -200 /opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.stdout" --show-output
387+ env :
388+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
389+ if : steps.build_ubuntu_noble.outcome == 'failure'
390+
391+ - name : Upload Ubuntu Noble 24.04 overcloud host image to Ark
392+ run : |
393+ source venvs/kayobe/bin/activate &&
394+ source src/kayobe-config/kayobe-env --environment ci-builder &&
395+ kayobe playbook run \
396+ src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
397+ -e artifact_path=/opt/kayobe/images/overcloud-ubuntu-noble \
398+ -e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \
399+ -e artifact_type="kayobe-images" \
400+ -e file_regex="*.qcow2" \
401+ -e os_distribution="ubuntu" \
402+ -e os_release="noble"
403+ env :
404+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
405+ if : inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success'
406+
407+ - name : Upload Ubuntu Noble overcloud host image to current Dev Cloud (SMS/Leafcloud)
408+ run : |
409+ source venvs/kayobe/bin/activate &&
410+ source src/kayobe-config/kayobe-env --environment ci-builder &&
411+ kayobe playbook run \
412+ src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
413+ -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.qcow2" \
414+ -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag.outputs.host_image_tag }}
415+ env :
416+ CLOUDS_YAML : ${{ secrets.CLOUDS_YAML }}
417+ OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
418+ OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
419+ if : inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success'
420+
421+ - name : Upload Ubuntu Noble overcloud host image to other Dev Cloud (Leafcloud/SMS)
422+ run : |
423+ source venvs/kayobe/bin/activate &&
424+ source src/kayobe-config/kayobe-env --environment ci-builder &&
425+ kayobe playbook run \
426+ src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
427+ -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.qcow2" \
428+ -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag.outputs.host_image_tag }}
429+ env :
430+ CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
431+ OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
432+ OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
433+ if : inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success'
434+
435+
363436 - name : Copy logs back
364437 continue-on-error : true
365438 run : |
@@ -373,7 +446,8 @@ jobs:
373446 echo "Builds failed. See workflow artifacts for details." &&
374447 exit 1
375448 if : steps.build_rocky_9.outcome == 'failure' ||
376- steps.build_ubuntu_jammy.outcome == 'failure'
449+ steps.build_ubuntu_jammy.outcome == 'failure' ||
450+ steps.build_ubuntu_noble.outcome == 'failure'
377451
378452 - name : Upload logs artifact
379453 uses : actions/upload-artifact@v4
0 commit comments