Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions environments/manager/images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,14 +93,10 @@ ceph_ansible_tag: "{{ '{{' }} ceph_version|default(manager_version) {{ '}}' }}"
{% endif -%}
ceph_ansible_image: "{{ '{{' }} docker_registry_ansible|default('registry.osism.tech') {{ '}}' }}/{{ images['ceph_ansible'] }}:{{ '{{' }} ceph_ansible_tag {{ '}}' }}"

{% if manager_version == 'latest' -%}
kolla_ansible_tag: "{{ '{{' }} openstack_version|default('2024.2') {{ '}}' }}"
{% else -%}
{% if 'kolla_ansible' in versions -%}
kolla_ansible_tag: "{{ versions['kolla_ansible'] }}"
{% else -%}
kolla_ansible_tag: "{{ '{{' }} openstack_version|default(manager_version) {{ '}}' }}"
{% endif -%}
{% endif -%}
kolla_ansible_image: "{{ '{{' }} docker_registry_ansible|default('registry.osism.tech') {{ '}}' }}/{{ images['kolla_ansible'] }}:{{ '{{' }} kolla_ansible_tag {{ '}}' }}"

1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ PyYAML==6.0.3
ansible==11.13.0
packaging==26.1
pwgen==0.8.2.post0
pytest==9.0.3
python-gilt==1.2.3
requests==2.33.1
tabulate==0.10.0
29 changes: 29 additions & 0 deletions tests/test_render_images_template.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from collections import defaultdict
import os
import jinja2

REPO_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE = "environments/manager/images.yml"


def render(manager_version, versions_extra=None):
versions = defaultdict(str, versions_extra or {})
images = defaultdict(str)
env = jinja2.Environment(loader=jinja2.FileSystemLoader(REPO_ROOT))
return env.get_template(TEMPLATE).render(
images=images, manager_version=manager_version, versions=versions
)


def test_latest_with_pinned_kolla_ansible_uses_pinned_tag():
# When manager_version=latest and kolla_ansible is present in versions
# (as it is once release/latest/base.yml is updated), the rendered
# tag must be the pinned value, not openstack_version.
result = render("latest", {"kolla_ansible": "0.20260328.0"})
assert 'kolla_ansible_tag: "0.20260328.0"' in result


def test_pinned_release_with_kolla_ansible_uses_pinned_tag():
# Regression: pinned manager_version must continue to use the pinned tag.
result = render("10.0.0", {"kolla_ansible": "0.20260328.0"})
assert 'kolla_ansible_tag: "0.20260328.0"' in result
1 change: 1 addition & 0 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ setenv =
commands =
python3 src/render-images.py
cat images.yml
python3 -m pytest tests