Build Rocky Linux 10 container images#2252
Build Rocky Linux 10 container images#2252owenjones wants to merge 2 commits intostackhpc/2025.1from
Conversation
There was a problem hiding this comment.
Code Review
This pull request enables Epoxy container image builds on Rocky Linux 10 by adding the required repository configurations, version variables, and image customizations. It also introduces Valkey support for Rocky 10 while maintaining Redis for older distributions. Feedback highlights critical issues where YAML block scalars incorrectly convert lists into strings, which would break Jinja2 loops during the build process. Additionally, the review identifies shell variable escaping and indentation errors in a manually generated repository file, and suggests a more robust method for accessing version-specific customizations.
c838aee to
ad3c5bd
Compare
ad3c5bd to
6823e3f
Compare
282db56 to
b0c4a0a
Compare
b0c4a0a to
00248f2
Compare
|
Valkey images are buildable if specified in the workflow, but currently don't get fed into the list of default regexes even when |
| gpgcheck: no | ||
| username: "{{ stackhpc_repo_mirror_username | default(omit, true) }}" | ||
| password: "{{ stackhpc_repo_mirror_password | default(omit, true) }}" | ||
| # doca-modules: |
There was a problem hiding this comment.
I was going to come back to this in the DOCA-OFED building ticket - this is a repo we've created and not one in release train, so would possibly need creating again for Rocky 10 (which would probably happen first time the push workflow is run?). As well as templating changes in a couple of other places which would need to be done alongside updating the building workflows, made more sense to do it as one piece of work.
| && \ | ||
| sed -i '/^\[centos-openstack-epoxy\]/a excludepkgs=*rdo-ovn*,*rdo-openvswitch*' /etc/yum.repos.d/CentOS-OpenStack-epoxy.repo \ | ||
| if [ -f /etc/yum.repos.d/CentOS-OpenStack-epoxy.repo ]; then \ | ||
| sed -i '/^\[centos-openstack-epoxy\]/a excludepkgs=*rdo-ovn*,*rdo-openvswitch*' /etc/yum.repos.d/CentOS-OpenStack-epoxy.repo; \ |
There was a problem hiding this comment.
The previous segment ends in && \, if this conditional is triggered, it'll run the sed command and exit. Do we need the same here?.
| sed -i '/^\[centos-openstack-epoxy\]/a excludepkgs=*rdo-ovn*,*rdo-openvswitch*' /etc/yum.repos.d/CentOS-OpenStack-epoxy.repo; \ | |
| sed -i '/^\[centos-openstack-epoxy\]/a excludepkgs=*rdo-ovn*,*rdo-openvswitch*' /etc/yum.repos.d/CentOS-OpenStack-epoxy.repo; && \ |
There was a problem hiding this comment.
I don't think so - otherwise that would collapse down to sed -i '/^\[centos-openstack-epoxy\]/a excludepkgs=*rdo-ovn*,*rdo-openvswitch*' /etc/yum.repos.d/CentOS-OpenStack-epoxy.repo; && fi which would be a parse error?
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
Changes:
stackhpc_enable_ovn_lts_repoflag to Kolla configuration to inject OVN-LTS repository filekolla_base_distro_versioncan now be overridden, so we can deploy Rocky 10 containers