aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBartosz Bezak <bartosz@stackhpc.com>2026-02-10 14:18:41 +0100
committerBartosz Bezak <bartosz@stackhpc.com>2026-02-11 16:26:38 +0000
commitbe29193b5e413d061b6f8b8307f244657134ac48 (patch)
tree5c62d37a36a679fd4e9d8456001e60e70f644c11
parent2ef1982a6c9555d95c8a61cc23a16f2e2fe2ee7d (diff)
downloadkolla-ansible-be29193b5e413d061b6f8b8307f244657134ac48.tar.gz
kolla-ansible-be29193b5e413d061b6f8b8307f244657134ac48.zip
ovn: make iterated relay checks idempotent
Compare ovn_sb_db_relay_<id> containers, not base ovn_sb_db_relay. Fix relay config ownership mismatch (root vs openvswitch). Co-Authored-By: Bertrand Lanson <bertrand.lanson@infomaniak.com> Co-Authored-By: Doug Szumski <doug@stackhpc.com> Closes-Bug: #2141573 Change-Id: I85420a7b2213d9a72ae3b2ef5de75bbaef04308c Signed-off-by: Bartosz Bezak <bartosz@stackhpc.com>
-rw-r--r--ansible/roles/ovn-db/templates/ovn-sb-db-relay.json.j22
-rw-r--r--ansible/roles/service-check-containers/tasks/iterated.yml7
-rw-r--r--ansible/roles/service-check-containers/tasks/main.yml5
3 files changed, 7 insertions, 7 deletions
diff --git a/ansible/roles/ovn-db/templates/ovn-sb-db-relay.json.j2 b/ansible/roles/ovn-db/templates/ovn-sb-db-relay.json.j2
index aa8894463..5955d3417 100644
--- a/ansible/roles/ovn-db/templates/ovn-sb-db-relay.json.j2
+++ b/ansible/roles/ovn-db/templates/ovn-sb-db-relay.json.j2
@@ -4,7 +4,7 @@
{
"source": "{{ container_config_directory }}/ovsdb-relay.json",
"dest": "/etc/ovn/ovsdb-relay.json",
- "owner": "openvswitch",
+ "owner": "root",
"perm": "0600"
}
],
diff --git a/ansible/roles/service-check-containers/tasks/iterated.yml b/ansible/roles/service-check-containers/tasks/iterated.yml
index fd9bd3930..5d86954cd 100644
--- a/ansible/roles/service-check-containers/tasks/iterated.yml
+++ b/ansible/roles/service-check-containers/tasks/iterated.yml
@@ -2,11 +2,11 @@
- name: "Check containers with iteration for {{ kolla_role_name | default(project_name) }}"
become: true
vars:
- service: "{{ outer_item.value }}"
+ service: "{{ lookup('vars', (kolla_role_name | default(project_name)) + '_services')[service_name] }}"
kolla_container:
action: "compare_container"
common_options: "{{ docker_common_options }}"
- name: "{{ service.container_name }}"
+ name: "{{ service.container_name }}_{{ item }}"
image: "{{ service.image | default(omit) }}"
volumes: "{{ service.volumes | default(omit) }}"
dimensions: "{{ service.dimensions | default(omit) }}"
@@ -22,8 +22,7 @@
labels: "{{ service.labels | default(omit) }}"
command: "{{ service.command | default(omit) }}"
cgroupns_mode: "{{ service.cgroupns_mode | default(omit) }}"
- loop:
- - "{{ range(1, (service.iterate_var | int) + 1) | list }}"
+ loop: "{{ range(1, (iterate_count | int) + 1) | list }}"
register: container_check
# NOTE(yoctozepto): Must be a separate task because one cannot see the whole
diff --git a/ansible/roles/service-check-containers/tasks/main.yml b/ansible/roles/service-check-containers/tasks/main.yml
index b731a9e09..272ea33e7 100644
--- a/ansible/roles/service-check-containers/tasks/main.yml
+++ b/ansible/roles/service-check-containers/tasks/main.yml
@@ -43,9 +43,10 @@
- name: "Check containers that require iteration for {{ kolla_role_name | default(project_name) }}"
vars:
- service: "{{ outer_item.value }}"
+ service_name: "{{ outer_item.key }}"
+ iterate_count: "{{ outer_item.value.iterate_var | int }}"
include_tasks: iterated.yml
loop: "{{ lookup('vars', (kolla_role_name | default(project_name)) + '_services') | select_services_enabled_and_mapped_to_host | dict2items }}"
loop_control:
loop_var: outer_item
- when: (service.iterate | default(False)) | bool
+ when: (outer_item.value.iterate | default(False)) | bool