![Lukas Bezdicka](/assets/img/avatar_default.png)
Previously we ran role by role which is not necessary and not intended way of production update. In case of proper testing on preprod customers should run update as fast as possible which means leveraging ability to run all roles at once and even all nodes of selected roles at once. With this patch the Pacemaker enabled roles will still update in serial but the roles will be done in parallel. In case of 3 controller 3 database 3 messaging setup it will look roughly like this: Update of controller[0] database[0] messaging[0] Update of controller[0] database[1] messaging[1] Update of controller[1] database[2] messaging[2] Update of controller[2] This is due to not blocking between roles and each role taking different amount of time to apply the update. At any moment the pacemaker quorum is not broken. Change-Id: Ib119210139886382726bc0ccddfdb4f7f6803015
28 lines
967 B
YAML
28 lines
967 B
YAML
---
|
|
- name: import tasks from l3_agent_connectivity_check_start_script
|
|
import_tasks: ../common/l3_agent_connectivity_check_start_script.yml
|
|
|
|
- name: run overcloud minor update in each of the roles/hostgroups
|
|
async: 25200
|
|
poll: 0
|
|
shell: |
|
|
set -o pipefail
|
|
bash {{ overcloud_update_run_script_base }}-{{ item }}.sh 2>&1 {{ timestamper_cmd }} > \
|
|
{{ working_dir }}/overcloud_update_run_{{ item }}.log
|
|
loop: "{{ oc_roles|default(['all']) }}"
|
|
register: overcloud_update_nodes
|
|
ignore_errors: true
|
|
|
|
- name: was the overcloud minor update successful?
|
|
async_status:
|
|
jid: "{{ async_result_item.ansible_job_id }}"
|
|
loop: "{{ overcloud_update_nodes.results }}"
|
|
loop_control:
|
|
loop_var: "async_result_item"
|
|
register: async_poll_results
|
|
until: async_poll_results.finished
|
|
retries: 25200
|
|
|
|
- name: import tasks from l3_agent_connectivity_check_stop_script
|
|
import_tasks: ../common/l3_agent_connectivity_check_stop_script.yml
|