diff options
| author | Bartosz Bezak <bartosz@stackhpc.com> | 2026-02-10 14:18:41 +0100 |
|---|---|---|
| committer | Bartosz Bezak <bartosz@stackhpc.com> | 2026-02-11 16:26:38 +0000 |
| commit | be29193b5e413d061b6f8b8307f244657134ac48 (patch) | |
| tree | 5c62d37a36a679fd4e9d8456001e60e70f644c11 | |
| parent | 2ef1982a6c9555d95c8a61cc23a16f2e2fe2ee7d (diff) | |
| download | kolla-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.j2 | 2 | ||||
| -rw-r--r-- | ansible/roles/service-check-containers/tasks/iterated.yml | 7 | ||||
| -rw-r--r-- | ansible/roles/service-check-containers/tasks/main.yml | 5 |
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 |
