From 7cc0d1e7968f25acb40f6f8660d78341c601a397 Mon Sep 17 00:00:00 2001 From: Alex-Welsh Date: Fri, 10 Mar 2023 15:35:46 +0000 Subject: [PATCH] Add Rocky 9 support Adds support for Rocky Linux 9. Currently does not support OpenSearch. --- .github/workflows/stackhpc-all-in-one.yml | 14 +- .../stackhpc-container-image-build.yml | 1 + .github/workflows/stackhpc-pull-request.yml | 44 ++- doc/source/configuration/release-train.rst | 7 +- etc/kayobe/dnf.yml | 56 ++- .../environments/ci-aio/controllers.yml | 2 +- .../environments/ci-aio/stackhpc-ci.yml | 23 +- etc/kayobe/environments/ci-builder/seed.yml | 2 +- .../environments/ci-builder/stackhpc-ci.yml | 22 ++ .../environments/ci-multinode/compute.yml | 2 +- .../environments/ci-multinode/controllers.yml | 2 +- etc/kayobe/environments/ci-multinode/seed.yml | 2 +- .../environments/ci-multinode/stackhpc-ci.yml | 24 +- .../environments/ci-multinode/storage.yml | 2 +- etc/kayobe/kolla.yml | 112 +++++- etc/kayobe/kolla/globals.yml | 2 + etc/kayobe/pulp-repo-versions.yml | 24 +- etc/kayobe/pulp.yml | 338 +++++++++++++++++- etc/kayobe/seed-vm.yml | 4 +- etc/kayobe/stackhpc.yml | 72 +++- ...add-rocky-9-packages-43074cb3367171a5.yaml | 7 + 21 files changed, 704 insertions(+), 58 deletions(-) create mode 100644 releasenotes/notes/add-rocky-9-packages-43074cb3367171a5.yaml diff --git a/.github/workflows/stackhpc-all-in-one.yml b/.github/workflows/stackhpc-all-in-one.yml index f819bf7e0..3a20b1c9a 100644 --- a/.github/workflows/stackhpc-all-in-one.yml +++ b/.github/workflows/stackhpc-all-in-one.yml @@ -15,6 +15,14 @@ on: description: Host OS distribution type: string default: centos + os_release: + description: Host OS release + type: string + default: 8-stream + ssh_username: + description: User for terraform to access the all-in-one VM + type: string + default: cloud-user neutron_plugin: description: Neutron ML2 plugin type: string @@ -100,7 +108,7 @@ jobs: EOF working-directory: ${{ github.workspace }}/terraform/aio env: - SSH_USERNAME: "${{ inputs.os_distribution == 'ubuntu' && 'ubuntu' || 'cloud-user' }}" + SSH_USERNAME: "${{ inputs.ssh_username }}" VM_NAME: "skc-ci-aio-${{ inputs.neutron_plugin }}-${{ github.run_id }}" VM_IMAGE: ${{ inputs.vm_image }} VM_FLAVOR: ${{ inputs.vm_flavor }} @@ -161,11 +169,13 @@ jobs: cat << EOF > etc/kayobe/environments/$KAYOBE_ENVIRONMENT/zz-aio-scenario.yml --- os_distribution: ${{ env.OS_DISTRIBUTION }} + os_release: "${{ env.OS_RELEASE }}" kolla_enable_ovn: ${{ env.ENABLE_OVN }} EOF env: ENABLE_OVN: ${{ inputs.neutron_plugin == 'ovn' }} OS_DISTRIBUTION: ${{ inputs.os_distribution }} + OS_RELEASE: ${{ inputs.os_release }} # Use a heredoc to define a multiline string output # https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#multiline-strings @@ -226,7 +236,7 @@ jobs: - name: Upload test result artifacts uses: actions/upload-artifact@v3 with: - name: tempest-results-${{ inputs.os_distribution }}-${{ inputs.neutron_plugin }} + name: tempest-results-${{ inputs.os_distribution }}-${{ inputs.os_release }}-${{ inputs.neutron_plugin }} path: tempest-artifacts/* - name: Fail if any Tempest tests failed diff --git a/.github/workflows/stackhpc-container-image-build.yml b/.github/workflows/stackhpc-container-image-build.yml index cacfae23e..5474f8ac8 100644 --- a/.github/workflows/stackhpc-container-image-build.yml +++ b/.github/workflows/stackhpc-container-image-build.yml @@ -26,6 +26,7 @@ on: options: - centos - ubuntu + - rocky env: ANSIBLE_FORCE_COLOR: True diff --git a/.github/workflows/stackhpc-pull-request.yml b/.github/workflows/stackhpc-pull-request.yml index 64fd4335d..f193ce251 100644 --- a/.github/workflows/stackhpc-pull-request.yml +++ b/.github/workflows/stackhpc-pull-request.yml @@ -65,7 +65,7 @@ jobs: secrets: inherit if: github.repository == 'stackhpc/stackhpc-kayobe-config' - all-in-one-rocky-ovs: + all-in-one-rocky-8-ovs: name: aio (Rocky OVS) needs: - build-kayobe-image @@ -73,6 +73,7 @@ jobs: with: kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} os_distribution: rocky + os_release: "8" neutron_plugin: ovs # NOTE: The current SMS lab Rocky8 image has moved ahead of our release # train snapshots, causing failures installing some packages. @@ -82,7 +83,7 @@ jobs: secrets: inherit if: github.repository == 'stackhpc/stackhpc-kayobe-config' - all-in-one-rocky-ovn: + all-in-one-rocky-8-ovn: name: aio (Rocky OVN) needs: - build-kayobe-image @@ -90,6 +91,7 @@ jobs: with: kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} os_distribution: rocky + os_release: "8" neutron_plugin: ovn # NOTE: The current SMS lab Rocky8 image has moved ahead of our release # train snapshots, causing failures installing some packages. @@ -107,6 +109,8 @@ jobs: with: kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} os_distribution: ubuntu + os_release: focal + ssh_username: ubuntu neutron_plugin: ovs vm_image: Ubuntu-20.04 OS_CLOUD: sms-lab-release @@ -121,8 +125,44 @@ jobs: with: kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} os_distribution: ubuntu + os_release: focal + ssh_username: ubuntu neutron_plugin: ovn vm_image: Ubuntu-20.04 OS_CLOUD: sms-lab-release secrets: inherit if: github.repository == 'stackhpc/stackhpc-kayobe-config' + + all-in-one-rocky-9-ovs: + name: aio (Rocky 9 OVS) + needs: + - build-kayobe-image + uses: ./.github/workflows/stackhpc-all-in-one.yml + with: + kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} + os_distribution: rocky + os_release: "9" + ssh_username: rocky + neutron_plugin: ovs + vm_image: Rocky9 + vm_interface: ens3 + OS_CLOUD: sms-lab-release + secrets: inherit + if: github.repository == 'stackhpc/stackhpc-kayobe-config' + + all-in-one-rocky-9-ovn: + name: aio (Rocky 9 OVN) + needs: + - build-kayobe-image + uses: ./.github/workflows/stackhpc-all-in-one.yml + with: + kayobe_image: ${{ needs.build-kayobe-image.outputs.kayobe_image }} + os_distribution: rocky + os_release: "9" + ssh_username: rocky + neutron_plugin: ovn + vm_image: Rocky9 + vm_interface: ens3 + OS_CLOUD: sms-lab-release + secrets: inherit + if: github.repository == 'stackhpc/stackhpc-kayobe-config' diff --git a/doc/source/configuration/release-train.rst b/doc/source/configuration/release-train.rst index fc87ebaf4..00967ffaa 100644 --- a/doc/source/configuration/release-train.rst +++ b/doc/source/configuration/release-train.rst @@ -78,10 +78,11 @@ Currently, Ark does not provide package repositories for Ubuntu - only container images. For this reason, ``stackhpc_pulp_sync_ubuntu_focal`` in ``etc/kayobe/pulp.yml`` is set to ``false`` by default. -CentOS Stream 8 and Rocky Linux 8 package repositories are synced based on the +CentOS Stream 8 and Rocky Linux 8/9 package repositories are synced based on the value of ``os_distribution``. If you need to sync multiple distributions, -``stackhpc_pulp_sync_centos_stream8`` and ``stackhpc_pulp_sync_rocky_8`` in -``etc/kayobe/pulp.yml`` may be set to ``true``. +``stackhpc_pulp_sync_centos_stream8``, ``stackhpc_pulp_sync_rocky_8`` and +``stackhpc_pulp_sync_rocky_9`` in ``etc/kayobe/pulp.yml`` may be set to +``true``. On Ark, each package repository provides versioned snapshots using a datetime stamp (e.g. ``20220817T082321``). The current set of tested versions is defined diff --git a/etc/kayobe/dnf.yml b/etc/kayobe/dnf.yml index acba2ff93..95605aeb8 100644 --- a/etc/kayobe/dnf.yml +++ b/etc/kayobe/dnf.yml @@ -47,23 +47,26 @@ # To use these repos, set dnf_custom_repos to the value of stackhpc_dnf_repos. # This is done by default for hosts in the overcloud group via a group_vars # file. -stackhpc_dnf_repos: "{{ dnf_custom_repos_el8 | combine(lookup('vars', 'dnf_custom_repos_' ~ ansible_facts.distribution | lower )) }}" +stackhpc_dnf_repos_8: "{{ dnf_custom_repos_el8 | combine(lookup('vars', 'dnf_custom_repos_' ~ ansible_facts.distribution | lower )) }}" +stackhpc_dnf_repos_9: "{{ dnf_custom_repos_el9 | combine(dnf_custom_repos_rocky_9) }}" -# Custom repositories shared between all RHEL derivatives. +stackhpc_dnf_repos: "{{ stackhpc_dnf_repos_9 if os_release == '9' else stackhpc_dnf_repos_8 }}" + +# Custom repositories shared between all RHEL 8 derivatives. dnf_custom_repos_el8: epel: baseurl: "{{ stackhpc_repo_epel_url }}" description: "Extra Packages for Enterprise Linux $releasever - $basearch" enabled: "{{ dnf_enable_epel | bool }}" file: epel - gpgkey: "{{ dnf_epel_gpg_key_url }}" + gpgkey: "{{ dnf_epel_8_gpg_key_url }}" gpgcheck: yes epel-modular: baseurl: "{{ stackhpc_repo_epel_modular_url }}" description: "Extra Packages for Enterprise Linux Modular $releasever - $basearch" enabled: "{{ dnf_enable_epel | bool }}" file: epel-modular - gpgkey: "{{ dnf_epel_gpg_key_url }}" + gpgkey: "{{ dnf_epel_8_gpg_key_url }}" gpgcheck: yes docker: baseurl: "{{ stackhpc_repo_docker_url }}" @@ -115,11 +118,52 @@ dnf_custom_repos_rocky: gpgkey: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial gpgcheck: yes +# Custom repositories shared between all RHEL 9 derivatives. +dnf_custom_repos_el9: + epel: + baseurl: "{{ stackhpc_repo_epel_9_url }}" + description: "Extra Packages for Enterprise Linux $releasever - $basearch" + enabled: "{{ dnf_enable_epel | bool }}" + file: epel + gpgkey: "{{ dnf_epel_9_gpg_key_url }}" + gpgcheck: yes + docker: + baseurl: "{{ stackhpc_repo_centos_stream_9_docker_url }}" + description: "Package repository for installing docker" + enabled: "{{ dnf_enable_docker | bool }}" + file: docker + gpgkey: "{{ dnf_docker_gpg_key_url }}" + gpgcheck: yes + +# Rocky 9 specific repositories +dnf_custom_repos_rocky_9: + appstream: + baseurl: "{{ stackhpc_repo_rocky_9_appstream_url }}" + description: "Rocky Linux $releasever - AppStream" + file: rocky + gpgkey: "{{ rocky_9_gpg_key }}" + gpgcheck: yes + baseos: + baseurl: "{{ stackhpc_repo_rocky_9_baseos_url }}" + description: "Rocky Linux $releasever - BaseOS" + file: rocky + gpgkey: "{{ rocky_9_gpg_key }}" + gpgcheck: yes + extras: + baseurl: "{{ stackhpc_repo_rocky_9_extras_url }}" + description: "Rocky Linux $releasever - Extras" + file: rocky-extras + gpgkey: "{{ rocky_9_gpg_key }}" + gpgcheck: yes + # Whether to enable EPEL repositories. This affects RedHat-based systems only. dnf_enable_epel: "{{ dnf_install_epel | bool }}" -# URL of EPEL GPG key. -dnf_epel_gpg_key_url: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8" +# URL of EPEL GPG keys. +dnf_epel_8_gpg_key_url: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8" +dnf_epel_9_gpg_key_url: "https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-9" + +rocky_9_gpg_key: "https://dl.rockylinux.org/pub/rocky/RPM-GPG-KEY-Rocky-9" # Whether to install the epel-release package. This affects RedHat-based # systems only. Default value is 'false'. diff --git a/etc/kayobe/environments/ci-aio/controllers.yml b/etc/kayobe/environments/ci-aio/controllers.yml index 86ef1fad5..1ee9be126 100644 --- a/etc/kayobe/environments/ci-aio/controllers.yml +++ b/etc/kayobe/environments/ci-aio/controllers.yml @@ -4,4 +4,4 @@ # User with which to access the controllers via SSH during bootstrap, in order # to setup the Kayobe user account. Default is {{ os_distribution }}. -controller_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'cloud-user' }}" +controller_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'rocky' if os_release == '9' else 'cloud-user' }}" diff --git a/etc/kayobe/environments/ci-aio/stackhpc-ci.yml b/etc/kayobe/environments/ci-aio/stackhpc-ci.yml index 3e2943173..e26850ecb 100644 --- a/etc/kayobe/environments/ci-aio/stackhpc-ci.yml +++ b/etc/kayobe/environments/ci-aio/stackhpc-ci.yml @@ -5,6 +5,9 @@ # Docker namespace to use for Kolla images. Default is 'kolla'. kolla_docker_namespace: stackhpc-dev +# Do not enable central logging if using Rocky Linux 9. It does not have elasticsearch +kolla_enable_central_logging: "{{ os_release != '9' }}" + ############################################################################### # Network configuration. @@ -43,16 +46,28 @@ stackhpc_repo_ubuntu_cloud_archive_version: "{{ stackhpc_pulp_repo_ubuntu_cloud_ stackhpc_repo_ubuntu_focal_version: "{{ stackhpc_pulp_repo_ubuntu_focal_version }}" stackhpc_repo_ubuntu_focal_security_version: "{{ stackhpc_pulp_repo_ubuntu_focal_security_version }}" stackhpc_repo_docker_ce_ubuntu_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_version }}" +stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version }}" +stackhpc_repo_centos_stream_9_openstack_yoga_version: "{{ stackhpc_pulp_repo_centos_stream__openstack_yoga_version }}" +stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_centos_stream_9_opstools_version }}" +stackhpc_repo_centos_stream_9_storage_ceph_pacific_version: "{{ stackhpc_pulp_repo_centos_stream_9_storage_ceph_pacific_version }}" +stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_centos_stream_9_docker_version }}" +stackhpc_repo_rhel_9_treasuredata_4_version: "{{ stackhpc_pulp_repo_rhel_9_treasuredata_4_version }}" +stackhpc_repo_rhel_9_mariadb_10_6_version: "{{ stackhpc_pulp_repo_rhel_9_mariadb_10_6_version }}" +stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_rhel_9_influxdb_version }}" +stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_pulp_repo_rocky_9_1_crb_version }}" +stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_pulp_repo_rocky_9_1_highavailability_version }}" +stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_epel_9_version }}" ## Use derived vars from etc/kayobe/pulp.yml to switch between -## minor Rocky versions using stackhpc_pulp_repo_rocky_8_minor_version +## minor Rocky versions using stackhpc_pulp_repo_rocky_x_minor_version stackhpc_repo_rocky_baseos_version: "{{ stackhpc_pulp_repo_rocky_8_baseos_version }}" stackhpc_repo_rocky_appstream_version: "{{ stackhpc_pulp_repo_rocky_8_appstream_version }}" stackhpc_repo_rocky_extras_version: "{{ stackhpc_pulp_repo_rocky_8_extras_version }}" +stackhpc_repo_rocky_9_baseos_version: "{{ stackhpc_pulp_repo_rocky_9_baseos_version }}" +stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_pulp_repo_rocky_9_appstream_version }}" +stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" # Rocky-and-CI-specific Pulp urls -stackhpc_repo_rocky_baseos_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/8.{{ stackhpc_pulp_repo_rocky_8_minor_version }}/BaseOS/x86_64/os/{{ stackhpc_repo_rocky_baseos_version }}/" -stackhpc_repo_rocky_appstream_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/8.{{ stackhpc_pulp_repo_rocky_8_minor_version }}/AppStream/x86_64/os/{{ stackhpc_repo_rocky_appstream_version }}/" -stackhpc_repo_rocky_extras_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/8.{{ stackhpc_pulp_repo_rocky_8_minor_version }}/extras/x86_64/os/{{ stackhpc_repo_rocky_extras_version }}/" +stackhpc_include_os_minor_version_in_repo_url: true # Host and port of container registry. # Push built images to the development Pulp service registry. diff --git a/etc/kayobe/environments/ci-builder/seed.yml b/etc/kayobe/environments/ci-builder/seed.yml index 38f28ba88..0a7b393ad 100644 --- a/etc/kayobe/environments/ci-builder/seed.yml +++ b/etc/kayobe/environments/ci-builder/seed.yml @@ -4,4 +4,4 @@ # User with which to access the seed via SSH during bootstrap, in order # to setup the Kayobe user account. Default is {{ os_distribution }}. -seed_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'cloud-user' }}" +seed_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'rocky' if os_release == '9' else 'cloud-user' }}" diff --git a/etc/kayobe/environments/ci-builder/stackhpc-ci.yml b/etc/kayobe/environments/ci-builder/stackhpc-ci.yml index 34ace2a38..6c1108afe 100644 --- a/etc/kayobe/environments/ci-builder/stackhpc-ci.yml +++ b/etc/kayobe/environments/ci-builder/stackhpc-ci.yml @@ -65,6 +65,28 @@ stackhpc_repo_ubuntu_cloud_archive_version: "{{ stackhpc_pulp_repo_ubuntu_cloud_ stackhpc_repo_ubuntu_focal_version: "{{ stackhpc_pulp_repo_ubuntu_focal_version }}" stackhpc_repo_ubuntu_focal_security_version: "{{ stackhpc_pulp_repo_ubuntu_focal_security_version }}" stackhpc_repo_docker_ce_ubuntu_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_version }}" +stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version }}" +stackhpc_repo_centos_stream_9_openstack_yoga_version: "{{ stackhpc_pulp_repo_centos_stream_9_openstack_yoga_version }}" +stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_centos_stream_9_opstools_version }}" +stackhpc_repo_centos_stream_9_storage_ceph_pacific_version: "{{ stackhpc_pulp_repo_centos_stream_9_storage_ceph_pacific_version }}" +stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_centos_stream_9_docker_version }}" +stackhpc_repo_rhel_9_treasuredata_4_version: "{{ stackhpc_pulp_repo_rhel_9_treasuredata_4_version }}" +stackhpc_repo_rhel_9_mariadb_10_6_version: "{{ stackhpc_pulp_repo_rhel_9_mariadb_10_6_version }}" +stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_rhel_9_influxdb_version }}" +stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_pulp_repo_rocky_9_1_crb_version }}" +stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_pulp_repo_rocky_9_1_highavailability_version }}" +stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_epel_9_version }}" +## Use derived vars from etc/kayobe/pulp.yml to switch between +## minor Rocky versions using stackhpc_pulp_repo_rocky_x_minor_version +stackhpc_repo_rocky_baseos_version: "{{ stackhpc_pulp_repo_rocky_8_baseos_version }}" +stackhpc_repo_rocky_appstream_version: "{{ stackhpc_pulp_repo_rocky_8_appstream_version }}" +stackhpc_repo_rocky_extras_version: "{{ stackhpc_pulp_repo_rocky_8_extras_version }}" +stackhpc_repo_rocky_9_baseos_version: "{{ stackhpc_pulp_repo_rocky_9_baseos_version }}" +stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_pulp_repo_rocky_9_appstream_version }}" +stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" + +# Rocky-and-CI-specific Pulp urls +stackhpc_include_os_minor_version_in_repo_url: true # Host and port of container registry. # Push built images to the Ark registry. diff --git a/etc/kayobe/environments/ci-multinode/compute.yml b/etc/kayobe/environments/ci-multinode/compute.yml index 7e7701cf0..6845f5950 100644 --- a/etc/kayobe/environments/ci-multinode/compute.yml +++ b/etc/kayobe/environments/ci-multinode/compute.yml @@ -1,5 +1,5 @@ --- -compute_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'cloud-user' }}" +compute_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'rocky' if os_release == '9' else 'cloud-user' }}" # List of storage volume groups. See mrlesmithjr.manage-lvm role for # format. compute_lvm_groups: diff --git a/etc/kayobe/environments/ci-multinode/controllers.yml b/etc/kayobe/environments/ci-multinode/controllers.yml index 73c31c27f..770b7db38 100644 --- a/etc/kayobe/environments/ci-multinode/controllers.yml +++ b/etc/kayobe/environments/ci-multinode/controllers.yml @@ -1,5 +1,5 @@ --- -controller_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'cloud-user' }}" +controller_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'rocky' if os_release == '9' else 'cloud-user' }}" # List of storage volume groups. See mrlesmithjr.manage-lvm role for # format. controller_lvm_groups: diff --git a/etc/kayobe/environments/ci-multinode/seed.yml b/etc/kayobe/environments/ci-multinode/seed.yml index 1ae71f1a4..249d5e101 100644 --- a/etc/kayobe/environments/ci-multinode/seed.yml +++ b/etc/kayobe/environments/ci-multinode/seed.yml @@ -1,5 +1,5 @@ --- -seed_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'cloud-user' }}" +seed_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'rocky' if os_release == '9' else 'cloud-user' }}" seed_lvm_groups: - "{{ stackhpc_lvm_group_rootvg }}" diff --git a/etc/kayobe/environments/ci-multinode/stackhpc-ci.yml b/etc/kayobe/environments/ci-multinode/stackhpc-ci.yml index eda4831a3..a77e89cb1 100644 --- a/etc/kayobe/environments/ci-multinode/stackhpc-ci.yml +++ b/etc/kayobe/environments/ci-multinode/stackhpc-ci.yml @@ -35,7 +35,7 @@ stackhpc_repo_centos_stream_powertools_version: "{{ stackhpc_pulp_repo_centos_st stackhpc_repo_centos_stream_storage_ceph_pacific_version: "{{ stackhpc_pulp_repo_centos_stream_8_storage_ceph_pacific_version }}" stackhpc_repo_elasticsearch_logstash_kibana_7_x_version: "{{ stackhpc_pulp_repo_elasticsearch_logstash_kibana_7_x_version }}" stackhpc_repo_grafana_version: "{{ stackhpc_pulp_repo_grafana_version }}" -stackhpc_repo_mariadb_10_5_centos8_version: "{{ stackhpc_pulp_repo_mariadb_10_5_centos8_version }}" +stackhpc_repo_mariadb_10_6_centos8_version: "{{ stackhpc_pulp_repo_mariadb_10_6_centos8_version }}" stackhpc_repo_rabbitmq_erlang_version: "{{ stackhpc_pulp_repo_rabbitmq_erlang_version }}" stackhpc_repo_rabbitmq_server_version: "{{ stackhpc_pulp_repo_rabbitmq_server_version }}" stackhpc_repo_treasuredata_4_version: "{{ stackhpc_pulp_repo_treasuredata_4_version }}" @@ -43,6 +43,28 @@ stackhpc_repo_ubuntu_cloud_archive_version: "{{ stackhpc_pulp_repo_ubuntu_cloud_ stackhpc_repo_ubuntu_focal_version: "{{ stackhpc_pulp_repo_ubuntu_focal_version }}" stackhpc_repo_ubuntu_focal_security_version: "{{ stackhpc_pulp_repo_ubuntu_focal_security_version }}" stackhpc_repo_docker_ce_ubuntu_version: "{{ stackhpc_pulp_repo_docker_ce_ubuntu_version }}" +stackhpc_repo_centos_stream_9_nfv_openvswitch_version: "{{ stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version }}" +stackhpc_repo_centos_stream_9_openstack_yoga_version: "{{ stackhpc_pulp_repo_centos_stream_9_openstack_yoga_version }}" +stackhpc_repo_centos_stream_9_opstools_version: "{{ stackhpc_pulp_repo_centos_stream_9_opstools_version }}" +stackhpc_repo_centos_stream_9_storage_ceph_pacific_version: "{{ stackhpc_pulp_repo_centos_stream_9_storage_ceph_pacific_version }}" +stackhpc_repo_centos_stream_9_docker_version: "{{ stackhpc_pulp_repo_centos_stream_9_docker_version }}" +stackhpc_repo_rhel_9_treasuredata_4_version: "{{ stackhpc_pulp_repo_rhel_9_treasuredata_4_version }}" +stackhpc_repo_rhel_9_mariadb_10_6_version: "{{ stackhpc_pulp_repo_rhel_9_mariadb_10_6_version }}" +stackhpc_repo_rhel_9_influxdb_version: "{{ stackhpc_pulp_repo_rhel_9_influxdb_version }}" +stackhpc_repo_rocky_9_crb_version: "{{ stackhpc_pulp_repo_rocky_9_1_crb_version }}" +stackhpc_repo_rocky_9_highavailability_version: "{{ stackhpc_pulp_repo_rocky_9_1_highavailability_version }}" +stackhpc_repo_epel_9_version: "{{ stackhpc_pulp_repo_epel_9_version }}" +## Use derived vars from etc/kayobe/pulp.yml to switch between +## minor Rocky versions using stackhpc_pulp_repo_rocky_x_minor_version +stackhpc_repo_rocky_baseos_version: "{{ stackhpc_pulp_repo_rocky_8_baseos_version }}" +stackhpc_repo_rocky_appstream_version: "{{ stackhpc_pulp_repo_rocky_8_appstream_version }}" +stackhpc_repo_rocky_extras_version: "{{ stackhpc_pulp_repo_rocky_8_extras_version }}" +stackhpc_repo_rocky_9_baseos_version: "{{ stackhpc_pulp_repo_rocky_9_baseos_version }}" +stackhpc_repo_rocky_9_appstream_version: "{{ stackhpc_pulp_repo_rocky_9_appstream_version }}" +stackhpc_repo_rocky_9_extras_version: "{{ stackhpc_pulp_repo_rocky_9_extras_version }}" + +# Rocky-and-CI-specific Pulp urls +stackhpc_include_os_minor_version_in_repo_url: true # Host and port of container registry. # Push built images to the development Pulp service registry. diff --git a/etc/kayobe/environments/ci-multinode/storage.yml b/etc/kayobe/environments/ci-multinode/storage.yml index b152af472..4aab8a5ed 100644 --- a/etc/kayobe/environments/ci-multinode/storage.yml +++ b/etc/kayobe/environments/ci-multinode/storage.yml @@ -1,5 +1,5 @@ --- -storage_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'cloud-user' }}" +storage_bootstrap_user: "{{ os_distribution if os_distribution == 'ubuntu' else 'rocky' if os_release == '9' else 'cloud-user' }}" # List of storage volume groups. See mrlesmithjr.manage-lvm role for # format. storage_lvm_groups: diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index 04eb70bcf..34398d7f4 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -67,8 +67,8 @@ kolla_ansible_source_version: "{{ stackhpc_kolla_ansible_source_version }}" # Kolla configuration. # Kolla base container image distribution. Options are "centos", "debian", -# "ubuntu". Default is -# {{ 'centos' if os_distribution == 'rocky' else os_distribution }}. +# "rocky", "ubuntu". Default is +# {{ 'centos' if (os_distribution == 'rocky' and os_release == '8') else os_distribution }}. #kolla_base_distro: # Kolla container image type: binary or source. Default is 'source'. @@ -96,7 +96,7 @@ kolla_docker_registry_password: "{{ stackhpc_docker_registry_password }}" # Kolla OpenStack release version. This should be a Docker image tag. # Default is {{ openstack_release }}. -kolla_openstack_release: "{% if kolla_base_distro == 'centos' %}yoga-20230217T135826{% else %}yoga-20230220T181235{% endif %}" +kolla_openstack_release: "{% if kolla_base_distro == 'centos' %}yoga-20230217T135826{% elif kolla_base_distro == 'rocky' %}yoga-20230310T170929{% else %}yoga-20230220T181235{% endif %}" # Docker tag applied to built container images. Default is # {{ kolla_openstack_release }}. @@ -161,49 +161,133 @@ kolla_sources: stackhpc_centos_stream_repos: - url: "{{ stackhpc_repo_centos_stream_baseos_url }}" file: "CentOS-Stream-BaseOS.repo" + tag: "baseos" - url: "{{ stackhpc_repo_centos_stream_appstream_url }}" file: "CentOS-Stream-AppStream.repo" + tag: "appstream" - url: "{{ stackhpc_repo_centos_stream_extras_url }}" file: "CentOS-Stream-Extras.repo" + tag: "extras" # List of repositories for EPEL. stackhpc_epel_repos: - url: "{{ stackhpc_repo_epel_url }}" file: "epel.repo" + tag: "epel" - url: "{{ stackhpc_repo_epel_modular_url }}" file: "epel-modular.repo" + tag: "epel-modular" # List of additional CentOS Stream repositories. stackhpc_centos_additional_repos: - url: "{{ stackhpc_repo_centos_stream_advanced_virtualization_url }}" file: "CentOS-Advanced-Virtualization.repo" + tag: "centos-advanced-virtualization" - url: "{{ stackhpc_repo_centos_stream_nfv_extras_url }}" file: "CentOS-NFV-extras.repo" + tag: "centos-nfv-extras" - url: "{{ stackhpc_repo_centos_stream_nfv_openvswitch_url }}" file: "CentOS-NFV-OpenvSwitch.repo" + tag: "centos-nfv-openvswitch" - url: "{{ stackhpc_repo_centos_stream_openstack_yoga_url }}" file: "CentOS-OpenStack-yoga.repo" + tag: "centos-openstack-yoga" - url: "{{ stackhpc_repo_centos_stream_opstools_url }}" file: "CentOS-OpsTools.repo" + tag: "centos-opstools" - url: "{{ stackhpc_repo_centos_stream_powertools_url }}" file: "CentOS-Stream-PowerTools.repo" + tag: "powertools" - url: "{{ stackhpc_repo_centos_stream_storage_ceph_pacific_url }}" file: "CentOS-Ceph-Pacific.repo" + tag: "centos-ceph-pacific" # List of third-party repositories. stackhpc_third_party_repos: - url: "{{ stackhpc_repo_elasticsearch_logstash_kibana_7_x_url }}" file: "elasticsearch.repo" + tag: "elasticsearch-kibana-logstash-7.x" - url: "{{ stackhpc_repo_grafana_url }}" file: "grafana.repo" + tag: "grafana" - url: "{{ stackhpc_repo_mariadb_10_6_centos8_url }}" file: "mariadb.repo" + tag: "mariadb" - url: "{{ stackhpc_repo_rabbitmq_erlang_url }}" file: "rabbitmq_rabbitmq-erlang.repo" + tag: "rabbitmq_rabbitmq-erlang" - url: "{{ stackhpc_repo_rabbitmq_server_url }}" file: "rabbitmq_rabbitmq-server.repo" + tag: "rabbitmq_rabbitmq-server" - url: "{{ stackhpc_repo_treasuredata_4_url }}" file: "td.repo" + tag: "treasuredata" + +# List of repositories for Rocky Linux 9 +stackhpc_rocky_9_repos: + - url: "{{ stackhpc_repo_rocky_9_baseos_url }}" + file: "rocky.repo" + tag: "baseos" + - url: "{{ stackhpc_repo_rocky_9_appstream_url }}" + file: "rocky.repo" + tag: "appstream" + - url: "{{ stackhpc_repo_rocky_9_extras_url }}" + file: "rocky-extras.repo" + tag: "extras" + +# List of additional repositories for Rocky Linux 9 +stackhpc_rocky_9_additional_repos: + - url: "{{ stackhpc_repo_centos_stream_9_nfv_openvswitch_url }}" + file: "CentOS-NFV-OpenvSwitch.repo" + tag: "centos-nfv-openvswitch" + - url: "{{ stackhpc_repo_centos_stream_9_openstack_yoga_url }}" + file: "CentOS-OpenStack-yoga.repo" + tag: "centos-openstack-yoga" + - url: "{{ stackhpc_repo_centos_stream_9_opstools_url }}" + file: "CentOS-OpsTools.repo" + tag: "centos-opstools" + - url: "{{ stackhpc_repo_rocky_9_crb_url }}" + file: "rocky.repo" + tag: "crb" + - url: "{{ stackhpc_repo_rocky_9_highavailability_url }}" + file: "rocky-addons.repo" + tag: "highavailability" + +# List of third-party repositories for Rocky Linux 9 +stackhpc_rocky_9_third_party_repos: + - url: "{{ stackhpc_repo_grafana_url }}" + file: "grafana.repo" + tag: "grafana" + - url: "{{ stackhpc_repo_rhel_9_treasuredata_4_url }}" + file: "td.repo" + tag: "treasuredata" + - url: "{{ stackhpc_repo_rhel_9_mariadb_10_6_url }}" + file: "mariadb.repo" + tag: "mariadb" + - url: "{{ stackhpc_repo_rhel_9_influxdb_url }}" + file: "influxdb.repo" + tag: "influxdb" + - url: "{{ stackhpc_repo_centos_stream_9_storage_ceph_pacific_url }}" + file: "CentOS-Ceph-Pacific.repo" + tag: "centos-ceph-pacific" + - url: "{{ stackhpc_repo_rabbitmq_erlang_url }}" + file: "rabbitmq_rabbitmq-erlang.repo" + tag: "rabbitmq_rabbitmq-erlang" + - url: "{{ stackhpc_repo_rabbitmq_server_url }}" + file: "rabbitmq_rabbitmq-server.repo" + tag: "rabbitmq_rabbitmq-server" + +# List of EPEL 9 +stackhpc_epel_9_repos: + - url: "{{ stackhpc_repo_epel_9_url }}" + file: "epel.repo" + tag: "epel" + +base_centos_repo_overrides_post_yum_centos_list: "{{ stackhpc_centos_stream_repos + stackhpc_epel_repos + stackhpc_centos_additional_repos + stackhpc_third_party_repos }}" +base_centos_repo_overrides_post_yum_rocky_list: "{{ stackhpc_rocky_9_repos + stackhpc_epel_9_repos + stackhpc_rocky_9_additional_repos + stackhpc_rocky_9_third_party_repos }}" + +base_centos_repo_overrides_post_yum_list: "{{ base_centos_repo_overrides_post_yum_centos_list if kolla_base_distro == 'centos' else base_centos_repo_overrides_post_yum_rocky_list }}" +stackhpc_yum_repos: "{{ stackhpc_centos_stream_repos if kolla_base_distro == 'centos' else stackhpc_rocky_9_repos }}" # List of repositories for Ubuntu focal. stackhpc_ubuntu_focal_repos: @@ -216,23 +300,27 @@ stackhpc_ubuntu_focal_repos: # Dict mapping Jinja2 block names in kolla's Docker images to their contents. kolla_build_blocks: base_header: | - {% if kolla_base_distro == 'centos' %} + {% if kolla_base_distro in ['centos', 'rocky'] %} RUN \ - {% for repo in stackhpc_centos_stream_repos %} - sed -i -e 's/^\(mirrorlist *=.*\)/#\1/g' \ - -e 's/^[# ]*\(baseurl *=.*\)/#\1/g' \ - -e '/#baseurl.*/a baseurl={{ repo.url }}' /etc/yum.repos.d/{{ repo.file }}{% if not loop.last %} && \ + {% for repo in stackhpc_yum_repos %} + sed -i -e '/\[{{ repo.tag }}\]/,/^\[/ s/^\(mirrorlist *=.*\)/#\1/g' \ + -e '/\[{{ repo.tag }}\]/,/^\[/ s/^[# ]*\(baseurl *=.*\)/#\1/g' \ + -e '/\[{{ repo.tag }}\]/,/^\[/ s/^[# ]*\(metalink *=.*\)/#\1/g' \ + -e '/\[{{ repo.tag }}\]/,/^\[/ s|^\(name.*\)|\1\nbaseurl={{ repo.url }}|' /etc/yum.repos.d/{{ repo.file }}{% if not loop.last %} && \ {% endif %} {% endfor %} {% endif %} base_centos_repo_overrides_post_yum: | {# fixme #} + {% if kolla_base_distro in ['centos', 'rocky'] %} && \ - {% for repo in stackhpc_centos_stream_repos + stackhpc_epel_repos + stackhpc_centos_additional_repos + stackhpc_third_party_repos %} - sed -i -e 's/^\(mirrorlist *=.*\)/#\1/g' \ - -e 's/^[# ]*\(baseurl *=.*\)/#\1/g' \ - -e '/#baseurl.*/a baseurl={{ repo.url }}' /etc/yum.repos.d/{{ repo.file }}{% if not loop.last %} &&{% endif %} \ + {% for repo in base_centos_repo_overrides_post_yum_list %} + sed -i -e '/\[{{ repo.tag }}\]/,/^\[/ s/^\(mirrorlist *=.*\)/#\1/g' \ + -e '/\[{{ repo.tag }}\]/,/^\[/ s/^[# ]*\(baseurl *=.*\)/#\1/g' \ + -e '/\[{{ repo.tag }}\]/,/^\[/ s/^[# ]*\(metalink *=.*\)/#\1/g' \ + -e '/\[{{ repo.tag }}\]/,/^\[/ s|^\(name.*\)|\1\nbaseurl={{ repo.url }}|' /etc/yum.repos.d/{{ repo.file }}{% if not loop.last %} &&{% endif %} \ {% endfor %} + {% endif %} # NOTE: Not currently syncing Ubuntu packages, since the on_demand mirror in # Ark does not work if the upstream mirror pulls packages (which it does # sometimes). diff --git a/etc/kayobe/kolla/globals.yml b/etc/kayobe/kolla/globals.yml index 5603abeb4..b09669099 100644 --- a/etc/kayobe/kolla/globals.yml +++ b/etc/kayobe/kolla/globals.yml @@ -10,6 +10,8 @@ enable_docker_repo: {% raw %}"{{ 'overcloud' not in group_names or ansible_facts {% if kolla_base_distro == 'centos' %} bifrost_tag: yoga-20230217T160618 neutron_tag: yoga-20230309T123152 +{% elif kolla_base_distro == 'rocky' %} +bifrost_tag: yoga-20230310T194732 {% else %} bifrost_tag: yoga-20230220T184947 neutron_tag: yoga-20230309T123143 diff --git a/etc/kayobe/pulp-repo-versions.yml b/etc/kayobe/pulp-repo-versions.yml index 160ef31f1..7facee671 100644 --- a/etc/kayobe/pulp-repo-versions.yml +++ b/etc/kayobe/pulp-repo-versions.yml @@ -10,19 +10,25 @@ stackhpc_pulp_repo_centos_stream_8_openstack_yoga_version: 20230206T150339 stackhpc_pulp_repo_centos_stream_8_opstools_version: 20220617T100837 stackhpc_pulp_repo_centos_stream_8_powertools_version: 20230201T025809 stackhpc_pulp_repo_centos_stream_8_storage_ceph_pacific_version: 20230201T025809 +stackhpc_pulp_repo_centos_stream_9_docker_version: 20230228T044432 +stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version: 20230302T031902 +stackhpc_pulp_repo_centos_stream_9_openstack_yoga_version: 20230310T163106 +stackhpc_pulp_repo_centos_stream_9_opstools_version: 20230301T034123 +stackhpc_pulp_repo_centos_stream_9_storage_ceph_pacific_version: 20230308T155704 stackhpc_pulp_repo_docker_ce_ubuntu_version: 20220708T132615 stackhpc_pulp_repo_docker_version: 20230203T025251 stackhpc_pulp_repo_elasticsearch_logstash_kibana_7_x_version: 20230203T025251 +stackhpc_pulp_repo_epel_9_version: 20230302T031902 stackhpc_pulp_repo_epel_modular_version: 20220913T043117 stackhpc_pulp_repo_epel_version: 20230206T150339 stackhpc_pulp_repo_grafana_version: 20230207T024123 stackhpc_pulp_repo_mariadb_10_6_centos8_version: 20230206T150339 +stackhpc_pulp_repo_mlnx_ofed_5_7_1_0_2_0_rhel8_6_version: 20220920T151419 stackhpc_pulp_repo_rabbitmq_erlang_version: 20221229T025716 stackhpc_pulp_repo_rabbitmq_server_version: 20230201T025809 -stackhpc_pulp_repo_treasuredata_4_version: 20221105T035018 -stackhpc_pulp_repo_ubuntu_cloud_archive_version: 20220804T040153 -stackhpc_pulp_repo_ubuntu_focal_security_version: 20220804T040153 -stackhpc_pulp_repo_ubuntu_focal_version: 20220804T040153 +stackhpc_pulp_repo_rhel_9_influxdb_version: 20230228T044432 +stackhpc_pulp_repo_rhel_9_mariadb_10_6_version: 20230228T044432 +stackhpc_pulp_repo_rhel_9_treasuredata_4_version: 20230228T044432 stackhpc_pulp_repo_rocky_8_6_appstream_version: 20220918T035853 stackhpc_pulp_repo_rocky_8_6_baseos_version: 20220914T080246 stackhpc_pulp_repo_rocky_8_6_extras_version: 20220904T041706 @@ -33,4 +39,12 @@ stackhpc_pulp_repo_rocky_8_7_baseos_version: 20221202T032715 stackhpc_pulp_repo_rocky_8_7_extras_version: 20221201T192704 stackhpc_pulp_repo_rocky_8_7_nfv_version: 20221202T032715 stackhpc_pulp_repo_rocky_8_7_powertools_version: 20221202T032715 -stackhpc_pulp_repo_mlnx_ofed_5_7_1_0_2_0_rhel8_6_version: 20220920T151419 +stackhpc_pulp_repo_rocky_9_1_appstream_version: 20230228T044432 +stackhpc_pulp_repo_rocky_9_1_baseos_version: 20230228T044432 +stackhpc_pulp_repo_rocky_9_1_crb_version: 20230228T044432 +stackhpc_pulp_repo_rocky_9_1_extras_version: 20230228T044432 +stackhpc_pulp_repo_rocky_9_1_highavailability_version: 20230228T044432 +stackhpc_pulp_repo_treasuredata_4_version: 20221105T035018 +stackhpc_pulp_repo_ubuntu_cloud_archive_version: 20220804T040153 +stackhpc_pulp_repo_ubuntu_focal_security_version: 20220804T040153 +stackhpc_pulp_repo_ubuntu_focal_version: 20220804T040153 diff --git a/etc/kayobe/pulp.yml b/etc/kayobe/pulp.yml index a7ce8286a..e4bc0b937 100644 --- a/etc/kayobe/pulp.yml +++ b/etc/kayobe/pulp.yml @@ -199,7 +199,7 @@ stackhpc_pulp_distribution_deb_production: stackhpc_pulp_sync_centos_stream8: "{{ os_distribution == 'centos' }}" # Whether to sync Rocky Linux 8 packages. -stackhpc_pulp_sync_rocky_8: "{{ os_distribution == 'rocky' }}" +stackhpc_pulp_sync_rocky_8: "{{ os_distribution == 'rocky' and os_release == '8' }}" # Rocky 8 minor version number. Supported values: 6, 7 stackhpc_pulp_repo_rocky_8_minor_version: 7 # Rocky 8 Snapshot versions. The defaults use the appropriate version from @@ -210,9 +210,24 @@ stackhpc_pulp_repo_rocky_8_extras_version: "{{ lookup('vars', 'stackhpc_pulp_rep stackhpc_pulp_repo_rocky_8_nfv_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_8_%s_nfv_version' % stackhpc_pulp_repo_rocky_8_minor_version) }}" stackhpc_pulp_repo_rocky_8_powertools_version: "{{ lookup('vars', 'stackhpc_pulp_repo_rocky_8_%s_powertools_version' % stackhpc_pulp_repo_rocky_8_minor_version) }}" -# Whether to sync packages common to all RHEL derivatives. +# Whether to sync packages common to all RHEL 8 derivatives. stackhpc_pulp_sync_el_8: "{{ stackhpc_pulp_sync_rocky_8 or stackhpc_pulp_sync_centos_stream8 }}" +# Whether to sync Rocky Linux 9 packages. +stackhpc_pulp_sync_rocky_9: "{{ os_distribution == 'rocky' and os_release == '9' }}" +# Rocky 9 minor version number. Supported values: 1 +stackhpc_pulp_repo_rocky_9_minor_version: 1 +# 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) }}" + +# Whether to sync packages common to all RHEL 9 derivatives. +stackhpc_pulp_sync_el_9: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + stackhpc_pulp_repository_rpm_repos: # Base CentOS 8 Stream repositories - name: CentOS Stream 8 - AppStream @@ -301,7 +316,7 @@ stackhpc_pulp_repository_rpm_repos: state: present required: "{{ stackhpc_pulp_sync_rocky_8 | bool }}" - # EPEL repositories + # EPEL 8 repositories - name: Extra Packages for Enterprise Linux 8 - x86_64 url: "{{ stackhpc_release_pulp_content_url }}/epel/8/Everything/x86_64/{{ stackhpc_pulp_repo_epel_version }}" remote_username: "{{ stackhpc_release_pulp_username }}" @@ -425,7 +440,7 @@ stackhpc_pulp_repository_rpm_repos: policy: on_demand sync_policy: mirror_complete state: present - required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and ( stackhpc_pulp_sync_el_8 | bool or stackhpc_pulp_sync_el_9 | bool ) }}" - name: RabbitMQ - Erlang url: "{{ stackhpc_release_pulp_content_url }}/rabbitmq/erlang/el/8/x86_64/{{ stackhpc_pulp_repo_rabbitmq_erlang_version }}" @@ -436,7 +451,7 @@ stackhpc_pulp_repository_rpm_repos: policy: on_demand sync_policy: mirror_complete state: present - required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and ( stackhpc_pulp_sync_el_8 | bool or stackhpc_pulp_sync_el_9 | bool ) }}" - name: RabbitMQ - Server url: "{{ stackhpc_release_pulp_content_url }}/rabbitmq/rabbitmq-server/el/8/x86_64/{{ stackhpc_pulp_repo_rabbitmq_server_version }}" @@ -447,7 +462,7 @@ stackhpc_pulp_repository_rpm_repos: policy: on_demand sync_policy: mirror_complete state: present - required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and ( stackhpc_pulp_sync_el_8 | bool or stackhpc_pulp_sync_el_9 | bool ) }}" - name: TreasureData 4 url: "{{ stackhpc_release_pulp_content_url }}/treasuredata/4/redhat/8/x86_64/{{ stackhpc_pulp_repo_treasuredata_4_version }}" @@ -460,6 +475,140 @@ stackhpc_pulp_repository_rpm_repos: state: present required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + # Base Rocky 9 repositories + - name: Rocky Linux 9 - AppStream + url: "{{ stackhpc_release_pulp_content_url }}/rocky/9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/AppStream/x86_64/os/{{ stackhpc_pulp_repo_rocky_9_appstream_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: Rocky Linux 9 - BaseOS + url: "{{ stackhpc_release_pulp_content_url }}/rocky/9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/BaseOS/x86_64/os/{{ stackhpc_pulp_repo_rocky_9_baseos_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: Rocky Linux 9 - Extras + url: "{{ stackhpc_release_pulp_content_url }}/rocky/9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/extras/x86_64/os/{{ stackhpc_pulp_repo_rocky_9_extras_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: Rocky Linux 9 - CRB + url: "{{ stackhpc_release_pulp_content_url }}/rocky/9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/CRB/x86_64/os/{{ stackhpc_pulp_repo_rocky_9_crb_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: Rocky Linux 9 - HighAvailability + url: "{{ stackhpc_release_pulp_content_url }}/rocky/9.{{ stackhpc_pulp_repo_rocky_9_minor_version }}/highavailability/x86_64/os/{{ stackhpc_pulp_repo_rocky_9_highavailability_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + + # Additional CentOS Stream 9 repositories + - name: CentOS Stream 9 - NFV OpenvSwitch + url: "{{ stackhpc_release_pulp_content_url }}/centos/9-stream/nfv/x86_64/openvswitch-2/{{ stackhpc_pulp_repo_centos_stream_9_nfv_openvswitch_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: CentOS Stream 9 - OpenStack Yoga + url: "{{ stackhpc_release_pulp_content_url }}/centos/9-stream/cloud/x86_64/openstack-yoga/{{ stackhpc_pulp_repo_centos_stream_9_openstack_yoga_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + client_cert: "" + client_key: "" + policy: on_demand + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: CentOS 9 - OpsTools - collectd + url: "{{ stackhpc_release_pulp_content_url }}/centos/9-stream/opstools/x86_64/collectd-5/{{ stackhpc_pulp_repo_centos_stream_9_opstools_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: CentOS Stream 9 - Ceph Pacific + url: "{{ stackhpc_release_pulp_content_url }}/centos/9-stream/storage/x86_64/ceph-pacific/{{ stackhpc_pulp_repo_centos_stream_9_storage_ceph_pacific_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: Extra Packages for Enterprise Linux 9 - x86_64 + url: "{{ stackhpc_release_pulp_content_url }}/epel/9/Everything/x86_64/{{ stackhpc_pulp_repo_epel_9_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_content_only + state: present + required: "{{ stackhpc_pulp_sync_el_9 | bool }}" + - name: Docker CE for CentOS 9 + url: "{{ stackhpc_release_pulp_content_url }}/docker-ce/centos/9/x86_64/stable/{{ stackhpc_pulp_repo_centos_stream_9_docker_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_el_9 }}" + + # Additional RHEL 9 repositories + - name: TreasureData 4 for RHEL 9 + url: "{{ stackhpc_release_pulp_content_url }}/treasuredata/4/redhat/9/x86_64/{{ stackhpc_pulp_repo_rhel_9_treasuredata_4_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: MariaDB 10.6 for RHEL 9 + url: "{{ stackhpc_release_pulp_content_url }}/mariadb-10.6/yum/rhel/9/x86_64/{{ stackhpc_pulp_repo_rhel_9_mariadb_10_6_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: InfluxDB for RHEL 9 + url: "{{ stackhpc_release_pulp_content_url }}/influxdb/rhel/9/x86_64/stable/{{ stackhpc_pulp_repo_rhel_9_influxdb_version }}" + remote_username: "{{ stackhpc_release_pulp_username }}" + remote_password: "{{ stackhpc_release_pulp_password }}" + policy: on_demand + proxy_url: "{{ pulp_proxy_url }}" + sync_policy: mirror_complete + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + + # Publication format is a subset of distribution. stackhpc_pulp_publication_rpm_development: "{{ stackhpc_pulp_distribution_rpm_development }}" @@ -512,7 +661,7 @@ stackhpc_pulp_distribution_rpm_development: state: present required: "{{ stackhpc_pulp_sync_rocky_8 | bool }}" - # EPEL repositories + # EPEL 8 repositories - name: "extra-packages-for-enterprise-linux-8-x86_64-development" repository: Extra Packages for Enterprise Linux 8 - x86_64 base_path: "epel/8/Everything/x86_64/development" @@ -576,18 +725,95 @@ stackhpc_pulp_distribution_rpm_development: base_path: "rabbitmq/erlang/el/8/x86_64/development" repository: RabbitMQ - Erlang state: present - required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and ( stackhpc_pulp_sync_el_8 | bool or stackhpc_pulp_sync_el_9 | bool ) }}" - name: "rabbitmq-server-development" base_path: "rabbitmq/rabbitmq-server/el/8/x86_64/development" repository: RabbitMQ - Server state: present - required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and ( stackhpc_pulp_sync_el_8 | bool or stackhpc_pulp_sync_el_9 | bool ) }}" - name: "treasuredata-4-development" base_path: "treasuredata/4/redhat/8/x86_64/development" repository: TreasureData 4 state: present required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + # Base Rocky Linux 9 repositories + - name: "rocky-9-appstream-development" + repository: Rocky Linux 9 - AppStream + base_path: "rocky/9/AppStream/x86_64/os/development" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: "rocky-9-baseos-development" + repository: Rocky Linux 9 - BaseOS + base_path: "rocky/9/BaseOS/x86_64/os/development" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: "rocky-9-extras-development" + repository: Rocky Linux 9 - Extras + base_path: "rocky/9/extras/x86_64/os/development" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: "rocky-9-crb-development" + repository: Rocky Linux 9 - CRB + base_path: "rocky/9/crb/x86_64/os/development" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: "rocky-9-highavailability-development" + repository: Rocky Linux 9 - HighAvailability + base_path: "rocky/9/highavailability/x86_64/os/development" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + + # Additional CentOS Stream 9 repositories + - name: "centos-stream-9-nfv-openvswitch-development" + base_path: "centos/9-stream/nfv/x86_64/openvswitch-2/development" + repository: CentOS Stream 9 - NFV OpenvSwitch + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "centos-stream-9-openstack-yoga-development" + base_path: "centos/9-stream/cloud/x86_64/openstack-yoga/development" + repository: CentOS Stream 9 - OpenStack Yoga + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "centos-9-opstools-collectd-development" + base_path: "centos/9-stream/opstools/x86_64/collectd-5/development" + repository: CentOS 9 - OpsTools - collectd + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "centos-stream-9-ceph-pacific-development" + base_path: "centos/9-stream/storage/x86_64/ceph-pacific/development" + repository: CentOS Stream 9 - Ceph Pacific + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "extra-packages-for-enterprise-linux-9-x86_64-development" + repository: Extra Packages for Enterprise Linux 9 - x86_64 + base_path: "epel/9/Everything/x86_64/development" + state: present + required: "{{ stackhpc_pulp_sync_el_9 | bool }}" + - name: "docker-ce-for-centos-9-development" + repository: Docker CE for CentOS 9 + base_path: "docker-ce/centos/9/x86_64/stable/development" + state: present + required: "{{ stackhpc_pulp_sync_el_9 | bool }}" + + # Additional RHEL 9 repositories + - name: "rhel-9-treasuredata-4-development" + base_path: "treasuredata/4/redhat/9/x86_64/development" + repository: TreasureData 4 for RHEl 9 + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "rhel-9-mariadb-10-6-development" + base_path: "mariadb-10.6/yum/rhel/9/x86_64/development" + repository: MariaDB 10.6 for RHEL 9 + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "rhel-9-influxdb-development" + base_path: "influxdb/rhel/9/x86_64/stable/development" + repository: InfluxDB for RHEL 9 + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + + # Development gets promoted to production. stackhpc_pulp_distribution_rpm_production: # Base CentOS 8 Stream repositories @@ -698,18 +924,94 @@ stackhpc_pulp_distribution_rpm_production: base_path: "rabbitmq/erlang/el/8/x86_64/production" repository: RabbitMQ - Erlang state: present - required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and ( stackhpc_pulp_sync_el_8 | bool or stackhpc_pulp_sync_el_9 | bool ) }}" - name: "rabbitmq-server-production" base_path: "rabbitmq/rabbitmq-server/el/8/x86_64/production" repository: RabbitMQ - Server state: present - required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and ( stackhpc_pulp_sync_el_8 | bool or stackhpc_pulp_sync_el_9 | bool ) }}" - name: "treasuredata-4-production" base_path: "treasuredata/4/redhat/8/x86_64/production" repository: TreasureData 4 state: present required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_8 | bool }}" + # Base Rocky Linux 9 repositories + - name: "rocky-9-appstream-production" + repository: Rocky Linux 9 - AppStream + base_path: "rocky/9/AppStream/x86_64/os/production" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: "rocky-9-baseos-production" + repository: Rocky Linux 9 - BaseOS + base_path: "rocky/9/BaseOS/x86_64/os/production" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: "rocky-9-extras-production" + repository: Rocky Linux 9 - Extras + base_path: "rocky/9/extras/x86_64/os/production" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: "rocky-9-crb-production" + repository: Rocky Linux 9 - CRB + base_path: "rocky/9/crb/x86_64/os/production" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + - name: "rocky-9-highavailability-production" + repository: Rocky Linux 9 - HighAvailability + base_path: "rocky/9/highavailability/x86_64/os/production" + state: present + required: "{{ stackhpc_pulp_sync_rocky_9 | bool }}" + + # Additional CentOS Stream 9 repositories + - name: "centos-stream-9-nfv-openvswitch-production" + base_path: "centos/9-stream/nfv/x86_64/openvswitch-2/production" + repository: CentOS Stream 9 - NFV OpenvSwitch + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "centos-stream-9-openstack-yoga-production" + base_path: "centos/9-stream/cloud/x86_64/openstack-yoga/production" + repository: CentOS Stream 9 - OpenStack Yoga + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "centos-9-opstools-collectd-production" + base_path: "centos/9-stream/opstools/x86_64/collectd-5/production" + repository: CentOS 9 - OpsTools - collectd + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "centos-stream-9-ceph-pacific-production" + base_path: "centos/9-stream/storage/x86_64/ceph-pacific/production" + repository: CentOS Stream 9 - Ceph Pacific + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "extra-packages-for-enterprise-linux-9-x86_64-production" + repository: Extra Packages for Enterprise Linux 9 - x86_64 + base_path: "epel/9/Everything/x86_64/production" + state: present + required: "{{ stackhpc_pulp_sync_el_9 | bool }}" + - name: "docker-ce-for-centos-9-production" + repository: Docker CE for CentOS 9 + base_path: "docker-ce/centos/9/x86_64/stable/production" + state: present + required: "{{ stackhpc_pulp_sync_el_9 | bool }}" + + # Additional RHEL 9 repositories + - name: "rhel-9-treasuredata-4-production" + base_path: "treasuredata/4/redhat/9/x86_64/production" + repository: TreasureData 4 for RHEl 9 + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "rhel-9-mariadb-10-6-production" + base_path: "mariadb-10.6/yum/rhel/9/x86_64/production" + repository: MariaDB 10.6 for RHEL 9 + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + - name: "rhel-9-influxdb-production" + base_path: "influxdb/rhel/9/x86_64/stable/production" + repository: InfluxDB for RHEL 9 + state: present + required: "{{ stackhpc_pulp_sync_for_local_container_build | bool and stackhpc_pulp_sync_el_9 | bool }}" + ############################################################################### # Containers @@ -820,6 +1122,16 @@ stackhpc_pulp_images_kolla: - skydive-agent - skydive-analyzer +# List of images for each base distribution which should not/cannot be built. +stackhpc_kolla_unbuildable_images: + ubuntu: [] + centos: [] + rocky: + - elasticsearch + - elasticsearch-curator + - iscsid + - kibana + # Whitespace-separated list of regular expressions matching Kolla image names. # Usage is similar to kolla-build CLI arguments. # Example: @@ -843,9 +1155,11 @@ stackhpc_pulp_repository_container_repos_kolla_common: stackhpc_pulp_repository_container_repos_kolla: >- {%- set repos = [] -%} {%- for image in stackhpc_pulp_images_kolla_filtered -%} + {%- if image not in stackhpc_kolla_unbuildable_images[kolla_base_distro]-%} {%- set image_repo = kolla_docker_namespace ~ "/" ~ kolla_base_distro ~ "-" ~ kolla_install_type ~ "-" ~ image -%} {%- set repo = {"name": image_repo} -%} {%- set _ = repos.append(stackhpc_pulp_repository_container_repos_kolla_common | combine(repo)) -%} + {%- endif -%} {%- endfor -%} {{ repos }} @@ -858,9 +1172,11 @@ stackhpc_pulp_distribution_container_kolla_common: stackhpc_pulp_distribution_container_kolla: >- {%- set distributions = [] -%} {%- for image in stackhpc_pulp_images_kolla_filtered -%} + {%- if image not in stackhpc_kolla_unbuildable_images[kolla_base_distro]-%} {%- set image_repo = kolla_docker_namespace ~ "/" ~ kolla_base_distro ~ "-" ~ kolla_install_type ~ "-" ~ image -%} {%- set distribution = {"name": image_repo, "repository": image_repo, "base_path": image_repo} -%} {%- set _ = distributions.append(stackhpc_pulp_distribution_container_kolla_common | combine(distribution)) -%} + {%- endif -%} {%- endfor -%} {{ distributions }} diff --git a/etc/kayobe/seed-vm.yml b/etc/kayobe/seed-vm.yml index 3856d51f2..572518da4 100644 --- a/etc/kayobe/seed-vm.yml +++ b/etc/kayobe/seed-vm.yml @@ -27,7 +27,9 @@ # "https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img" # when os_distribution is "ubuntu", # https://dl.rockylinux.org/pub/rocky/8/images/Rocky-8-GenericCloud.latest.x86_64.qcow2 -# when os_distribution is "rocky", +# when os_distribution is "rocky" and os_release is "8", +# https://dl.rockylinux.org/pub/rocky/9/images/Rocky-9-GenericCloud.latest.x86_64.qcow2 +# when os_distribution is "rocky" and os_release is "9", # or # "https://cloud.centos.org/centos/8-stream/x86_64/images/CentOS-Stream-GenericCloud-8-20220913.0.x86_64.qcow2" # otherwise. diff --git a/etc/kayobe/stackhpc.yml b/etc/kayobe/stackhpc.yml index 613810928..d85b31f99 100644 --- a/etc/kayobe/stackhpc.yml +++ b/etc/kayobe/stackhpc.yml @@ -5,6 +5,12 @@ stackhpc_repo_mirror_url: "{{ pulp_url }}" # Distribution name. Either 'development' or 'production'. stackhpc_repo_distribution: "development" +# Whether or not to include the os minor version in the url for rocky yum repositories +stackhpc_include_os_minor_version_in_repo_url: false + +stackhpc_rocky_8_url_version: "{{ '8.' + stackhpc_pulp_repo_rocky_8_minor_version | string if stackhpc_include_os_minor_version_in_repo_url | bool else '8' }}" +stackhpc_rocky_9_url_version: "{{ '9.' + stackhpc_pulp_repo_rocky_9_minor_version | string if stackhpc_include_os_minor_version_in_repo_url | bool else '9' }}" + ############################################################################### # Debs @@ -91,11 +97,11 @@ stackhpc_repo_grafana_version: "{{ stackhpc_repo_distribution }}" stackhpc_repo_mariadb_10_6_centos8_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/mariadb-10.6/yum/centos8-amd64/{{ stackhpc_repo_mariadb_10_6_centos8_version }}" stackhpc_repo_mariadb_10_6_centos8_version: "{{ stackhpc_repo_distribution }}" -# RabbitMQ - Erlang +# RabbitMQ - Erlang for Redhat family, version 8/9 agnostic stackhpc_repo_rabbitmq_erlang_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rabbitmq/erlang/el/8/x86_64/{{ stackhpc_repo_rabbitmq_erlang_version }}" stackhpc_repo_rabbitmq_erlang_version: "{{ stackhpc_repo_distribution }}" -# RabbitMQ - Server +# RabbitMQ for Redhat family, version 8/9 agnostic stackhpc_repo_rabbitmq_server_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rabbitmq/rabbitmq-server/el/8/x86_64/{{ stackhpc_repo_rabbitmq_server_version }}" stackhpc_repo_rabbitmq_server_version: "{{ stackhpc_repo_distribution }}" @@ -104,17 +110,73 @@ stackhpc_repo_treasuredata_4_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/t stackhpc_repo_treasuredata_4_version: "{{ stackhpc_repo_distribution }}" # Rocky 8 BaseOS -stackhpc_repo_rocky_baseos_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/8/BaseOS/x86_64/os/{{ stackhpc_repo_rocky_baseos_version }}/" +stackhpc_repo_rocky_baseos_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_8_url_version }}/BaseOS/x86_64/os/{{ stackhpc_repo_rocky_baseos_version }}/" stackhpc_repo_rocky_baseos_version: "{{ stackhpc_repo_distribution }}" # Rocky 8 AppStream -stackhpc_repo_rocky_appstream_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/8/AppStream/x86_64/os/{{ stackhpc_repo_rocky_appstream_version }}/" +stackhpc_repo_rocky_appstream_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_8_url_version }}/AppStream/x86_64/os/{{ stackhpc_repo_rocky_appstream_version }}/" stackhpc_repo_rocky_appstream_version: "{{ stackhpc_repo_distribution }}" # Rocky 8 extras -stackhpc_repo_rocky_extras_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/8/extras/x86_64/os/{{ stackhpc_repo_rocky_extras_version }}/" +stackhpc_repo_rocky_extras_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/rocky/{{ stackhpc_rocky_8_url_version }}/extras/x86_64/os/{{ stackhpc_repo_rocky_extras_version }}/" stackhpc_repo_rocky_extras_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_version: "{{ stackhpc_repo_distribution }}" + +# CentOS Stream 9 - OpenStack Yoga +stackhpc_repo_centos_stream_9_openstack_yoga_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/cloud/x86_64/openstack-yoga/{{ stackhpc_repo_centos_stream_9_openstack_yoga_version }}" +stackhpc_repo_centos_stream_9_openstack_yoga_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_version: "{{ stackhpc_repo_distribution }}" + +# CentOS Stream 9 - Ceph Pacific +stackhpc_repo_centos_stream_9_storage_ceph_pacific_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/centos/9-stream/storage/x86_64/ceph-pacific/{{ stackhpc_repo_centos_stream_9_storage_ceph_pacific_version }}" +stackhpc_repo_centos_stream_9_storage_ceph_pacific_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_version: "{{ stackhpc_repo_distribution }}" + +# TreasureData 4 for RHEL 9 +stackhpc_repo_rhel_9_treasuredata_4_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/treasuredata/4/redhat/9/x86_64/{{ stackhpc_repo_rhel_9_treasuredata_4_version }}" +stackhpc_repo_rhel_9_treasuredata_4_version: "{{ stackhpc_repo_distribution }}" + +# MariaDB 10.6 for RHEL 9 +stackhpc_repo_rhel_9_mariadb_10_6_url: "{{ stackhpc_repo_mirror_url }}/pulp/content/mariadb-10.6/yum/rhel/9/x86_64/{{ stackhpc_repo_rhel_9_mariadb_10_6_version }}" +stackhpc_repo_rhel_9_mariadb_10_6_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_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_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_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_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_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_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_version: "{{ stackhpc_repo_distribution }}" + ############################################################################### # Sources diff --git a/releasenotes/notes/add-rocky-9-packages-43074cb3367171a5.yaml b/releasenotes/notes/add-rocky-9-packages-43074cb3367171a5.yaml new file mode 100644 index 000000000..a202b9ecd --- /dev/null +++ b/releasenotes/notes/add-rocky-9-packages-43074cb3367171a5.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + Add the package repository configuration required for Rocky Linux 9 + support. + + Add CI for Rocky 9 hosts.