a120ada72e
Moving the network and port management for OVN bridge MAC addresses to ansible. Removes the heat resources, and adds an external deploy task at step 0 in the ovn controller service templates which uses the 'tripleo_ovn_mac_addresses' ansible module to create/remove OVN mac address ports. Adds parameter role_specific OVNStaticBridgeMacMappings, parameter that can be used to set static bridge mac mappings. When this is set no neutron resources will be created by the tripleo_ovn_mac_addresses ansible module. OVNStaticBridgeMacMappings must be used for standalone deployments. Implements: blueprint network-data-v2-port Depends-On: https://review.opendev.org/782891 Depends-On: https://review.opendev.org/783137 Change-Id: I6ce29d2908e76044c55eb96d0d3779fe67ba9169
104 lines
3.2 KiB
YAML
104 lines
3.2 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: localhost
|
|
name: Check if required variables are defined
|
|
tasks:
|
|
- fail:
|
|
msg: deploy_source_host variable is not defined
|
|
when: deploy_source_host is not defined
|
|
- fail:
|
|
msg: deploy_target_host variable is not defined
|
|
when: deploy_target_host is not defined
|
|
# Keep in mind that you will still need to use defaults in order to be
|
|
# able to pass Ansible own syntax check for blocks like 'hosts'.
|
|
|
|
- hosts: all
|
|
name: Clear cached facts
|
|
# We don't want to gather facts, just clear them
|
|
gather_facts: false
|
|
tasks:
|
|
- meta: clear_facts
|
|
tags:
|
|
- facts
|
|
|
|
- hosts: "{{ deploy_source_host | default([]) }}:{{ deploy_target_host | default([]) }}"
|
|
name: Gather facts
|
|
strategy: tripleo_free
|
|
gather_facts: 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 # noqa: missing-import
|
|
no_log: true
|
|
tags:
|
|
- always
|
|
|
|
- hosts: all
|
|
name: Include extra variables from files
|
|
gather_facts: "{{ gather_facts | default(false) }}"
|
|
any_errors_fatal: false
|
|
ignore_unreachable: true
|
|
tasks:
|
|
- name: Include Service VIP vars
|
|
include_vars:
|
|
file: "{{ playbook_dir }}/service_vip_vars.yaml"
|
|
name: service_vip_vars
|
|
ignore_errors: yes
|
|
- name: Include OVN bridge MAC address variables
|
|
include_vars:
|
|
file: "{{ playbook_dir }}/ovn_bridge_mac_address_vars.yaml"
|
|
name: ovn_bridge_mac_address_vars
|
|
ignore_errors: yes
|
|
tags:
|
|
- always
|
|
|
|
- hosts: "{{ deploy_target_host | default([]) }}"
|
|
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 | default([]) }}"
|
|
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
|