diff --git a/.github/workflows/overcloud-host-image-build.yml b/.github/workflows/overcloud-host-image-build.yml index 8582b1eb4..13f6cf6ac 100644 --- a/.github/workflows/overcloud-host-image-build.yml +++ b/.github/workflows/overcloud-host-image-build.yml @@ -248,22 +248,6 @@ jobs: KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }} if: steps.build_rocky_9.outcome == 'failure' - - name: Upload Rocky Linux 9 overcloud host image to Ark - run: | - source venvs/kayobe/bin/activate && - source src/kayobe-config/kayobe-env --environment ci-builder && - kayobe playbook run \ - src/kayobe-config/etc/kayobe/ansible/pulp/pulp-artifact-upload.yml \ - -e artifact_path=/opt/kayobe/images/overcloud-rocky-9 \ - -e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \ - -e artifact_type="kayobe-images" \ - -e file_regex="*.qcow2" \ - -e os_distribution="rocky" \ - -e os_release="9" - env: - KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }} - if: inputs.rocky9 && steps.build_rocky_9.outcome == 'success' - - name: Upload Rocky Linux 9 overcloud host image to current Dev Cloud (SMS/Leafcloud) run: | source venvs/kayobe/bin/activate && @@ -292,6 +276,22 @@ jobs: OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }} if: inputs.rocky9 && steps.build_rocky_9.outcome == 'success' + - name: Upload Rocky Linux 9 overcloud host image to Ark + run: | + source venvs/kayobe/bin/activate && + source src/kayobe-config/kayobe-env --environment ci-builder && + kayobe playbook run \ + src/kayobe-config/etc/kayobe/ansible/pulp/pulp-artifact-upload.yml \ + -e artifact_path=/opt/kayobe/images/overcloud-rocky-9 \ + -e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \ + -e artifact_type="kayobe-images" \ + -e file_regex="*.qcow2" \ + -e os_distribution="rocky" \ + -e os_release="9" + env: + KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }} + if: inputs.rocky9 && steps.build_rocky_9.outcome == 'success' + - name: Build an Ubuntu Noble 24.04 overcloud host image id: build_ubuntu_noble continue-on-error: true @@ -316,22 +316,6 @@ jobs: KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }} if: steps.build_ubuntu_noble.outcome == 'failure' - - name: Upload Ubuntu Noble 24.04 overcloud host image to Ark - run: | - source venvs/kayobe/bin/activate && - source src/kayobe-config/kayobe-env --environment ci-builder && - kayobe playbook run \ - src/kayobe-config/etc/kayobe/ansible/pulp/pulp-artifact-upload.yml \ - -e artifact_path=/opt/kayobe/images/overcloud-ubuntu-noble \ - -e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \ - -e artifact_type="kayobe-images" \ - -e file_regex="*.qcow2" \ - -e os_distribution="ubuntu" \ - -e os_release="noble" - env: - KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }} - if: inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success' - - name: Upload Ubuntu Noble overcloud host image to current Dev Cloud (SMS/Leafcloud) run: | source venvs/kayobe/bin/activate && @@ -360,6 +344,22 @@ jobs: OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET_OTHER_CLOUD }} if: inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success' + - name: Upload Ubuntu Noble 24.04 overcloud host image to Ark + run: | + source venvs/kayobe/bin/activate && + source src/kayobe-config/kayobe-env --environment ci-builder && + kayobe playbook run \ + src/kayobe-config/etc/kayobe/ansible/pulp/pulp-artifact-upload.yml \ + -e artifact_path=/opt/kayobe/images/overcloud-ubuntu-noble \ + -e artifact_tag=${{ steps.host_image_tag.outputs.host_image_tag }} \ + -e artifact_type="kayobe-images" \ + -e file_regex="*.qcow2" \ + -e os_distribution="ubuntu" \ + -e os_release="noble" + env: + KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }} + if: inputs.ubuntu-noble && steps.build_ubuntu_noble.outcome == 'success' + - name: Copy logs back continue-on-error: true run: | diff --git a/etc/kayobe/pulp-host-image-versions.yml b/etc/kayobe/pulp-host-image-versions.yml index 71292d934..1e8aa8370 100644 --- a/etc/kayobe/pulp-host-image-versions.yml +++ b/etc/kayobe/pulp-host-image-versions.yml @@ -1,5 +1,5 @@ --- # Overcloud host image versioning tags # These images must be in SMS, since they are used by our AIO CI runners -stackhpc_rocky_9_overcloud_host_image_version: "2025.1-20251216T122459" +stackhpc_rocky_9_overcloud_host_image_version: "2025.1-20260113T105634" stackhpc_ubuntu_noble_overcloud_host_image_version: "2025.1-20250930T144255" diff --git a/etc/kayobe/stackhpc-overcloud-dib.yml b/etc/kayobe/stackhpc-overcloud-dib.yml index 03b2700fe..45c924825 100644 --- a/etc/kayobe/stackhpc-overcloud-dib.yml +++ b/etc/kayobe/stackhpc-overcloud-dib.yml @@ -37,12 +37,19 @@ stackhpc_overcloud_dib_elements: # StackHPC overcloud DIB image environment variables. stackhpc_overcloud_dib_env_vars: "{{ stackhpc_overcloud_dib_env_vars_default | combine(stackhpc_overcloud_dib_env_vars_ark if stackhpc_build_overcloud_image_from_pulp_package_mirrors | bool else {}) }}" +# mind the dot before stackhpc_pulp_repo_rocky_9_minor_version. +# Set an empty ROCKY_MINOR_DOT_VERSION to use rockylinux:9 as the base image +stackhpc_overcloud_dib_container_opts_default: >- + --build-arg=ROCKY_MINOR_DOT_VERSION=.{{ stackhpc_pulp_repo_rocky_9_minor_version }} + stackhpc_overcloud_dib_env_vars_default: DIB_BLOCK_DEVICE_CONFIG: "{{ stackhpc_overcloud_dib_block_device_config_uefi_lvm }}" DIB_BOOTLOADER_DEFAULT_CMDLINE: "nofb nomodeset gfxpayload=text net.ifnames=1 rd.auto" DIB_GRUB_TIMEOUT: "5" DIB_GRUB_TIMEOUT_STYLE: "menu" DIB_CLOUD_INIT_DATASOURCES: "OpenStack, ConfigDrive" + DIB_CONTAINERFILE_BUILDOPTS: >- + {{ stackhpc_overcloud_dib_container_opts_default }} DIB_CONTAINERFILE_RUNTIME: "docker" DIB_CONTAINERFILE_NETWORK_DRIVER: "host" DIB_CONTAINERFILE_DOCKERFILE: "/opt/kayobe/src/stackhpc-image-elements/elements/rocky-container-stackhpc/containerfiles/9-stackhpc" @@ -62,6 +69,7 @@ stackhpc_overcloud_dib_env_vars_ark: DIB_CONTAINERFILE_BUILDOPTS: >- --build-arg=ROCKY_USE_CUSTOM_DNF_MIRRORS=true --build-arg=ROCKY_CUSTOM_DNF_MIRROR_URLS={{ [stackhpc_repo_rocky_9_baseos_url, stackhpc_repo_rocky_9_appstream_url] | join(',') }} + {{ stackhpc_overcloud_dib_container_opts_default }} DIB_DISTRIBUTION_MIRROR: "{{ stackhpc_repo_ubuntu_noble_url if os_distribution == 'ubuntu' else '' }}" # Ensure upstream repofiles are re-enabled after image build, otherwise `yum.repos.d` is left empty DIB_ROCKY_CONTAINER_STACKHPC_RESTORE_UPSTREAM_REPOFILES: true diff --git a/etc/kayobe/stackhpc.yml b/etc/kayobe/stackhpc.yml index 720d4ffcb..f6006a041 100644 --- a/etc/kayobe/stackhpc.yml +++ b/etc/kayobe/stackhpc.yml @@ -208,5 +208,5 @@ stackhpc_ca_secret_store: openbao stackhpc_dib_image_elements_repos: - repo: "https://github.com/stackhpc/stackhpc-image-elements" local: "{{ source_checkout_path }}/stackhpc-image-elements" - version: "v1.6.4" + version: "fix/rocky-9-minor-version" elements_path: "elements"