9438b2bf56
In order to avoid the neutron-dhcp-agent container from failing, you need to change 'MountFlags' to 'shared' in /var/lib/systemd/system/docker.serivce. Add a precheck so that this issue will not happen as often. Closes-bug: #1546681 Change-Id: I339b5e93e870534fe16c6610f299ca789e5ada62
34 lines
1.4 KiB
YAML
34 lines
1.4 KiB
YAML
---
|
|
- name: Checking that libvirt is not running
|
|
stat: path=/var/run/libvirt/libvirt-sock
|
|
register: result
|
|
failed_when: result.stat.exists
|
|
when: inventory_hostname in groups['compute']
|
|
|
|
- name: Checking Docker version
|
|
command: docker version
|
|
register: result
|
|
failed_when: result | failed
|
|
or (result.stdout | from_yaml).Server.Version | regex_replace('(\\d+\\.\\d+\\.\\d+).*', '\\1') | version_compare(docker_version_min, '<')
|
|
|
|
- name: Checking if 'MountFlags' in /lib/systemd/system/docker.service is set to 'shared'
|
|
command: cat /lib/systemd/system/docker.service
|
|
register: result
|
|
failed_when: result.stdout.find('MountFlags=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_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
|
|
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'
|