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
48
52
steps :
49
53
- name : Validate inputs
50
54
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
52
56
echo "At least one distribution must be selected"
53
57
exit 1
54
58
fi
@@ -360,6 +364,75 @@ jobs:
360
364
OS_APPLICATION_CREDENTIAL_SECRET : ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }}
361
365
if : inputs.ubuntu-jammy && steps.build_ubuntu_jammy.outcome == 'success'
362
366
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
+
363
436
- name : Copy logs back
364
437
continue-on-error : true
365
438
run : |
@@ -373,7 +446,8 @@ jobs:
373
446
echo "Builds failed. See workflow artifacts for details." &&
374
447
exit 1
375
448
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'
377
451
378
452
- name : Upload logs artifact
379
453
uses : actions/upload-artifact@v4
0 commit comments