
This patch add configuration options for tenant network types and type drivers. Both lists are checked so that tenant types are listed in drivers. For ironic 'flat' driver is mandatory and is added explicitly into ironic prechecks. Change-Id: Ie5775001165412910a258cbed2d2ebbb8ebbd879 Closes-Bug: #1694725
49 lines
1.8 KiB
YAML
49 lines
1.8 KiB
YAML
---
|
|
- name: Get container facts
|
|
kolla_container_facts:
|
|
name:
|
|
- neutron_server
|
|
register: container_facts
|
|
|
|
- name: Checking free port for Neutron Server
|
|
wait_for:
|
|
host: "{{ api_interface_address }}"
|
|
port: "{{ neutron_server_port }}"
|
|
connect_timeout: 1
|
|
timeout: 1
|
|
state: stopped
|
|
when:
|
|
- container_facts['neutron_server'] is not defined
|
|
- inventory_hostname in groups['neutron-server']
|
|
|
|
- name: Checking number of network agents
|
|
local_action: fail msg="Number of network agents are less than two when enabling agent ha"
|
|
changed_when: false
|
|
when:
|
|
- enable_neutron_agent_ha | bool
|
|
- groups['neutron-dhcp-agent'] | length < 2
|
|
or groups['neutron-l3-agent'] | length < 2
|
|
|
|
# When MountFlags is set to shared, a signal bit configured on 20th bit of a number
|
|
# We need to check the 20th bit. 2^20 = 1048576. So we are validating against it.
|
|
- name: Checking if 'MountFlags' for docker service is set to 'shared'
|
|
command: systemctl show docker
|
|
register: result
|
|
changed_when: false
|
|
failed_when: result.stdout.find('MountFlags=1048576') == -1
|
|
when:
|
|
- (inventory_hostname in groups['neutron-dhcp-agent']
|
|
or inventory_hostname in groups['neutron-l3-agent']
|
|
or inventory_hostname in groups['neutron-metadata-agent'])
|
|
- ansible_os_family == 'RedHat' or ansible_distribution == 'Ubuntu'
|
|
|
|
- name: Checking tenant network types
|
|
vars:
|
|
type_drivers: "{{ neutron_type_drivers.replace(' ', '').split(',') | reject('equalto', '') | list }}"
|
|
tenant_network_types: "{{ neutron_tenant_network_types.replace(' ', '').split(',') | reject('equalto', '') | list }}"
|
|
local_action: fail msg="Tenant network type '{{ item }}' is not in type drivers [{{ neutron_type_drivers }}]"
|
|
changed_when: false
|
|
when: item not in type_drivers
|
|
run_once: true
|
|
with_items: "{{ tenant_network_types }}"
|