11
11
description : Build Ubuntu 22.04 Jammy
12
12
type : boolean
13
13
default : true
14
+ ubuntu-noble :
15
+ description : Build Ubuntu 24.04 Noble
16
+ type : boolean
17
+ default : true
14
18
runner_env :
15
19
description : Which cloud to run on?
16
20
type : choice
56
60
steps :
57
61
- name : Validate inputs
58
62
run : |
59
- if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-jammy }} == 'false' ]]; then
63
+ if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-jammy }} == 'false' && ${{ inputs.ubuntu-noble }} == 'false' ]]; then
60
64
echo "At least one distribution must be selected"
61
65
exit 1
62
66
fi
@@ -370,6 +374,75 @@ jobs:
370
374
OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
371
375
if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
372
376
377
+ - name : Build an Ubuntu Noble 24.04 overcloud host image
378
+ id : build_ubuntu_noble
379
+ continue-on-error : true
380
+ run : |
381
+ source venvs/kayobe/bin/activate &&
382
+ source src/kayobe-config/kayobe-env --environment ci-builder &&
383
+ kayobe overcloud host image build --force-rebuild \
384
+ -e os_distribution="ubuntu" \
385
+ -e os_release="noble" \
386
+ -e stackhpc_overcloud_dib_name=overcloud-ubuntu-noble
387
+ env :
388
+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
389
+ if : inputs.ubuntu-noble
390
+
391
+ - name : Show last error logs
392
+ continue-on-error : true
393
+ run : |
394
+ source venvs/kayobe/bin/activate &&
395
+ source src/kayobe-config/kayobe-env --environment ci-builder &&
396
+ kayobe seed host command run --command "tail -200 /opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.stdout" --show-output
397
+ env :
398
+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
399
+ if : steps.build_ubuntu_noble.outcome == 'failure'
400
+
401
+ - name : Upload Ubuntu Noble 24.04 overcloud host image to Ark
402
+ run : |
403
+ source venvs/kayobe/bin/activate &&
404
+ source src/kayobe-config/kayobe-env --environment ci-builder &&
405
+ kayobe playbook run \
406
+ src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
407
+ -e artifact_path=/opt/kayobe/images/overcloud-ubuntu-noble \
408
+ -e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \
409
+ -e artifact_type="kayobe-images" \
410
+ -e file_regex="*.qcow2" \
411
+ -e os_distribution="ubuntu" \
412
+ -e os_release="noble"
413
+ env :
414
+ KAYOBE_VAULT_PASSWORD : ${{ secrets.KAYOBE_VAULT_PASSWORD }}
415
+ if : inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success'
416
+
417
+ - name : Upload Ubuntu Noble overcloud host image to current Dev Cloud (SMS/Leafcloud)
418
+ run : |
419
+ source venvs/kayobe/bin/activate &&
420
+ source src/kayobe-config/kayobe-env --environment ci-builder &&
421
+ kayobe playbook run \
422
+ src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
423
+ -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.qcow2" \
424
+ -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag.outputs.host_image_tag }}
425
+ env :
426
+ CLOUDS_YAML : ${{ secrets.CLOUDS_YAML }}
427
+ OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
428
+ OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
429
+ if : inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success'
430
+
431
+ - name : Upload Ubuntu Noble overcloud host image to other Dev Cloud (Leafcloud/SMS)
432
+ run : |
433
+ source venvs/kayobe/bin/activate &&
434
+ source src/kayobe-config/kayobe-env --environment ci-builder &&
435
+ kayobe playbook run \
436
+ src/kayobe-config/etc/kayobe/ansible/openstack-host-image-upload.yml \
437
+ -e local_image_path="/opt/kayobe/images/overcloud-ubuntu-noble/overcloud-ubuntu-noble.qcow2" \
438
+ -e image_name=overcloud-ubuntu-noble-${{ steps.host_image_tag.outputs.host_image_tag }}
439
+ env :
440
+ CLOUDS_YAML : ${{ secrets.CLOUDS_YAML_OTHER_CLOUD }}
441
+ OS_APPLICATION_CREDENTIAL_ID : ${{ secrets.OS_APPLICATION_CREDENTIAL_ID_OTHER_CLOUD }}
442
+ OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
443
+ if : inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success'
444
+
445
+
373
446
- name : Copy logs back
374
447
continue-on-error : true
375
448
run : |
@@ -383,7 +456,8 @@ jobs:
383
456
echo "Builds failed. See workflow artifacts for details." &&
384
457
exit 1
385
458
if : steps.build_rocky_9.outcome == 'failure' ||
386
- steps.build_ubuntu_jammy.outcome == 'failure'
459
+ steps.build_ubuntu_jammy.outcome == 'failure' ||
460
+ steps.build_ubuntu_noble.outcome == 'failure'
387
461
388
462
- name : Upload logs artifact
389
463
uses : actions/upload-artifact@v4
0 commit comments