manager: use pinned kolla-ansible tag for latest#595
Draft
ideaship wants to merge 1 commit into
Draft
Conversation
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>
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
{% if manager_version == 'latest' %}bypass forkolla_ansible_taginenvironments/manager/images.ymlpytest==9.0.3torequirements.txttests/test_render_images_template.pyverifying the pinned tag is used whenkolla_ansibleis present in versionsThis is the generics-side half of a two-repo fix for
kolla/release/2025.1/fluentd:2025.1 not found500 errors intestbed-upgrade-stable-next-ubuntu-24.04. The bypass causedkolla_ansible_tagto resolve toopenstack_version(e.g.2025.1) formanager_version=latest, which does not exist in thekolla/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 — thecontainer-image-kolla-ansiblebuild script readslatest/openstack.ymlfrom the release repo at thekolla-ansible-$versiongit tag. Each stable OSISM point release therefore carries exactly one kolla-ansible pin inbase.ymltargeting exactly one OpenStack version, and no further machinery is needed.For
manager_version=latest, this PR fixes theopenstack_version=2025.1case. Correct handling of otheropenstack_versionvalues underlatest(e.g.2024.2) requires a follow-up: a per-OpenStack overlay-loading change inrender-images.pyand 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_tagpassestest_pinned_release_with_kolla_ansible_uses_pinned_tagpassestox -e checkpassesMANAGER_VERSION=latest tox -e testproduceskolla_ansible_tag: 0.20260328.0— requires latest: pin kolla_ansible docker image tag release#2494 merged firstMANAGER_VERSION=9.1.0 tox -e testpassesMANAGER_VERSION=9.0.0 tox -e testpasses (fallback path, exits 0)flake8passes