From 7bd7929ea77f9843717a424d88422837d19d0d4a Mon Sep 17 00:00:00 2001 From: Alex-Welsh Date: Wed, 18 Jun 2025 10:09:56 +0100 Subject: [PATCH] Fix infinite loop in seed container deployment The deploy.yml playbook previously called deploy-container.yml, but this was changed to call itself when podman support was added [1]. It would then recursively loop until failure. This change reverts that, so deploy-container.yml is called instead. Add a test to seed jobs, to catch any regression in CI. [1] https://review.opendev.org/c/openstack/kayobe/+/909686 Closes-Bug: #2114845 Change-Id: I825ab7331fbe8f28c17b87ff79a436144426a78c --- ansible/roles/manage-containers/tasks/deploy.yml | 2 +- playbooks/kayobe-seed-base/overrides.yml.j2 | 13 +++++++++++++ .../fix-deploy-containers-24da0992b56a10db.yaml | 5 +++++ 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/fix-deploy-containers-24da0992b56a10db.yaml diff --git a/ansible/roles/manage-containers/tasks/deploy.yml b/ansible/roles/manage-containers/tasks/deploy.yml index c51be7cac..a735e9b26 100644 --- a/ansible/roles/manage-containers/tasks/deploy.yml +++ b/ansible/roles/manage-containers/tasks/deploy.yml @@ -10,7 +10,7 @@ become: "{{ container_engine == 'podman' }}" - name: Deploy containers (loop) - include_tasks: deploy.yml + include_tasks: deploy-container.yml vars: container_name: "{{ item.key }}" container_config: "{{ item.value }}" diff --git a/playbooks/kayobe-seed-base/overrides.yml.j2 b/playbooks/kayobe-seed-base/overrides.yml.j2 index 889d82489..16374cd19 100644 --- a/playbooks/kayobe-seed-base/overrides.yml.j2 +++ b/playbooks/kayobe-seed-base/overrides.yml.j2 @@ -57,3 +57,16 @@ kolla_base_distro: "{% raw %}{{ 'rocky' if os_distribution == 'centos' else os_d # Support overriding container_engine container_engine: "{{ container_engine }}" + +# Test deployment of custom seed containers +seed_containers: + node_exporter: + image: "quay.io/prometheus/node-exporter" + tag: "latest" + +{% if ansible_os_family == "Debian" %} +# TODO(priteau): Required for running some containers on Ubuntu + Podman. +# Remove once installed by ansible-collection-kolla. +dev_tools_packages_extra: + - "catatonit" +{% endif %} diff --git a/releasenotes/notes/fix-deploy-containers-24da0992b56a10db.yaml b/releasenotes/notes/fix-deploy-containers-24da0992b56a10db.yaml new file mode 100644 index 000000000..1421c2bfc --- /dev/null +++ b/releasenotes/notes/fix-deploy-containers-24da0992b56a10db.yaml @@ -0,0 +1,5 @@ +--- +fixes: + - | + Fixes an infinite loop when deploying seed containers. + `LP#2114845 `__