Skip to content

2026.1 aio upgrade - #2454

Merged
Alex-Welsh merged 5 commits into
stackhpc/2026.1from
2026.1-aio-upgrade
Jul 27, 2026
Merged

2026.1 aio upgrade#2454
Alex-Welsh merged 5 commits into
stackhpc/2026.1from
2026.1-aio-upgrade

Conversation

@seunghun1ee

@seunghun1ee seunghun1ee commented Jul 24, 2026

Copy link
Copy Markdown
Member

Summary by CodeRabbit

  • New Features

    • Added support for Rocky Linux 10 and Ubuntu Noble across image builds and deployments.
    • Updated OpenStack and Kolla images to the 2026.1 release.
    • Added repository support for newer OpenSearch, MariaDB, Fluentd, ProxySQL, and Valkey versions.
    • Improved multi-architecture container manifest publishing.
  • Bug Fixes

    • Improved image validation for additional services and container mappings.
    • Refined audit log handling for Rocky Linux 10 and Ubuntu Noble.
  • Chores

    • Rocky Linux 9 builds are no longer selected by default during manual workflow runs.

@seunghun1ee seunghun1ee self-assigned this Jul 24, 2026
@seunghun1ee
seunghun1ee requested a review from a team as a code owner July 24, 2026 14:42
@github-actions github-actions Bot added the waiting-review PR is waiting for a review label Jul 24, 2026
@coderabbitai

coderabbitai Bot commented Jul 24, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: c21c5132-ab8d-44c9-9b13-a2cc8415804a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 2026.1-aio-upgrade

Comment @coderabbitai help to get the list of available commands.

@seunghun1ee

Copy link
Copy Markdown
Member Author

This branch is forked from #2453 , so it would be nicer if #2453 can get merged first.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 5

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
etc/kayobe/kolla.yml (1)

210-218: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Fix the stale third-party repo vars in etc/kayobe/kolla.yml:213-216
stackhpc_repo_rhel_10_mariadb_10_11_url should be stackhpc_repo_rhel_10_mariadb_11_4_url. stackhpc_repo_rhel_9_influxdb_url is undefined here, so this entry needs to be removed or restored.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@etc/kayobe/kolla.yml` around lines 210 - 218, Update the repository entries
in the Kolla repository configuration: replace
stackhpc_repo_rhel_10_mariadb_10_11_url with
stackhpc_repo_rhel_10_mariadb_11_4_url, and remove the influxdb.repo entry
referencing undefined stackhpc_repo_rhel_9_influxdb_url unless its valid
variable is restored.
🧹 Nitpick comments (2)
tools/multiarch-manifests.sh (1)

22-33: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Optional: use a bash array for arch_images (SC2086).

Word-splitting on $arch_images is intentional here, so quoting isn't the fix. An array makes the intent explicit and robust while satisfying Shellcheck.

♻️ Array-based accumulation
-  arch_images=""
+  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"
+      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 buildx imagetools create -t "$base_image" $arch_images | tee -a logs/manifest-creation.log
+  if [ "${`#arch_images`[@]}" -gt 0 ]; then
+    echo "Creating manifest for $base_image with images: ${arch_images[*]}" | tee -a logs/manifest-creation.log
+    docker buildx imagetools create -t "$base_image" "${arch_images[@]}" | tee -a logs/manifest-creation.log
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@tools/multiarch-manifests.sh` around lines 22 - 33, Update the arch_images
accumulation and consumption in the manifest creation loop to use a Bash array,
appending each arch_image as an element and expanding the array explicitly when
calling docker buildx imagetools create. Preserve the existing manifest
existence checks, logging, and image ordering.

Source: Linters/SAST tools

etc/kayobe/stackhpc.yml (1)

196-202: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value

Kolla / Kolla-Ansible sources build from moving branches.

stackhpc_kolla_source_version: 2026_1_backports and stackhpc_kolla_ansible_source_version: stackhpc/2026.1 are mutable refs, so image builds aren't reproducible until the FIXMEs are resolved (merge cherry-picks, revert to tag). Tracking these before release avoids drift between builds.

Want me to open an issue to track resolving these two FIXMEs before release?

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@etc/kayobe/stackhpc.yml` around lines 196 - 202, Resolve the two FIXME
entries for stackhpc_kolla_source_version and
stackhpc_kolla_ansible_source_version by merging the required cherry-picks and
switching both source versions from moving refs back to their intended immutable
release tag. Keep the existing source repository settings unchanged and ensure
both Kolla sources use reproducible versions before release.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In @.github/workflows/stackhpc-build-kayobe-image.yml:
- Line 27: Update the build-argument fallback for base_image to use
rockylinux/rockylinux:10, matching the default declared for inputs.base_image.
Alternatively, remove the duplicate fallback so the workflow consistently uses
the existing Rocky 10 default, including on push triggers.

In `@etc/kayobe/inventory/group_vars/cis-hardening/cis`:
- Around line 84-89: Remove the unsupported rhel10cis_auditd_max_log_file
setting from the CIS auditd configuration, keeping
rhel10cis_auditd_max_log_file_size as the sole key controlling max_log_file.

In `@etc/kayobe/kolla.yml`:
- Line 336: Ensure stackhpc_kolla_build_customizations remains defined as an
empty mapping, or update the lookup that indexes it to apply a default empty
mapping before merging. Preserve the existing template behavior while preventing
undefined-variable failures during rendering.

In `@etc/kayobe/pulp.yml`:
- Around line 566-568: Update the service image configuration represented by
stackhpc_pulp_images_kolla to retain influxdb, or disable kolla_enable_influxdb
in the ci-builder stackhpc-ci.yml configuration. Ensure the enabled InfluxDB
service has a corresponding synced and published image.

In `@etc/kayobe/trivy/allowed-vulnerabilities.yml`:
- Around line 16-33: Review all entries in the allowlists at
etc/kayobe/trivy/allowed-vulnerabilities.yml lines 16-33 and 34-70, retaining
each CVE only for image groups whose vulnerable package is confirmed present;
remove unjustified image-level exceptions, including the cited critical CVEs
where applicable. Add a tracked removal date or ticket to every remaining
exception.

---

Outside diff comments:
In `@etc/kayobe/kolla.yml`:
- Around line 210-218: Update the repository entries in the Kolla repository
configuration: replace stackhpc_repo_rhel_10_mariadb_10_11_url with
stackhpc_repo_rhel_10_mariadb_11_4_url, and remove the influxdb.repo entry
referencing undefined stackhpc_repo_rhel_9_influxdb_url unless its valid
variable is restored.

---

Nitpick comments:
In `@etc/kayobe/stackhpc.yml`:
- Around line 196-202: Resolve the two FIXME entries for
stackhpc_kolla_source_version and stackhpc_kolla_ansible_source_version by
merging the required cherry-picks and switching both source versions from moving
refs back to their intended immutable release tag. Keep the existing source
repository settings unchanged and ensure both Kolla sources use reproducible
versions before release.

In `@tools/multiarch-manifests.sh`:
- Around line 22-33: Update the arch_images accumulation and consumption in the
manifest creation loop to use a Bash array, appending each arch_image as an
element and expanding the array explicitly when calling docker buildx imagetools
create. Preserve the existing manifest existence checks, logging, and image
ordering.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 4ff99423-7ff7-4ec5-b000-e15c67ae4c2b

📥 Commits

Reviewing files that changed from the base of the PR and between 558ae9c and a4cf500.

📒 Files selected for processing (23)
  • .automation
  • .github/workflows/ipa-image-build.yml
  • .github/workflows/overcloud-host-image-build.yml
  • .github/workflows/overcloud-host-image-promote.yml
  • .github/workflows/overcloud-host-image-upload.yml
  • .github/workflows/stackhpc-all-in-one.yml
  • .github/workflows/stackhpc-build-kayobe-image.yml
  • .github/workflows/stackhpc-container-image-build.yml
  • etc/kayobe/ansible/requirements.yml
  • etc/kayobe/apt.yml
  • etc/kayobe/environments/ci-builder/stackhpc-ci.yml
  • etc/kayobe/inventory/group_vars/cis-hardening/cis
  • etc/kayobe/kolla-image-tags.yml
  • etc/kayobe/kolla.yml
  • etc/kayobe/kolla/kolla-build.conf
  • etc/kayobe/kolla/repos.yaml
  • etc/kayobe/pulp-repo-versions.yml
  • etc/kayobe/pulp.yml
  • etc/kayobe/stackhpc.yml
  • etc/kayobe/trivy/allowed-vulnerabilities.yml
  • requirements.txt
  • tools/kolla-images.py
  • tools/multiarch-manifests.sh

Comment thread .github/workflows/stackhpc-build-kayobe-image.yml
Comment thread etc/kayobe/inventory/group_vars/cis-hardening/cis
Comment thread etc/kayobe/kolla.yml
Comment thread etc/kayobe/pulp.yml
Comment thread etc/kayobe/trivy/allowed-vulnerabilities.yml
Bump experimental 2026.1 Kayobe

Add workaround for LP#2160235

K-A bug LP#2160235 is causing service upgrade to fail.
Working around by pulling container images in advance.
See [1].

[1] https://bugs.launchpad.net/kolla-ansible/+bug/2160235

Update replacing variable name

K-A patch [2] introduced a new variable ``docker_image_url`` to avoid
repeating ``docker_image_name_prefix`` variable.

Updating kolla-images.py accordingly.

[2] https://review.opendev.org/c/openstack/kolla-ansible/+/951747

Remove conditional playbook path

Using different playbook path was only needed between 2024.1 and 2025.1
release.
Removing as it's now breaking the upgrade path from 2025.1 to 2026.1.

Prevent auditd halting machine on disk full

and updating CIS auditd variables.
Unlike RHEL9 CIS, RHEL10 and Ubuntu24 variables for auditd are not dict
formatted.
Updated them to comply the pinned version of each CIS roles.

Removed ``rhel10cis_auditd_max_log_file`` as it's no longer used by the
collection.

Revert "Omit AIO CI on 2026.1 branch"

This reverts commit efe5cca.
Update information of kolla images to match 2026.1 K-A

Removed rocky-9 from supported base distros.

Added httpd image.
Removed following images
- mariadb-clustercheck
- proxysql-3 (2026.1 K-A default proxysql is version 3.0.x)
- influxdb
- ironic-inspector
- letsencrypt-webserver
- rabbitmq-4-1
- redis
- redis-sentinel

Fix stashing step of AIO upgrade

No need to restore kolla/globals.yml anymore.

Bump stackhpc.pulp collection to 0.6.1

Build missing httpd and valkey container images

Added new tag for Ubuntu Noble Valkey image as it was missed on first
image build.

Tag of 3 services ironic_http, keystone_httpd and letsencrypt_webserver
got updated since they all use httpd container image.
Comment thread .github/workflows/stackhpc-build-kayobe-image.yml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

waiting-review PR is waiting for a review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants