42 lines
1.7 KiB
YAML
42 lines
1.7 KiB
YAML
---
|
|
# By default we have update_serial either unset at all for OSP13 and OSP14 or
|
|
# we have it set where Pacemaker enabled nodes, CephOSD nodes and Networkers
|
|
# have it set to 1. This is mostly defensive precaution and we do allow running
|
|
# in parallel for CephOSD and Networkers for production systems that did enough
|
|
# testing on preprod or can take small outage. We should also parallelize it in
|
|
# CI as we just waste time here.
|
|
|
|
- name: Read the existing roles data file
|
|
slurp:
|
|
src: "{{ roles_data }}"
|
|
register: _roles_data_slurp
|
|
|
|
- name: Transform the roles data file update_serial values
|
|
vars:
|
|
old_roles_data: "{{ _roles_data_slurp['content'] | b64decode | from_yaml }}"
|
|
when: "'OS::TripleO::Services::Pacemaker' in old_roles_data | json_query('[].ServicesDefault[]')"
|
|
block:
|
|
- name: Backup original roles data file
|
|
copy:
|
|
src: "{{ roles_data }}"
|
|
dest: "{{ roles_data | regex_replace('.yaml$') }}.original.yaml"
|
|
remote_src: true
|
|
force: false
|
|
|
|
- name: Write new roles data file with revised update_serial
|
|
copy:
|
|
content: >-
|
|
{%- set new_data = [] %}
|
|
{%- for data_item in old_roles_data %}
|
|
{%- if 'ServiceDefault' in data_item %}
|
|
{%- if 'OS::TripleO::Services::Pacemaker' in data_item['ServicesDefault'] %}
|
|
{%- set _ = data_item.update({'update_serial': 1}) %}
|
|
{%- else %}
|
|
{%- set _ = data_item.update({'update_serial': 25}) %}
|
|
{%- endif %}
|
|
{%- endif %}
|
|
{%- set _ = new_data.append(data_item) %}
|
|
{%- endfor %}
|
|
{{- new_data | to_nice_yaml(indent=2) }}
|
|
dest: "{{ roles_data }}"
|