Create /run/netns if does not exist

Unlike docker with podman you can't mount a host directory
that does not exist. We did some work as part of bug 1799638
take care of this for reboots. However, we need it to be created
for fresh installations, as nodes are not necessarily rebooted
after installing paunch. The real issue without reboots did not
surface before the next patch in this series, as we were using
cni0 bridge network for some containers and that resulted in
namespace being created and the directory existing for
neutron_dhcp and neutron_l3 containers in step 4 to mount them.

This patch creates/removes a temp namespace in host_prep_tasks
to ensure that the directory exists.

Change-Id: I19d660168c98887a5e352b3413235888c800760d
Related-Bug: #1799638
This commit is contained in:
Rabi Mishra 2019-01-15 16:13:33 +05:30
parent 52e273e653
commit 9b284e74cb
3 changed files with 24 additions and 0 deletions

View File

@ -259,6 +259,14 @@ outputs:
host_prep_tasks:
list_concat:
- {get_attr: [NeutronLogging, host_prep_tasks]}
- - name: create /run/netns with temp namespace
command: ip netns add ns_temp
register: ipnetns_add_result
ignore_errors: True
- - name: remove temp namespace
command: ip netns delete ns_temp
ignore_errors: True
when: ipnetns_add_result.rc == 0
- - name: create /var/lib/neutron
file:
path: /var/lib/neutron

View File

@ -256,6 +256,14 @@ outputs:
host_prep_tasks:
list_concat:
- {get_attr: [NeutronLogging, host_prep_tasks]}
- - name: create /run/netns with temp namespace
command: ip netns add ns_temp
register: ipnetns_add_result
ignore_errors: True
- - name: remove temp namespace
command: ip netns delete ns_temp
ignore_errors: True
when: ipnetns_add_result.rc == 0
- - name: create /var/lib/neutron
file:
path: /var/lib/neutron

View File

@ -210,6 +210,14 @@ outputs:
host_prep_tasks:
list_concat:
- {get_attr: [NeutronLogging, host_prep_tasks]}
- - name: create /run/netns with temp namespace
command: ip netns add ns_temp
register: ipnetns_add_result
ignore_errors: True
- - name: remove temp namespace
command: ip netns delete ns_temp
ignore_errors: True
when: ipnetns_add_result.rc == 0
- - name: create /var/lib/neutron
file:
path: /var/lib/neutron