From 9eefac14a998471a5e7652417ed839b4e72f54be Mon Sep 17 00:00:00 2001 From: Bartosz Bezak Date: Tue, 1 Oct 2024 12:15:47 +0200 Subject: [PATCH] add aarch64 container image builds for R9 Change-Id: Ifcd61399a07d5cfe9fa319236ecb911bf735f33c --- .../stackhpc-container-image-build.yml | 159 ++++++++++++++++-- .../environments/ci-aio/stackhpc-ci.yml | 23 ++- .../environments/ci-builder/stackhpc-ci.yml | 22 +-- .../environments/ci-multinode/stackhpc-ci.yml | 22 +-- etc/kayobe/kolla-image-tags.yml | 74 +------- etc/kayobe/kolla.yml | 4 +- etc/kayobe/pulp-repo-versions.yml | 17 ++ etc/kayobe/pulp.yml | 28 ++- etc/kayobe/stackhpc.yml | 34 ++-- requirements.txt | 2 +- tools/scan-images.sh | 2 +- 11 files changed, 246 insertions(+), 141 deletions(-) diff --git a/.github/workflows/stackhpc-container-image-build.yml b/.github/workflows/stackhpc-container-image-build.yml index 8e7842e950..cc2bc8360e 100644 --- a/.github/workflows/stackhpc-container-image-build.yml +++ b/.github/workflows/stackhpc-container-image-build.yml @@ -94,18 +94,21 @@ jobs: # Dynamically define job matrix. # We need a separate matrix entry for each distribution, when the relevant input is true. # https://stackoverflow.com/questions/65384420/how-do-i-make-a-github-action-matrix-element-conditional + # NOTE(bbezak): Both amd64 and aarch64 need to be built in a single workflow to create a multi-architecture manifest. + # For now include only RL9 in aarch64 - name: Generate build matrix id: set-matrix run: | output="{'distro': [" if [[ ${{ inputs.rocky-linux-9 }} == 'true' ]]; then - output+="{'name': 'rocky', 'release': 9}," + output+="{'name': 'rocky', 'release': 9, 'arch': 'amd64'}," + output+="{'name': 'rocky', 'release': 9, 'arch': 'aarch64'}," fi if [[ ${{ inputs.ubuntu-jammy }} == 'true' ]]; then - output+="{'name': 'ubuntu', 'release': 'jammy'}," + output+="{'name': 'ubuntu', 'release': 'jammy', 'arch': 'amd64'}," fi if [[ ${{ inputs.ubuntu-noble }} == 'true' ]]; then - output+="{'name': 'ubuntu', 'release': 'noble'}," + output+="{'name': 'ubuntu', 'release': 'noble', 'arch': 'amd64'}," fi # remove trailing comma output="${output%,}" @@ -124,7 +127,9 @@ jobs: container-image-build: name: Build Kolla container images if: github.repository == 'stackhpc/stackhpc-kayobe-config' - runs-on: ${{ needs.runner-selection.outputs.runner_name_container_image_build }} + runs-on: ${{ matrix.distro.arch == 'aarch64' + && fromJson('["self-hosted","sms","arm64"]') + || needs.runner-selection.outputs.runner_name_container_image_build }} timeout-minutes: 720 permissions: {} strategy: @@ -147,6 +152,10 @@ jobs: sudo apt update sudo apt install gh -y + - name: Purge workspace (Arm runner only) + if: runner.arch == 'ARM64' + run: sudo rm -rf "$GITHUB_WORKSPACE"/* + - name: Checkout uses: actions/checkout@v4 with: @@ -162,7 +171,8 @@ jobs: - name: Install yq run: | - curl -sL https://github.com/mikefarah/yq/releases/download/v4.42.1/yq_linux_amd64.tar.gz | tar xz && sudo mv yq_linux_amd64 /usr/bin/yq + ARCH=$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/') + curl -sL "https://github.com/mikefarah/yq/releases/download/v4.42.1/yq_linux_${ARCH}.tar.gz" | tar xz && sudo mv yq_linux_${ARCH} /usr/bin/yq - name: Install Kayobe run: | @@ -211,9 +221,16 @@ jobs: continue-on-error: true run: | args="${{ inputs.regexes }}" + if [[ "${{ matrix.distro.arch }}" == 'aarch64' ]]; then + args="$args -e kolla_base_arch=${{ matrix.distro.arch }}" + fi args="$args -e kolla_base_distro=${{ matrix.distro.name }}" args="$args -e kolla_base_distro_version=${{ matrix.distro.release }}" - args="$args -e kolla_tag=${{ steps.write-kolla-tag.outputs.kolla-tag }}" + if [[ "${{ matrix.distro.name }}" == 'rocky' ]]; then + args="$args -e kolla_tag=${{ steps.write-kolla-tag.outputs.kolla-tag }}-${{ matrix.distro.arch }}" + else + args="$args -e kolla_tag=${{ steps.write-kolla-tag.outputs.kolla-tag }}" + fi args="$args -e stackhpc_repo_mirror_auth_proxy_enabled=true" source venvs/kayobe/bin/activate && source src/kayobe-config/kayobe-env --environment ci-builder && @@ -226,6 +243,10 @@ jobs: run: sudo mv /var/log/kolla-build.log image-build-logs/kolla-build-overcloud.log if: inputs.overcloud + - name: Copy build configs to output directory + run: sudo cp -rnL /opt/kayobe/etc/kolla/* image-build-logs/ + if: inputs.overcloud + - name: Build kolla seed images id: build_seed_images continue-on-error: true @@ -239,14 +260,14 @@ jobs: kayobe seed container image build $args env: KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }} - if: inputs.seed + if: inputs.seed && matrix.distro.arch == 'amd64' - name: Copy seed container image build logs to output directory run: sudo mv /var/log/kolla-build.log image-build-logs/kolla-build-seed.log - if: inputs.seed + if: inputs.seed && matrix.distro.arch == 'amd64' - name: Get built container images - run: docker image ls --filter "reference=ark.stackhpc.com/stackhpc-dev/*:${{ steps.write-kolla-tag.outputs.kolla-tag }}" > ${{ matrix.distro.name }}-${{ matrix.distro.release }}-container-images + run: docker image ls --filter "reference=ark.stackhpc.com/stackhpc-dev/*:${{ steps.write-kolla-tag.outputs.kolla-tag }}*" > ${{ matrix.distro.name }}-${{ matrix.distro.release }}-container-images - name: Fail if no images have been built run: if [ $(wc -l < ${{ matrix.distro.name }}-${{ matrix.distro.release }}-container-images) -le 1 ]; then exit 1; fi @@ -307,7 +328,7 @@ jobs: - name: Upload output artifact uses: actions/upload-artifact@v4 with: - name: ${{ matrix.distro.name }}-${{ matrix.distro.release }}-logs + name: ${{ matrix.distro.name }}-${{ matrix.distro.release }}-${{ matrix.distro.arch }}-logs path: image-build-logs retention-days: 7 if: ${{ !cancelled() }} @@ -331,6 +352,124 @@ jobs: run: if [ $(wc -l < image-build-logs/image-scan-output/critical-images.txt) -gt 0 ]; then cat image-build-logs/image-scan-output/critical-images.txt && exit 1; fi if: ${{ !inputs.push-dirty && !cancelled() }} + - name: Remove locally built images for this run + if: always() && runner.arch == 'ARM64' + run: | + docker images --quiet \ + --filter "reference=ark.stackhpc.com/stackhpc-dev/*:${{ steps.write-kolla-tag.outputs.kolla-tag }}*" \ + | xargs -r docker rmi -f + + create-manifests: + # Only for Rocky Linux for now + name: Create Multiarch Docker Manifests + if: github.repository == 'stackhpc/stackhpc-kayobe-config' && inputs.push + runs-on: ${{ needs.runner-selection.outputs.runner_name_container_image_build }} + permissions: {} + needs: + - container-image-build + - runner-selection + steps: + - name: Install package dependencies + run: | + sudo apt update + sudo apt install -y git unzip python3-wheel python3-pip python3-venv curl jq wget openssh-server openssh-client + - name: Install gh + run: | + sudo mkdir -p -m 755 /etc/apt/keyrings && wget -qO- https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo tee /etc/apt/keyrings/githubcli-archive-keyring.gpg > /dev/null + sudo chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null + sudo apt update + sudo apt install gh -y + - name: Checkout Kayobe Config + uses: actions/checkout@v4 + with: + path: src/kayobe-config + + - name: Install Kayobe + run: | + mkdir -p venvs && + pushd venvs && + python3 -m venv kayobe && + source kayobe/bin/activate && + pip install -U pip && + pip install -r ../src/kayobe-config/requirements.txt + # Required for Pulp auth proxy deployment and Docker registry login. + # Normally installed during host configure. + - name: Install Docker Python SDK + run: | + sudo pip install docker + - name: Configure localhost as a seed + run: | + cat > src/kayobe-config/etc/kayobe/environments/ci-builder/inventory/hosts << EOF + # A 'seed' host used for building images. + # Use localhost for container image builds. + [seed] + localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3 + EOF + # See etc/kayobe/ansible/roles/pulp_auth_proxy/README.md for details. + # NOTE: We override pulp_auth_proxy_conf_path to a path shared by the + # runner and dind containers. + - name: Deploy an authenticating package repository mirror proxy + run: | + source venvs/kayobe/bin/activate && + source src/kayobe-config/kayobe-env --environment ci-builder && + kayobe playbook run $KAYOBE_CONFIG_PATH/ansible/pulp-auth-proxy.yml -e pulp_auth_proxy_conf_path=/home/runner/_work/pulp_proxy + env: + KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }} + + - name: Download artifacts + uses: actions/download-artifact@v4 + + - name: Combine pushed images lists + run: | + find . -name 'push-attempt-images.txt' -exec cat {} + > all-pushed-images.txt + - name: Log in to Docker registry + run: | + source venvs/kayobe/bin/activate && + source src/kayobe-config/kayobe-env --environment ci-builder && + kayobe playbook run ${KAYOBE_CONFIG_PATH}/ansible/docker-registry-login.yml + env: + KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }} + + - name: Create and Push Docker Manifests + run: | + set -ex + mkdir -p logs + images=$(cat all-pushed-images.txt | sort | uniq) + # Filter out Ubuntu and Rocky Bifrost images + manifest_images=$(echo "$images" | grep -E '.*-(amd64|aarch64)$' | sed -E 's/-(amd64|aarch64)$//' | sort | uniq) + if [ -z "$manifest_images" ]; then + echo "No Rocky overcloud images found. Skipping manifest creation." | tee -a logs/manifest-creation.log + exit 0 + fi + for base_image in $manifest_images; do + arch_images="" + for arch in amd64 aarch64; do + arch_image="${base_image}-${arch}" + # Check if the image exists in the registry + if docker manifest inspect "$arch_image" > /dev/null 2>&1; then + arch_images="$arch_images $arch_image" + fi + done + if [ -n "$arch_images" ]; then + echo "Creating manifest for $base_image with images:$arch_images" | tee -a logs/manifest-creation.log + docker manifest create "$base_image" $arch_images | tee -a logs/manifest-creation.log + docker manifest push "$base_image" | tee -a logs/manifest-creation.log + else + echo "No images found for $base_image, skipping." | tee -a logs/manifest-creation.log + fi + done + + - name: Upload manifest logs + uses: actions/upload-artifact@v4 + with: + name: manifest-logs + path: | + all-pushed-images.txt + logs/manifest-creation.log + retention-days: 7 + if: ${{ !cancelled() }} + # NOTE(mgoddard): Trigger another CI workflow in the # stackhpc-release-train repository. - name: Trigger container image repository sync diff --git a/etc/kayobe/environments/ci-aio/stackhpc-ci.yml b/etc/kayobe/environments/ci-aio/stackhpc-ci.yml index 4ddb486253..b431337808 100644 --- a/etc/kayobe/environments/ci-aio/stackhpc-ci.yml +++ b/etc/kayobe/environments/ci-aio/stackhpc-ci.yml @@ -23,7 +23,7 @@ stackhpc_repo_mirror_password: !vault | # Build against released Pulp repository versions. stackhpc_repo_grafana_version: "{{ stackhpc_pulp_repo_grafana_version }}" -stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_version }}" stackhpc_repo_rhel9_rabbitmq_server_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_server_version }}" stackhpc_repo_ubuntu_jammy_version: "{{ stackhpc_pulp_repo_ubuntu_jammy_version }}" stackhpc_repo_ubuntu_jammy_security_version: "{{ stackhpc_pulp_repo_ubuntu_jammy_security_version }}" @@ -34,15 +34,15 @@ stackhpc_repo_ubuntu_noble_version: "{{ stackhpc_pulp_repo_ubuntu_noble_version stackhpc_repo_ubuntu_noble_security_version: "{{ stackhpc_pulp_repo_ubuntu_noble_security_version }}" stackhpc_repo_docker_ce_ubuntu_noble_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_noble_version }}" stackhpc_repo_ceph_reef_debian_version: "{{ stackhpc_pulp_repo_ceph_reef_debian_version }}" -stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version }}" -stackhpc_repo_centos_stream_9_openstack_caracal_version: "{{ stackhpc_pulp_repo_centos_stream_9_openstack_caracal_version }}" -stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_centos_stream_9_opstools_version }}" -stackhpc_repo_centos_stream_9_storage_ceph_reef_version: "{{ stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_version }}" -stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_centos_stream_9_docker_version }}" -stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_rhel_9_treasuredata_5_version }}" -stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_rhel_9_mariadb_10_11_version }}" -stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_rhel_9_influxdb_version }}" -stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_epel_9_version }}" +stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_nfv_openvswitch_version }}" +stackhpc_repo_centos_stream_9_openstack_caracal_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_openstack_caracal_version }}" +stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_opstools_version }}" +stackhpc_repo_centos_stream_9_storage_ceph_reef_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_storage_ceph_reef_version }}" +stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_docker_version }}" +stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_treasuredata_5_version }}" +stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_mariadb_10_11_version }}" +stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_influxdb_version }}" +stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_multiarch_epel_9_version }}" stackhpc_repo_opensearch_2_x_version: "{{ stackhpc_pulp_repo_opensearch_2_x_version }}" stackhpc_repo_opensearch_dashboards_2_x_version: "{{ stackhpc_pulp_repo_opensearch_dashboards_2_x_version }}" ## Use derived vars from etc/kayobe/pulp.yml to switch between @@ -52,9 +52,8 @@ stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_pulp_repo_rocky_9_appstrea stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_pulp_repo_rocky_9_crb_version }}" stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_pulp_repo_rocky_9_highavailability_version }}" -stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_rocky_9_sig_security_common_version }}" +stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_multiarch_rocky_9_sig_security_common_version }}" stackhpc_repo_rhel9_doca_version: "{{ stackhpc_pulp_repo_rhel9_doca_version }}" -stackhpc_repo_rhel9_doca_modules_version: "{{ stackhpc_pulp_repo_rhel9_doca_modules_version }}" # Rocky-and-CI-specific Pulp urls stackhpc_include_os_minor_version_in_repo_url: true diff --git a/etc/kayobe/environments/ci-builder/stackhpc-ci.yml b/etc/kayobe/environments/ci-builder/stackhpc-ci.yml index e67a472c4f..815c52f199 100644 --- a/etc/kayobe/environments/ci-builder/stackhpc-ci.yml +++ b/etc/kayobe/environments/ci-builder/stackhpc-ci.yml @@ -50,7 +50,7 @@ stackhpc_repo_mirror_password: !vault | # Build against released Pulp repository versions. stackhpc_repo_grafana_version: "{{ stackhpc_pulp_repo_grafana_version }}" -stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_version }}" stackhpc_repo_rhel9_rabbitmq_server_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_server_version }}" stackhpc_repo_ubuntu_jammy_version: "{{ stackhpc_pulp_repo_ubuntu_jammy_version }}" stackhpc_repo_ubuntu_jammy_security_version: "{{ stackhpc_pulp_repo_ubuntu_jammy_security_version }}" @@ -61,15 +61,15 @@ stackhpc_repo_ubuntu_noble_version: "{{ stackhpc_pulp_repo_ubuntu_noble_version stackhpc_repo_ubuntu_noble_security_version: "{{ stackhpc_pulp_repo_ubuntu_noble_security_version }}" stackhpc_repo_docker_ce_ubuntu_noble_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_noble_version }}" stackhpc_repo_ceph_reef_debian_version: "{{ stackhpc_pulp_repo_ceph_reef_debian_version }}" -stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version }}" -stackhpc_repo_centos_stream_9_openstack_caracal_version: "{{ stackhpc_pulp_repo_centos_stream_9_openstack_caracal_version }}" -stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_centos_stream_9_opstools_version }}" -stackhpc_repo_centos_stream_9_storage_ceph_reef_version: "{{ stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_version }}" -stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_centos_stream_9_docker_version }}" -stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_rhel_9_treasuredata_5_version }}" -stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_rhel_9_mariadb_10_11_version }}" -stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_rhel_9_influxdb_version }}" -stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_epel_9_version }}" +stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_nfv_openvswitch_version }}" +stackhpc_repo_centos_stream_9_openstack_caracal_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_openstack_caracal_version }}" +stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_opstools_version }}" +stackhpc_repo_centos_stream_9_storage_ceph_reef_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_storage_ceph_reef_version }}" +stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_docker_version }}" +stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_treasuredata_5_version }}" +stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_mariadb_10_11_version }}" +stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_influxdb_version }}" +stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_multiarch_epel_9_version }}" stackhpc_repo_opensearch_2_x_version: "{{ stackhpc_pulp_repo_opensearch_2_x_version }}" stackhpc_repo_opensearch_dashboards_2_x_version: "{{ stackhpc_pulp_repo_opensearch_dashboards_2_x_version }}" ## Use derived vars from etc/kayobe/pulp.yml to switch between @@ -79,7 +79,7 @@ stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_pulp_repo_rocky_9_appstrea stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_pulp_repo_rocky_9_crb_version }}" stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_pulp_repo_rocky_9_highavailability_version }}" -stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_rocky_9_sig_security_common_version }}" +stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_multiarch_rocky_9_sig_security_common_version }}" stackhpc_repo_rhel9_doca_version: "{{ stackhpc_pulp_repo_rhel9_doca_version }}" # Rocky-and-CI-specific Pulp urls diff --git a/etc/kayobe/environments/ci-multinode/stackhpc-ci.yml b/etc/kayobe/environments/ci-multinode/stackhpc-ci.yml index a28519e831..05c21b4cdf 100644 --- a/etc/kayobe/environments/ci-multinode/stackhpc-ci.yml +++ b/etc/kayobe/environments/ci-multinode/stackhpc-ci.yml @@ -23,7 +23,7 @@ stackhpc_repo_mirror_password: !vault | # Build and deploy released Pulp repository versions. stackhpc_repo_grafana_version: "{{ stackhpc_pulp_repo_grafana_version }}" -stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_version }}" stackhpc_repo_rhel9_rabbitmq_server_version: "{{ stackhpc_pulp_repo_rhel9_rabbitmq_server_version }}" stackhpc_repo_ubuntu_jammy_version: "{{ stackhpc_pulp_repo_ubuntu_jammy_version }}" stackhpc_repo_ubuntu_jammy_security_version: "{{ stackhpc_pulp_repo_ubuntu_jammy_security_version }}" @@ -34,15 +34,15 @@ stackhpc_repo_ubuntu_noble_version: "{{ stackhpc_pulp_repo_ubuntu_noble_version stackhpc_repo_ubuntu_noble_security_version: "{{ stackhpc_pulp_repo_ubuntu_noble_security_version }}" stackhpc_repo_docker_ce_ubuntu_noble_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_noble_version }}" stackhpc_repo_ceph_reef_debian_version: "{{ stackhpc_pulp_repo_ceph_reef_debian_version }}" -stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version }}" -stackhpc_repo_centos_stream_9_openstack_caracal_version: "{{ stackhpc_pulp_repo_centos_stream_9_openstack_caracal_version }}" -stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_centos_stream_9_opstools_version }}" -stackhpc_repo_centos_stream_9_storage_ceph_reef_version: "{{ stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_version }}" -stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_centos_stream_9_docker_version }}" -stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_rhel_9_treasuredata_5_version }}" -stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_rhel_9_mariadb_10_11_version }}" -stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_rhel_9_influxdb_version }}" -stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_epel_9_version }}" +stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_nfv_openvswitch_version }}" +stackhpc_repo_centos_stream_9_openstack_caracal_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_openstack_caracal_version }}" +stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_opstools_version }}" +stackhpc_repo_centos_stream_9_storage_ceph_reef_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_storage_ceph_reef_version }}" +stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_multiarch_centos_stream_9_docker_version }}" +stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_treasuredata_5_version }}" +stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_mariadb_10_11_version }}" +stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_multiarch_rhel_9_influxdb_version }}" +stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_multiarch_epel_9_version }}" stackhpc_repo_opensearch_2_x_version: "{{ stackhpc_pulp_repo_opensearch_2_x_version }}" stackhpc_repo_opensearch_dashboards_2_x_version: "{{ stackhpc_pulp_repo_opensearch_dashboards_2_x_version }}" ## Use derived vars from etc/kayobe/pulp.yml to switch between @@ -52,7 +52,7 @@ stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_pulp_repo_rocky_9_appstrea stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_pulp_repo_rocky_9_crb_version }}" stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_pulp_repo_rocky_9_highavailability_version }}" -stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_rocky_9_sig_security_common_version }}" +stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_pulp_repo_multiarch_rocky_9_sig_security_common_version }}" # Rocky-and-CI-specific Pulp urls stackhpc_include_os_minor_version_in_repo_url: true diff --git a/etc/kayobe/kolla-image-tags.yml b/etc/kayobe/kolla-image-tags.yml index 45de13c17a..a4be67f057 100644 --- a/etc/kayobe/kolla-image-tags.yml +++ b/etc/kayobe/kolla-image-tags.yml @@ -4,74 +4,6 @@ # where the key is the OS distro and the value is the tag to deploy. kolla_image_tags: openstack: - rocky-9: 2024.1-rocky-9-20241218T141751 - ubuntu-jammy: 2024.1-ubuntu-jammy-20241218T141809 - ubuntu-noble: 2024.1-ubuntu-noble-20250404T150323 - bifrost: - rocky-9: 2024.1-rocky-9-20250325T141125 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250325T141125 - glance: - rocky-9: 2024.1-rocky-9-20250213T103134 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250213T103134 - horizon: - rocky-9: 2024.1-rocky-9-20250227T091118 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250227T091118 - ironic: - rocky-9: 2024.1-rocky-9-20250213T110505 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250213T110505 - ironic_dnsmasq: - rocky-9: 2024.1-rocky-9-20241218T141751 - ubuntu-jammy: 2024.1-ubuntu-jammy-20241218T141809 - ironic_prometheus_exporter: - rocky-9: 2024.1-rocky-9-20250124T081816 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250124T081816 - kolla_toolbox: - rocky-9: 2024.1-rocky-9-20250529T081147 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250529T081147 - ubuntu-noble: 2024.1-ubuntu-noble-20250529T081147 - magnum: - rocky-9: 2024.1-rocky-9-20250522T143506 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250522T143506 - ubuntu-noble: 2024.1-ubuntu-noble-20250522T143506 - manila: - rocky-9: 2024.1-rocky-9-20250529T081147 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250529T081147 - ubuntu-noble: 2024.1-ubuntu-noble-20250529T081147 - neutron: - rocky-9: 2024.1-rocky-9-20250529T081147 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250529T081147 - ubuntu-noble: 2024.1-ubuntu-noble-20250529T081147 - neutron_bgp_dragent: - rocky-9: 2024.1-rocky-9-20250529T081147 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250529T081147 - ubuntu-noble: 2024.1-ubuntu-noble-20250529T081147 - nova: - rocky-9: 2024.1-rocky-9-20250529T081147 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250529T081147 - ubuntu-noble: 2024.1-ubuntu-noble-20250529T081147 - octavia: - rocky-9: 2024.1-rocky-9-20250529T081147 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250529T081147 - ubuntu-noble: 2024.1-ubuntu-noble-20250529T081147 - openvswitch: - rocky-9: 2024.1-rocky-9-20250529T081147 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250529T081147 - ubuntu-noble: 2024.1-ubuntu-noble-20250529T081147 - ovn: - rocky-9: 2024.1-rocky-9-20250529T081147 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250529T081147 - ubuntu-noble: 2024.1-ubuntu-noble-20250529T081147 - prometheus: - rocky-9: 2024.1-rocky-9-20250219T145255 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250219T145255 - prometheus_alertmanager: - rocky-9: 2024.1-rocky-9-20250422T103147 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250422T103147 - skyline_apiserver: - rocky-9: 2024.1-rocky-9-20250408T133253 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250408T133253 - ubuntu-noble: 2024.1-ubuntu-noble-20250415T123136 - skyline_console: - rocky-9: 2024.1-rocky-9-20250408T133253 - ubuntu-jammy: 2024.1-ubuntu-jammy-20250408T133253 - ubuntu-noble: 2024.1-ubuntu-noble-20250415T123136 + rocky-9: 2024.1-rocky-9-20250711T161715 + ubuntu-jammy: 2024.1-ubuntu-jammy-20250711T161715 + ubuntu-noble: 2024.1-ubuntu-noble-20250711T161715 diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index f5f106c404..2c5235533a 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -222,8 +222,8 @@ stackhpc_rocky_9_third_party_repos: file: "CentOS-Ceph-Reef.repo" tag: "centos-ceph-reef" - url: "{{ stackhpc_repo_rhel9_rabbitmq_erlang_url }}" - file: "rabbitmq_rabbitmq-erlang.repo" - tag: "rabbitmq_rabbitmq-erlang" + file: "{{ 'copr-rabbitmq-erlang.repo' if kolla_base_arch == 'aarch64' else 'rabbitmq_rabbitmq-erlang.repo' }}" + tag: "{{ 'copr-rabbitmq-erlang' if kolla_base_arch == 'aarch64' else 'rabbitmq_rabbitmq-erlang' }}" - url: "{{ stackhpc_repo_rhel9_rabbitmq_server_url }}" file: "rabbitmq_rabbitmq-server.repo" tag: "rabbitmq_rabbitmq-server" diff --git a/etc/kayobe/pulp-repo-versions.yml b/etc/kayobe/pulp-repo-versions.yml index e2636862b5..abdc6d7e5d 100644 --- a/etc/kayobe/pulp-repo-versions.yml +++ b/etc/kayobe/pulp-repo-versions.yml @@ -2,25 +2,36 @@ # This file is autogenerated by Ansible using the following workflow: # https://github.com/stackhpc/stackhpc-release-train/actions/workflows/package-update-kayobe.yml stackhpc_pulp_repo_centos_stream_9_docker_version: 20241210T000909 +stackhpc_pulp_repo_centos_stream_9_docker_aarch64_version: 20241210T012225 stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version: 20250528T022338 +stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_aarch64_version: 20250528T015409 stackhpc_pulp_repo_centos_stream_9_openstack_caracal_version: 20241212T022636 +stackhpc_pulp_repo_centos_stream_9_openstack_caracal_aarch64_version: 20241212T020643 stackhpc_pulp_repo_centos_stream_9_opstools_version: 20231213T031318 +stackhpc_pulp_repo_centos_stream_9_opstools_aarch64_version: 20240927T073838 stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_version: 20240923T233036 +stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef_aarch64_version: 20240927T073838 stackhpc_pulp_repo_ceph_reef_debian_version: 20240925T152022 stackhpc_pulp_repo_docker_ce_ubuntu_jammy_version: 20241218T154614 stackhpc_pulp_repo_docker_ce_ubuntu_noble_version: 20250401T001425 stackhpc_pulp_repo_elrepo_9_version: 20241129T235743 +stackhpc_pulp_repo_elrepo_9_aarch64_version: 20240927T073838 stackhpc_pulp_repo_epel_9_version: 20241216T235733 +stackhpc_pulp_repo_epel_9_aarch64_version: 20241217T012754 stackhpc_pulp_repo_grafana_version: 20241216T002739 stackhpc_pulp_repo_opensearch_2_x_version: 20241106T010702 stackhpc_pulp_repo_opensearch_dashboards_2_x_version: 20241106T010702 stackhpc_pulp_repo_rhel9_rabbitmq_erlang_version: 20241217T002152 +stackhpc_pulp_repo_rhel9_rabbitmq_erlang_aarch64_version: 20241213T015928 stackhpc_pulp_repo_rhel9_rabbitmq_server_version: 20241217T002152 stackhpc_pulp_repo_rhel_9_influxdb_version: 20241217T002152 +stackhpc_pulp_repo_rhel_9_influxdb_aarch64_version: 20241217T012754 stackhpc_pulp_repo_rhel_9_mariadb_10_11_version: 20241102T004913 +stackhpc_pulp_repo_rhel_9_mariadb_10_11_aarch64_version: 20241102T015940 stackhpc_pulp_repo_rhel_9_rabbitmq_erlang_version: 20240711T091318 stackhpc_pulp_repo_rhel_9_rabbitmq_server_version: 20240711T091318 stackhpc_pulp_repo_rhel_9_treasuredata_5_version: 20241115T002028 +stackhpc_pulp_repo_rhel_9_treasuredata_5_aarch64_version: 20241115T010217 stackhpc_pulp_repo_rocky_9_1_appstream_version: 20231207T013715 stackhpc_pulp_repo_rocky_9_1_baseos_version: 20231206T014015 stackhpc_pulp_repo_rocky_9_1_crb_version: 20231211T120328 @@ -39,14 +50,20 @@ stackhpc_pulp_repo_rocky_9_3_highavailability_version: 20240510T001129 stackhpc_pulp_repo_rocky_9_4_appstream_version: 20240816T002610 stackhpc_pulp_repo_rocky_9_4_baseos_version: 20240816T002610 stackhpc_pulp_repo_rocky_9_4_crb_version: 20240816T002610 +stackhpc_pulp_repo_rocky_9_5_crb_aarch64_version: 20241217T012754 stackhpc_pulp_repo_rocky_9_4_extras_version: 20240816T002610 stackhpc_pulp_repo_rocky_9_4_highavailability_version: 20240816T002610 stackhpc_pulp_repo_rocky_9_5_appstream_version: 20241217T005008 +stackhpc_pulp_repo_rocky_9_5_appstream_aarch64_version: 20241217T012754 stackhpc_pulp_repo_rocky_9_5_baseos_version: 20241216T013503 +stackhpc_pulp_repo_rocky_9_5_baseos_aarch64_version: 20241216T011954 stackhpc_pulp_repo_rocky_9_5_crb_version: 20241217T005008 stackhpc_pulp_repo_rocky_9_5_extras_version: 20241216T004230 +stackhpc_pulp_repo_rocky_9_5_extras_aarch64_version: 20241216T011954 stackhpc_pulp_repo_rocky_9_5_highavailability_version: 20241202T003154 +stackhpc_pulp_repo_rocky_9_5_highavailability_aarch64_version: 20241203T010516 stackhpc_pulp_repo_rocky_9_sig_security_common_version: 20241127T003858 +stackhpc_pulp_repo_rocky_9_sig_security_common_aarch64_version: 20241127T011228 stackhpc_pulp_repo_ubuntu_cloud_archive_version: 20250416T042645 stackhpc_pulp_repo_ubuntu_jammy_security_version: 20250417T070229 stackhpc_pulp_repo_ubuntu_jammy_version: 20250417T070229 diff --git a/etc/kayobe/pulp.yml b/etc/kayobe/pulp.yml index bf8b61cef6..01386d04a7 100644 --- a/etc/kayobe/pulp.yml +++ b/etc/kayobe/pulp.yml @@ -246,11 +246,29 @@ stackhpc_pulp_sync_rocky_9: "{{ os_distribution == 'rocky' }}" stackhpc_pulp_repo_rocky_9_minor_version: 5 # Rocky 9 Snapshot versions. The defaults use the appropriate version from # pulp-repo-versions.yml for the selected minor release. -stackhpc_pulp_repo_rocky_9_appstream_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_appstream_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}" -stackhpc_pulp_repo_rocky_9_baseos_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_baseos_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}" -stackhpc_pulp_repo_rocky_9_extras_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_extras_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}" -stackhpc_pulp_repo_rocky_9_crb_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_crb_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}" -stackhpc_pulp_repo_rocky_9_highavailability_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_%s_highavailability_version' % stackhpc_pulp_repo_rocky_9_minor_version) }}" + +# Define the architecture suffix +arch_suffix: "{{ '_aarch64' if kolla_base_arch == 'aarch64' else '' }}" + +# Rocky 9 Snapshot versions +stackhpc_pulp_repo_rocky_9_baseos_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_baseos' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_rocky_9_appstream_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_appstream' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_rocky_9_extras_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_extras' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_rocky_9_crb_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_crb' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_rocky_9_highavailability_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_' ~ stackhpc_pulp_repo_rocky_9_minor_version ~ '_highavailability' ~ arch_suffix ~ '_version') }}" + +# Rocky 9 Multiarch repositories +stackhpc_pulp_repo_multiarch_rhel9_rabbitmq_erlang_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rhel9_rabbitmq_erlang' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_centos_stream_9_nfv_openvswitch_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_centos_stream_9_openstack_caracal_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_9_openstack_caracal' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_centos_stream_9_opstools_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_9_opstools' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_centos_stream_9_storage_ceph_reef_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_9_storage_ceph_reef' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_centos_stream_9_docker_version: "{{ lookup('vars', 'stackhpc_pulp_repo_centos_stream_9_docker' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_rhel_9_treasuredata_5_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rhel_9_treasuredata_5' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_rhel_9_mariadb_10_11_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rhel_9_mariadb_10_11' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_rhel_9_influxdb_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rhel_9_influxdb' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_epel_9_version: "{{ lookup('vars', 'stackhpc_pulp_repo_epel_9' ~ arch_suffix ~ '_version') }}" +stackhpc_pulp_repo_multiarch_rocky_9_sig_security_common_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_9_sig_security_common' ~ arch_suffix ~ '_version') }}" # Whether to sync packages common to all RHEL 9 derivatives. stackhpc_pulp_sync_el_9: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" diff --git a/etc/kayobe/stackhpc.yml b/etc/kayobe/stackhpc.yml index c58571b9e1..a582b200d7 100644 --- a/etc/kayobe/stackhpc.yml +++ b/etc/kayobe/stackhpc.yml @@ -81,7 +81,7 @@ stackhpc_repo_grafana_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/grafana/ stackhpc_repo_grafana_version: "{{ stackhpc_repo_distribution }}" # RabbitMQ - Erlang for RHEL 9 -stackhpc_repo_rhel9_rabbitmq_erlang_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rabbitmq/erlang/el/9/x86_64/{{ stackhpc_repo_rhel9_rabbitmq_erlang_version }}" +stackhpc_repo_rhel9_rabbitmq_erlang_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rabbitmq/erlang/el/9/{{ kolla_base_arch }}/{{ stackhpc_repo_rhel9_rabbitmq_erlang_version }}" stackhpc_repo_rhel9_rabbitmq_erlang_version: "{{ stackhpc_repo_distribution }}" # RabbitMQ for RHEL 9 @@ -89,35 +89,35 @@ stackhpc_repo_rhel9_rabbitmq_server_url: "{{ stackhpc_repo_mirror_url }}/pulp/co stackhpc_repo_rhel9_rabbitmq_server_version: "{{ stackhpc_repo_distribution }}" # CentOS Stream 9 - NFV OpenvSwitch -stackhpc_repo_centos_stream_9_nfv_openvswitch_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/nfv/x86_64/openvswitch-2/{{ stackhpc_repo_centos_stream_9_nfv_openvswitch_version }}" +stackhpc_repo_centos_stream_9_nfv_openvswitch_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/nfv/{{ kolla_base_arch }}/openvswitch-2/{{ stackhpc_repo_centos_stream_9_nfv_openvswitch_version }}" stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_repo_distribution }}" # CentOS Stream 9 - OpenStack Caracal -stackhpc_repo_centos_stream_9_openstack_caracal_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/cloud/x86_64/openstack-caracal/{{ stackhpc_repo_centos_stream_9_openstack_caracal_version }}" +stackhpc_repo_centos_stream_9_openstack_caracal_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/cloud/{{ kolla_base_arch }}/openstack-caracal/{{ stackhpc_repo_centos_stream_9_openstack_caracal_version }}" stackhpc_repo_centos_stream_9_openstack_caracal_version: "{{ stackhpc_repo_distribution }}" # CentOS Stream 9 - OpsTools - collectd -stackhpc_repo_centos_stream_9_opstools_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/opstools/x86_64/collectd-5/{{ stackhpc_repo_centos_stream_9_opstools_version }}" +stackhpc_repo_centos_stream_9_opstools_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/opstools/{{ kolla_base_arch }}/collectd-5/{{ stackhpc_repo_centos_stream_9_opstools_version }}" stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_repo_distribution }}" # CentOS Stream 9 - Ceph Reef -stackhpc_repo_centos_stream_9_storage_ceph_reef_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/storage/x86_64/ceph-reef/{{ stackhpc_repo_centos_stream_9_storage_ceph_reef_version }}" +stackhpc_repo_centos_stream_9_storage_ceph_reef_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/storage/{{ kolla_base_arch }}/ceph-reef/{{ stackhpc_repo_centos_stream_9_storage_ceph_reef_version }}" stackhpc_repo_centos_stream_9_storage_ceph_reef_version: "{{ stackhpc_repo_distribution }}" # CentOS Stream 9 Docker CE -stackhpc_repo_centos_stream_9_docker_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/docker-ce/centos/9/x86_64/stable/{{ stackhpc_repo_centos_stream_9_docker_version }}" +stackhpc_repo_centos_stream_9_docker_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/docker-ce/centos/9/{{ kolla_base_arch }}/stable/{{ stackhpc_repo_centos_stream_9_docker_version }}" stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_repo_distribution }}" # TreasureData 5 for RHEL 9 -stackhpc_repo_rhel_9_treasuredata_5_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/treasuredata/5/redhat/9/x86_64/{{ stackhpc_repo_rhel_9_treasuredata_5_version }}" +stackhpc_repo_rhel_9_treasuredata_5_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/treasuredata/5/redhat/9/{{ kolla_base_arch }}/{{ stackhpc_repo_rhel_9_treasuredata_5_version }}" stackhpc_repo_rhel_9_treasuredata_5_version: "{{ stackhpc_repo_distribution }}" # MariaDB 10.11 for RHEL 9 -stackhpc_repo_rhel_9_mariadb_10_11_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/mariadb-10.11/yum/rhel/9/x86_64/{{ stackhpc_repo_rhel_9_mariadb_10_11_version }}" +stackhpc_repo_rhel_9_mariadb_10_11_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/mariadb-10.11/yum/rhel/9/{{ kolla_base_arch }}/{{ stackhpc_repo_rhel_9_mariadb_10_11_version }}" stackhpc_repo_rhel_9_mariadb_10_11_version: "{{ stackhpc_repo_distribution }}" # InfluxDB for RHEL 9 -stackhpc_repo_rhel_9_influxdb_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/influxdb/rhel/9/x86_64/stable/{{ stackhpc_repo_rhel_9_influxdb_version }}" +stackhpc_repo_rhel_9_influxdb_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/influxdb/rhel/9/{{ kolla_base_arch }}/stable/{{ stackhpc_repo_rhel_9_influxdb_version }}" stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_repo_distribution }}" # OpenSearch for RHEL 9 @@ -129,35 +129,35 @@ stackhpc_repo_opensearch_dashboards_2_x_url: "{{ stackhpc_repo_mirror_url }}/pul stackhpc_repo_opensearch_dashboards_2_x_version: "{{ stackhpc_repo_distribution }}" # Rocky 9 AppStream -stackhpc_repo_rocky_9_appstream_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/AppStream/x86_64/os/{{ stackhpc_repo_rocky_9_appstream_version }}" +stackhpc_repo_rocky_9_appstream_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/AppStream/{{ kolla_base_arch }}/os/{{ stackhpc_repo_rocky_9_appstream_version }}" stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_repo_distribution }}" # Rocky 9 BaseOS -stackhpc_repo_rocky_9_baseos_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/BaseOS/x86_64/os/{{ stackhpc_repo_rocky_9_baseos_version }}" +stackhpc_repo_rocky_9_baseos_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/BaseOS/{{ kolla_base_arch }}/os/{{ stackhpc_repo_rocky_9_baseos_version }}" stackhpc_repo_rocky_9_baseos_version: "{{ stackhpc_repo_distribution }}" # Rocky 9 CRB -stackhpc_repo_rocky_9_crb_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/CRB/x86_64/os/{{ stackhpc_repo_rocky_9_crb_version }}" +stackhpc_repo_rocky_9_crb_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/CRB/{{ kolla_base_arch }}/os/{{ stackhpc_repo_rocky_9_crb_version }}" stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_repo_distribution }}" # Rocky 9 extras -stackhpc_repo_rocky_9_extras_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/extras/x86_64/os/{{ stackhpc_repo_rocky_9_extras_version }}" +stackhpc_repo_rocky_9_extras_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/extras/{{ kolla_base_arch }}/os/{{ stackhpc_repo_rocky_9_extras_version }}" stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_repo_distribution }}" # Rocky 9 highavailability -stackhpc_repo_rocky_9_highavailability_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/highavailability/x86_64/os/{{ stackhpc_repo_rocky_9_highavailability_version }}" +stackhpc_repo_rocky_9_highavailability_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_9_url_version }}/highavailability/{{ kolla_base_arch }}/os/{{ stackhpc_repo_rocky_9_highavailability_version }}" stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_repo_distribution }}" # Rocky 9 SIG Security Common -stackhpc_repo_rocky_9_sig_security_common_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/sig/9/security/x86_64/security-common/{{ stackhpc_repo_rocky_9_sig_security_common_version }}" +stackhpc_repo_rocky_9_sig_security_common_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/sig/9/security/{{ kolla_base_arch }}/security-common/{{ stackhpc_repo_rocky_9_sig_security_common_version }}" stackhpc_repo_rocky_9_sig_security_common_version: "{{ stackhpc_repo_distribution }}" # EPEL 9 -stackhpc_repo_epel_9_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/epel/9/Everything/x86_64/{{ stackhpc_repo_epel_9_version }}" +stackhpc_repo_epel_9_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/epel/9/Everything/{{ kolla_base_arch }}/{{ stackhpc_repo_epel_9_version }}" stackhpc_repo_epel_9_version: "{{ stackhpc_repo_distribution }}" # ELRepo 9 -stackhpc_repo_elrepo_9_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/elrepo/elrepo/el9/x86_64/{{ stackhpc_repo_elrepo_9_version }}" +stackhpc_repo_elrepo_9_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/elrepo/elrepo/el9/{{ kolla_base_arch }}/{{ stackhpc_repo_elrepo_9_version }}" stackhpc_repo_elrepo_9_version: "{{ stackhpc_repo_distribution }}" ############################################################################### diff --git a/requirements.txt b/requirements.txt index d01ee79d86..bf935e8746 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ -kayobe@git+https://github.com/stackhpc/kayobe@stackhpc/16.7.0.2 +kayobe@git+https://github.com/stackhpc/kayobe@stackhpc/16.7.0.3 ansible-modules-hashivault>=5.2.1 jmespath diff --git a/tools/scan-images.sh b/tools/scan-images.sh index d71aec4b21..f119851c35 100755 --- a/tools/scan-images.sh +++ b/tools/scan-images.sh @@ -21,7 +21,7 @@ rm -rf image-scan-output mkdir -p image-scan-output # Get built container images -docker image ls --filter "reference=ark.stackhpc.com/stackhpc-dev/*:$2" > $1-scanned-container-images.txt +docker image ls --filter "reference=ark.stackhpc.com/stackhpc-dev/*:$2*" > $1-scanned-container-images.txt # Make a file of imagename:tag images=$(grep --invert-match --no-filename ^REPOSITORY $1-scanned-container-images.txt | sed 's/ \+/:/g' | cut -f 1,2 -d:)