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.