[ffwd3][update] Run OVN external update only once

The ovn_controller update tasks are in external_update but
reused by upgrade process. During the upgrade we run on
all hosts and not just undercloud causing the tasks to get
executed n times over so in case of 500 nodes we would end
up restarting ovn_controller 500 times.

This should be solved in upgrade by simply triggering only
on first controller.

The run_once would not work here due to tripleo_free strategy.

Change-Id: I04117dec68f0892ee59f0b997fb6eb0443218846
Resolves: rhbz#2229761
This commit is contained in:
Lukas Bezdicka 2023-08-23 12:46:35 +02:00
parent 8044b4bd3b
commit 5bf77a85ba

@ -658,7 +658,13 @@ outputs:
until: async_poll_results.finished
retries: {get_param: OVNControllerUpdateTimeout}
delay: 1
upgrade_tasks: *ovn_controller_update
upgrade_tasks:
- name: set first_controller fact
set_fact:
first_controller: "{{ groups['ovn_controller']|first|lower == ansible_facts['hostname']|lower }}"
- name: Trigger external_update OVN block on first controller
when: first_controller | bool
block: *ovn_controller_update
scale_tasks:
- when:
- step|int == 1