Skip to content

manager: use pinned kolla-ansible tag for latest#595

Draft
ideaship wants to merge 1 commit into
mainfrom
fix/fluentd-registry-miss-kolla-ansible-tag
Draft

manager: use pinned kolla-ansible tag for latest#595
ideaship wants to merge 1 commit into
mainfrom
fix/fluentd-registry-miss-kolla-ansible-tag

Conversation

@ideaship
Copy link
Copy Markdown

@ideaship ideaship commented May 13, 2026

Summary

  • Removes the {% if manager_version == 'latest' %} bypass for kolla_ansible_tag in environments/manager/images.yml
  • Adds pytest==9.0.3 to requirements.txt
  • Adds tests/test_render_images_template.py verifying the pinned tag is used when kolla_ansible is present in versions

This is the generics-side half of a two-repo fix for kolla/release/2025.1/fluentd:2025.1 not found 500 errors in testbed-upgrade-stable-next-ubuntu-24.04. The bypass caused kolla_ansible_tag to resolve to openstack_version (e.g. 2025.1) for manager_version=latest, which does not exist in the kolla/release/2025.1/ namespace.

Depends on osism/release#2494 (already merged or pending merge — do not merge this PR first).

Scope

This PR, together with osism/release#2494, is the complete fix for stable releases (e.g. 10.0.0). For stable releases, the OpenStack version is baked into the kolla-ansible image at build time — the container-image-kolla-ansible build script reads latest/openstack.yml from the release repo at the kolla-ansible-$version git tag. Each stable OSISM point release therefore carries exactly one kolla-ansible pin in base.yml targeting exactly one OpenStack version, and no further machinery is needed.

For manager_version=latest, this PR fixes the openstack_version=2025.1 case. Correct handling of other openstack_version values under latest (e.g. 2024.2) requires a follow-up: a per-OpenStack overlay-loading change in render-images.py and corresponding per-OpenStack kolla-ansible pins in the release overlay files (latest/openstack-2024.2.yml, etc.).

Test plan

  • test_latest_with_pinned_kolla_ansible_uses_pinned_tag passes
  • test_pinned_release_with_kolla_ansible_uses_pinned_tag passes
  • tox -e check passes
  • MANAGER_VERSION=latest tox -e test produces kolla_ansible_tag: 0.20260328.0 — requires latest: pin kolla_ansible docker image tag release#2494 merged first
  • MANAGER_VERSION=9.1.0 tox -e test passes
  • MANAGER_VERSION=9.0.0 tox -e test passes (fallback path, exits 0)
  • flake8 passes

When manager_version=latest, environments/manager/images.yml had an
unconditional branch that set kolla_ansible_tag to
{{ openstack_version|default('2024.2') }}, bypassing the
{% if 'kolla_ansible' in versions %} lookup used by all pinned
releases. This resolved kolla_ansible_tag to an OpenStack cycle
name (e.g. 2025.1) at deploy time.

The kolla/release/2025.1/ registry namespace carries only date-
stamped tags such as 5.0.9.20260328. The floating 2025.1 tag
exists only in the bare kolla/ namespace, not in the release
namespace. Any upgrade run using the rendered tag therefore
received a 500 from the registry when pulling per-service images
(e.g. fluentd), failing the Restart handler on all targeted hosts.

Remove the latest branch so the versions lookup path fires for all
manager versions. With release/latest/base.yml now carrying
docker_images.kolla_ansible (added in the companion release repo
change), the pinned tag 0.20260328.0 is used for
manager_version=latest, matching the stable kolla/release/2025.1/
namespace.

Add pytest==9.0.3 to requirements.txt and a unit test that renders
the template with a mock versions dict, verifying that the pinned
tag is used when kolla_ansible is present in versions for both
manager_version=latest and pinned releases.

AI-assisted: Claude Code
Signed-off-by: Roger Luethi <luethi@osism.tech>
@ideaship ideaship marked this pull request as ready for review May 13, 2026 17:50
@ideaship ideaship marked this pull request as draft May 13, 2026 17:52
@ideaship ideaship moved this from Ready to In progress in Human Board May 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In progress

Development

Successfully merging this pull request may close these issues.

3 participants