Skip to content

Commit c0dfeac

Browse files
committed
Merge remote-tracking branch 'origin/stackhpc/2024.1' into bugfix/edfish-exporter-2.0/dell
2 parents 7c5935b + bb7aea4 commit c0dfeac

File tree

121 files changed

+3669
-193
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+3669
-193
lines changed

.github/workflows/amphora-image-build.yml

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22
name: Build Amphora image
33
on:
44
workflow_dispatch:
5+
inputs:
6+
runner_env:
7+
description: Which cloud to run on?
8+
type: choice
9+
default: SMS Lab
10+
options:
11+
- SMS Lab
12+
- Leafcloud
513
secrets:
614
KAYOBE_VAULT_PASSWORD:
715
required: true
@@ -17,10 +25,17 @@ env:
1725
KAYOBE_ENVIRONMENT: ci-builder
1826
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
1927
jobs:
28+
runner-selection:
29+
uses: ./.github/workflows/runner-selector.yml
30+
with:
31+
runner_env: ${{ inputs.runner_env }}
2032
amphora-image-build:
2133
name: Build Amphora image
2234
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
23-
runs-on: arc-skc-host-image-builder-runner
35+
environment: ${{ inputs.runner_env }}
36+
runs-on: ${{ needs.runner-selection.outputs.runner_name_image_build }}
37+
needs:
38+
- runner-selection
2439
permissions: {}
2540
steps:
2641

@@ -90,10 +105,10 @@ jobs:
90105
aio_vm_name = "skc-amphora-image-builder"
91106
# Must be an Ubuntu Jammy host to successfully build all images
92107
# This MUST NOT be an LVM image. It can cause confusing conficts with the built image.
93-
aio_vm_image = "Ubuntu-22.04"
94-
aio_vm_flavor = "en1.medium"
95-
aio_vm_network = "stackhpc-ci"
96-
aio_vm_subnet = "stackhpc-ci"
108+
aio_vm_image = "${{ vars.HOST_IMAGE_BUILD_IMAGE }}"
109+
aio_vm_flavor = "${{ vars.HOST_IMAGE_BUILD_FLAVOR }}"
110+
aio_vm_network = "${{ vars.HOST_IMAGE_BUILD_NETWORK }}"
111+
aio_vm_subnet = "${{ vars.HOST_IMAGE_BUILD_SUBNET }}"
97112
aio_vm_interface = "ens3"
98113
EOF
99114
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
@@ -122,7 +137,7 @@ jobs:
122137
exit 1
123138
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
124139
env:
125-
OS_CLOUD: "openstack"
140+
OS_CLOUD: ${{ vars.OS_CLOUD }}
126141
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
127142
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
128143

@@ -250,7 +265,7 @@ jobs:
250265
run: terraform destroy -auto-approve
251266
working-directory: ${{ github.workspace }}/src/kayobe-config/terraform/aio
252267
env:
253-
OS_CLOUD: openstack
268+
OS_CLOUD: ${{ vars.OS_CLOUD }}
254269
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
255270
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
256271
if: always()

.github/workflows/ipa-image-build.yml

Lines changed: 65 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ on:
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
@@ -271,6 +275,65 @@ jobs:
271275
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
272276
if: inputs.ubuntu-jammy && steps.build_ubuntu_jammy_ipa.outcome == 'success'
273277

278+
- name: Build a Ubuntu 24.04 Noble IPA image
279+
id: build_ubuntu_noble_ipa
280+
continue-on-error: true
281+
run: |
282+
source venvs/kayobe/bin/activate &&
283+
source src/kayobe-config/kayobe-env --environment ci-builder &&
284+
kayobe overcloud deployment image build --force-rebuild \
285+
-e os_distribution="ubuntu" \
286+
-e os_release="noble" \
287+
-e ipa_ci_builder_distribution="ubuntu" \
288+
-e ipa_ci_builder_release="noble"
289+
env:
290+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
291+
if: inputs.ubuntu-noble
292+
293+
- name: Show last error logs
294+
continue-on-error: true
295+
run: |
296+
source venvs/kayobe/bin/activate &&
297+
source src/kayobe-config/kayobe-env --environment ci-builder &&
298+
kayobe seed host command run --command "tail -200 /opt/kayobe/images/ipa/ipa.stdout" --show-output
299+
env:
300+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
301+
if: steps.build_ubuntu_noble_ipa.outcome == 'failure'
302+
303+
- name: Upload Ubuntu 24.04 Noble IPA kernel image to Ark
304+
run: |
305+
source venvs/kayobe/bin/activate &&
306+
source src/kayobe-config/kayobe-env --environment ci-builder &&
307+
kayobe playbook run \
308+
src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
309+
-e artifact_path=/opt/kayobe/images/ipa \
310+
-e artifact_type=ipa-images \
311+
-e artifact_tag=${{ steps.ipa_image_tag.outputs.ipa_image_tag }} \
312+
-e os_distribution="ubuntu" \
313+
-e os_release="noble" \
314+
-e file_regex='*.kernel' \
315+
-e upload_checksum=true
316+
env:
317+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
318+
if: inputs.ubuntu-noble && steps.build_ubuntu_noble_ipa.outcome == 'success'
319+
320+
- name: Upload Ubuntu 24.04 Noble IPA ramdisk image to Ark
321+
run: |
322+
source venvs/kayobe/bin/activate &&
323+
source src/kayobe-config/kayobe-env --environment ci-builder &&
324+
kayobe playbook run \
325+
src/kayobe-config/etc/kayobe/ansible/pulp-artifact-upload.yml \
326+
-e artifact_path=/opt/kayobe/images/ipa \
327+
-e artifact_type=ipa-images \
328+
-e artifact_tag=${{ steps.ipa_image_tag.outputs.ipa_image_tag }} \
329+
-e os_distribution="ubuntu" \
330+
-e os_release="noble" \
331+
-e file_regex='*.initramfs' \
332+
-e upload_checksum=true
333+
env:
334+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
335+
if: inputs.ubuntu-noble && steps.build_ubuntu_noble_ipa.outcome == 'success'
336+
274337
- name: Build a Rocky 9 IPA image
275338
id: build_rocky_9_ipa
276339
continue-on-error: true
@@ -348,7 +411,8 @@ jobs:
348411
echo "Builds failed. See workflow artifacts for details." &&
349412
exit 1
350413
if: steps.build_rocky_9_ipa.outcome == 'failure' ||
351-
steps.build_ubuntu_jammy_ipa.outcome == 'failure'
414+
steps.build_ubuntu_jammy_ipa.outcome == 'failure' ||
415+
steps.build_ubuntu_noble_ipa.outcome == 'failure'
352416

353417
- name: Destroy
354418
run: terraform destroy -auto-approve

.github/workflows/ipa-image-promote.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ on:
1111
description: Promote Ubuntu 22.04 Jammy
1212
type: boolean
1313
default: true
14+
ubuntu-noble:
15+
description: Promote Ubuntu 24.04 Noble
16+
type: boolean
17+
default: true
1418
image_tag:
1519
description: Tag to promote
1620
type: string
@@ -25,7 +29,7 @@ jobs:
2529
steps:
2630
- name: Validate inputs
2731
run: |
28-
if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-jammy }} == 'false' ]]; then
32+
if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-jammy }} == 'false' && ${{ inputs.ubuntu-noble }} == 'false' ]]; then
2933
echo "At least one distribution must be selected"
3034
exit 1
3135
fi
@@ -98,3 +102,17 @@ jobs:
98102
ARTIFACT_TAG: ${{ inputs.image_tag }}
99103
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
100104
if: inputs.ubuntu-jammy
105+
106+
- name: Promote Ubuntu Noble 24.04 IPA image artifact
107+
run: |
108+
source venvs/kayobe/bin/activate &&
109+
source src/kayobe-config/kayobe-env --environment ci-builder &&
110+
kayobe playbook run \
111+
src/kayobe-config/etc/kayobe/ansible/pulp-artifact-promote.yml \
112+
-e artifact_type="ipa-images" \
113+
-e os_distribution='ubuntu' \
114+
-e os_release='noble'
115+
env:
116+
ARTIFACT_TAG: ${{ inputs.image_tag }}
117+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
118+
if: inputs.ubuntu-noble

.github/workflows/multinode-inputs.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ class Scenario:
3131

3232
ROCKY_9 = OSRelease("rocky", "9", "cloud-user")
3333
UBUNTU_JAMMY = OSRelease("ubuntu", "jammy", "ubuntu")
34+
UBUNTU_NOBLE = OSRelease("ubuntu", "noble", "ubuntu")
3435
# NOTE(upgrade): Add supported releases here.
3536
OPENSTACK_RELEASES = [
3637
OpenStackRelease("2024.1", "2023.1", [ROCKY_9, UBUNTU_JAMMY]),
3738
OpenStackRelease("2023.1", "zed", [ROCKY_9, UBUNTU_JAMMY]),
39+
OpenStackRelease("master", "2024.1", [ROCKY_9, UBUNTU_NOBLE])
3840
]
3941
NEUTRON_PLUGINS = ["ovs", "ovn"]
4042

.github/workflows/overcloud-host-image-build.yml

Lines changed: 76 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ on:
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
@@ -48,7 +52,7 @@ jobs:
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

.github/workflows/overcloud-host-image-promote.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ on:
1111
description: Promote Ubuntu 22.04 Jammy
1212
type: boolean
1313
default: true
14+
ubuntu-noble:
15+
description: Promote Ubuntu 24.04 Noble
16+
type: boolean
17+
default: true
1418
image_tag:
1519
description: Tag to promote
1620
type: string
@@ -25,7 +29,7 @@ jobs:
2529
steps:
2630
- name: Validate inputs
2731
run: |
28-
if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-jammy }} == 'false' ]]; then
32+
if [[ ${{ inputs.rocky9 }} == 'false' && ${{ inputs.ubuntu-jammy }} == 'false' && ${{ inputs.ubuntu-noble }} == 'false' ]]; then
2933
echo "At least one distribution must be selected"
3034
exit 1
3135
fi
@@ -98,3 +102,17 @@ jobs:
98102
ARTIFACT_TAG: ${{ inputs.image_tag }}
99103
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
100104
if: inputs.ubuntu-jammy
105+
106+
- name: Promote Ubuntu Noble 24.04 overcloud host image artifact
107+
run: |
108+
source venvs/kayobe/bin/activate &&
109+
source src/kayobe-config/kayobe-env --environment ci-builder &&
110+
kayobe playbook run \
111+
src/kayobe-config/etc/kayobe/ansible/pulp-artifact-promote.yml \
112+
-e artifact_type="kayobe-images" \
113+
-e os_distribution='ubuntu' \
114+
-e os_release='noble'
115+
env:
116+
ARTIFACT_TAG: ${{ inputs.image_tag }}
117+
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
118+
if: inputs.ubuntu-noble

0 commit comments

Comments
 (0)