Implement AIO testing for Rocky 10#2291
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces support for building Epoxy container images on Rocky Linux 10. Key changes include the addition of Rocky 10 repository configurations, image tags, and build customizations, as well as the transition from Redis to Valkey for this distribution. Review feedback highlights the need to include python3-ethtool in Rocky 10 customizations for consistency, correct a variable reference in the DOCA repository definition, and improve the readability of complex inline Jinja conditionals.
| rocky-10: | ||
| base_centos_yum_repos_to_disable_remove: |
There was a problem hiding this comment.
The rocky-10 section appears to be missing python3-ethtool for the neutron_server and nova_compute images. Since this package was removed from the common customizations and added to rocky-9 and ubuntu-noble, it should be included here as well to maintain consistency across distributions.
rocky-10:
neutron_server_packages_append:
- python3-ethtool
nova_compute_packages_append:
- python3-ethtool
base_centos_yum_repos_to_disable_remove:| username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" | ||
| password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" | ||
| # doca-modules: | ||
| # baseurl: "{{ stackhpc_repo_rhel9_doca_modules_url }}" |
There was a problem hiding this comment.
| file: "epel.repo" | ||
| tag: "epel" | ||
|
|
||
| base_centos_repo_overrides_post_yum_list: "{{ stackhpc_rocky_9_repos + stackhpc_epel_9_repos + stackhpc_rocky_9_additional_repos + stackhpc_rocky_9_third_party_repos if kolla_base_distro_and_version == 'rocky-9' else stackhpc_rocky_10_repos + stackhpc_epel_10_repos + stackhpc_rocky_10_additional_repos + stackhpc_rocky_10_third_party_repos if kolla_base_distro_and_version == 'rocky-10' else [] }}" |
There was a problem hiding this comment.
This complex inline conditional is difficult to read and maintain. Using a multi-line Jinja block or a dictionary lookup would significantly improve readability.
base_centos_repo_overrides_post_yum_list: >-
{%- if kolla_base_distro_and_version == 'rocky-9' -%}
{{ stackhpc_rocky_9_repos + stackhpc_epel_9_repos + stackhpc_rocky_9_additional_repos + stackhpc_rocky_9_third_party_repos }}
{%- elif kolla_base_distro_and_version == 'rocky-10' -%}
{{ stackhpc_rocky_10_repos + stackhpc_epel_10_repos + stackhpc_rocky_10_additional_repos + stackhpc_rocky_10_third_party_repos }}
{%- else -%}
[]
{%- endif -%}|
|
||
| base_centos_repo_overrides_post_yum_list: "{{ stackhpc_rocky_9_repos + stackhpc_epel_9_repos + stackhpc_rocky_9_additional_repos + stackhpc_rocky_9_third_party_repos if kolla_base_distro_and_version == 'rocky-9' else stackhpc_rocky_10_repos + stackhpc_epel_10_repos + stackhpc_rocky_10_additional_repos + stackhpc_rocky_10_third_party_repos if kolla_base_distro_and_version == 'rocky-10' else [] }}" | ||
|
|
||
| stackhpc_yum_repos: "{{ stackhpc_rocky_9_repos if kolla_base_distro_and_version == 'rocky-9' else stackhpc_rocky_10_repos if kolla_base_distro_and_version == 'rocky-10' else [] }}" |
There was a problem hiding this comment.
Similar to the previous variable, this inline conditional is hard to read. A structured Jinja block is preferred for better maintainability.
stackhpc_yum_repos: >-
{%- if kolla_base_distro_and_version == 'rocky-9' -%}
{{ stackhpc_rocky_9_repos }}
{%- elif kolla_base_distro_and_version == 'rocky-10' -%}
{{ stackhpc_rocky_10_repos }}
{%- else -%}
[]
{%- endif -%}22cc4b5 to
9b5dbb0
Compare
Changes: * Updated workflow to build Rocky 10 Kolla container images * Updated ci-builder environment to enable valkey image building on Rocky 10 (and enable redis image building on Rocky 9/Ubuntu Noble) * Updated ci-builder and ci-aio environments with pulp tags for Rocky 10 repositories * Added new OVN-LTS repository into pulp repository configuration * Added Rocky 10 repositories into Kolla configuration * Added new `stackhpc_enable_ovn_lts_repo` flag to Kolla configuration to inject OVN-LTS repository into repository sources * Updated Kolla build customisations to separate out Rocky 9 and 10 customisations, and added customisations for Rocky 10 * Added valkey images to pulp image list, and updated unbuildable images lists to reflect * Updated DNF configuration to include Rocky 10 repositories * Updated kolla-images.py to support Rocky 10 as a base distro * `kolla_base_distro_version` can now be overridden, so we can deploy Rocky 10 containers * Added initial tag for Rocky 10 containers
New Rocky 10 AIO jobs added to the PR workflow. An override for `kolla_base_distro_version` has been added to the `ci-builder` environment so we can deploy Rocky 10 images (K-A maps to Rocky 9 by default).
New Rocky 10 AIO jobs added to the PR workflow. An override for
kolla_base_distro_versionhas been added to theci-builderenvironment so we can deploy Rocky 10 images (K-A maps to Rocky 9 by default).