Skip to content

Implement AIO testing for Rocky 10#2291

Draft
owenjones wants to merge 3 commits intostackhpc/2025.1from
rl10/aio
Draft

Implement AIO testing for Rocky 10#2291
owenjones wants to merge 3 commits intostackhpc/2025.1from
rl10/aio

Conversation

@owenjones
Copy link
Copy Markdown
Member

@owenjones owenjones commented Apr 27, 2026

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).

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread etc/kayobe/kolla.yml
Comment on lines +556 to +557
rocky-10:
base_centos_yum_repos_to_disable_remove:
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

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:

Comment thread etc/kayobe/dnf.yml
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 }}"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The baseurl for the commented-out doca-modules repository in the Rocky 10 section incorrectly references the RHEL 9 URL variable (stackhpc_repo_rhel9_doca_modules_url). This should be updated to a RHEL 10 equivalent if available, or corrected to avoid confusion.

Comment thread etc/kayobe/kolla.yml
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 [] }}"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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 -%}

Comment thread etc/kayobe/kolla.yml

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 [] }}"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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 -%}

@owenjones owenjones force-pushed the rl10/aio branch 4 times, most recently from 22cc4b5 to 9b5dbb0 Compare April 28, 2026 14:17
@owenjones owenjones changed the title [WIP] Rocky 10 AIO Rocky 10 AIO Apr 28, 2026
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
@owenjones owenjones changed the title Rocky 10 AIO Implement AIO testing for Rocky 10 Apr 28, 2026
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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants