47762d4850
* Move the tasks to the role * Skip the task when container is already running Change-Id: I1990d4dd2a02efa2b3766329000aa23419e0ff17 Closes-Bug: #1670286
50 lines
1.9 KiB
YAML
50 lines
1.9 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: "{{ hostvars[inventory_hostname]['ansible_' + api_interface]['ipv4']['address'] }}"
|
|
port: "{{ neutron_server_port }}"
|
|
connect_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' and ansible_distribution_version > '14.04')
|
|
|
|
- name: Checking if '/run' mount flag is set to 'shared'
|
|
command: awk '$5 == "/run" {print $7}' /proc/self/mountinfo
|
|
register: result
|
|
changed_when: false
|
|
failed_when: result.stdout.find('shared') == -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_distribution == 'Ubuntu' and ansible_distribution_version == '14.04'
|