--- # 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