From 2e5720feaa0122698570667873c37658d146d355 Mon Sep 17 00:00:00 2001 From: Bartosz Bezak Date: Thu, 6 Nov 2025 11:38:39 +0100 Subject: [PATCH] Fix OVN leader detection in chassis priority fix After kolla-ansible patch [1] ovn commands can run on all nodes. Changing method of getting the leader. [1] https://review.opendev.org/c/openstack/kolla-ansible/+/963412 Signed-off-by: Bartosz Bezak --- etc/kayobe/ansible/fixes/ovn-fix-chassis-priorities.yml | 9 ++++++--- .../ovn-fix-chassis-leader-check-551d0e94cbb94ac4.yaml | 6 ++++++ 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 releasenotes/notes/ovn-fix-chassis-leader-check-551d0e94cbb94ac4.yaml diff --git a/etc/kayobe/ansible/fixes/ovn-fix-chassis-priorities.yml b/etc/kayobe/ansible/fixes/ovn-fix-chassis-priorities.yml index 0589ba7614..0b83b472cb 100644 --- a/etc/kayobe/ansible/fixes/ovn-fix-chassis-priorities.yml +++ b/etc/kayobe/ansible/fixes/ovn-fix-chassis-priorities.yml @@ -25,15 +25,18 @@ when: kolla_enable_ovn | bool block: - name: Find the OVN NB DB leader - ansible.builtin.command: docker exec ovn_nb_db ovn-nbctl get-connection + ansible.builtin.command: >- + docker exec ovn_nb_db + ovs-appctl -t /var/run/ovn/ovnnb_db.ctl + cluster/status OVN_Northbound changed_when: false failed_when: false - register: ovn_check_result + register: ovn_cluster_status check_mode: false - name: Group hosts by leader/follower role ansible.builtin.group_by: - key: ovn_nb_{{ 'leader' if ovn_check_result.rc == 0 else 'follower' }} + key: "{{ 'ovn_nb_leader' if 'Role: leader' in ovn_cluster_status.stdout else 'ovn_nb_follower' }}" changed_when: false - name: Assert one leader exists diff --git a/releasenotes/notes/ovn-fix-chassis-leader-check-551d0e94cbb94ac4.yaml b/releasenotes/notes/ovn-fix-chassis-leader-check-551d0e94cbb94ac4.yaml new file mode 100644 index 0000000000..8d47f49c63 --- /dev/null +++ b/releasenotes/notes/ovn-fix-chassis-leader-check-551d0e94cbb94ac4.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Updated the OVN chassis priority fix playbook to detect the northbound + database leader via ``ovs-appctl cluster/status``, ensuring only the true + leader runs the priority alignment.