tripleo-heat-templates/common/deploy-steps-playbooks-comm...

95 lines
3.1 KiB
YAML

---
# If a new play with potential facts gathering is added, make sure we set:
# any_errors_fatal: false
# ignore_unreachable: true
# So we don't break the MaxFailPercentage feature since these plays can't use
# Ansible strategies.
- hosts: all
name: Clear cached facts
tasks:
- meta: clear_facts
tags:
- facts
- hosts: "{{ deploy_source_host }}"
name: Gather facts from undercloud
gather_facts: yes
any_errors_fatal: true
ignore_unreachable: false
become: false
tasks:
- name: Set legacy facts
set_fact:
ansible_distribution: "{{ ansible_facts['distribution'] }}"
ansible_distribution_major_version: "{{ ansible_facts['distribution_major_version'] }}"
ansible_distribution_release: "{{ ansible_facts['distribution_release'] }}"
ansible_distribution_version: "{{ ansible_facts['distribution_version'] }}"
ansible_os_family: "{{ ansible_facts['os_family'] }}"
tags:
- facts
- hosts: "{{ deploy_target_host }}"
name: Gather facts from overcloud
gather_facts: yes
# False because https://github.com/ansible/ansible/issues/70663
any_errors_fatal: false
# If an overcloud node is down, we will let MaxFailPercentage
# figuring out if the deployment can continue. For the facts gathering tasks,
# we will simply ignore unreachable nodes and errors, and let the
# Ansible reports the failure in the next plays.
ignore_unreachable: true
tasks:
- name: Set legacy facts
set_fact:
ansible_distribution: "{{ ansible_facts['distribution'] }}"
ansible_distribution_major_version: "{{ ansible_facts['distribution_major_version'] }}"
ansible_distribution_release: "{{ ansible_facts['distribution_release'] }}"
ansible_distribution_version: "{{ ansible_facts['distribution_version'] }}"
ansible_os_family: "{{ ansible_facts['os_family'] }}"
tags:
- facts
- hosts: all
name: Load global variables
gather_facts: "{{ gather_facts | default(false) }}"
any_errors_fatal: false
ignore_unreachable: true
tasks:
- include_vars: global_vars.yaml
no_log: true
tags:
- always
- hosts: "{{ deploy_target_host }}"
name: Render all_nodes data as group_vars for overcloud
gather_facts: "{{ gather_facts | default(false) }}"
# we don't skip errors or ignore unreachable on this one because it's
# delegated to localhost. localhost should never be unreachable (tm)
any_errors_fatal: True
tasks:
- name: Render all_nodes data as group_vars for overcloud
delegate_to: localhost
become: false
run_once: true
when: not ansible_check_mode|bool
tripleo_all_nodes_data:
tags:
- facts
- always
- hosts: "{{ deploy_target_host }}"
name: Set all_nodes data as group_vars for overcloud
gather_facts: "{{ gather_facts | default(false) }}"
any_errors_fatal: false
ignore_unreachable: true
tasks:
- name: Set all_nodes data as group_vars for overcloud
include_vars: "{{ playbook_dir }}/group_vars/overcloud.json"
no_log: true
when: not ansible_check_mode|bool
tags:
- facts
- always