From ce5a11a3749263b3ce8870ddeb03f98aea49ed53 Mon Sep 17 00:00:00 2001
From: Jeffrey Zhang <zhang.lei.fly@gmail.com>
Date: Sat, 15 Oct 2016 01:49:13 +0800
Subject: [PATCH] Fix stale namespace removal issue

When using both /run and /run/netns in docker container, mount
propagation won't work when delete namespace after the containers are
restarted. This PS makes /run mount as shared.

Closes-Bug: #1616268
Change-Id: Ie16699e1b193b2bf1263d89ea634e89ea69add9e
---
 ansible/roles/ceilometer/tasks/start.yml   |  2 +-
 ansible/roles/cinder/tasks/start.yml       |  4 ++--
 ansible/roles/common/tasks/start.yml       |  2 +-
 ansible/roles/ironic/tasks/start.yml       |  2 +-
 ansible/roles/iscsi/tasks/start.yml        |  4 ++--
 ansible/roles/kuryr/tasks/bootstrap.yml    |  2 +-
 ansible/roles/kuryr/tasks/start.yml        |  2 +-
 ansible/roles/manila/tasks/start.yml       |  2 +-
 ansible/roles/multipathd/tasks/start.yml   |  2 +-
 ansible/roles/neutron/tasks/start.yml      | 22 +++++++++++-----------
 ansible/roles/nova/tasks/start_compute.yml |  6 +++---
 11 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/ansible/roles/ceilometer/tasks/start.yml b/ansible/roles/ceilometer/tasks/start.yml
index 0d87ae6071..4cd760e5b8 100644
--- a/ansible/roles/ceilometer/tasks/start.yml
+++ b/ansible/roles/ceilometer/tasks/start.yml
@@ -60,7 +60,7 @@
     volumes:
       - "{{ node_config_directory }}/ceilometer-compute/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "ceilometer:/var/lib/ceilometer/"
       - "kolla_logs:/var/log/kolla/"
       - "nova_libvirt:/var/lib/libvirt"
diff --git a/ansible/roles/cinder/tasks/start.yml b/ansible/roles/cinder/tasks/start.yml
index 1940141c64..db2e19bed5 100644
--- a/ansible/roles/cinder/tasks/start.yml
+++ b/ansible/roles/cinder/tasks/start.yml
@@ -29,7 +29,7 @@
       - "{{ node_config_directory }}/cinder-volume/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "{% if enable_iscsid | bool %}cinder:/var/lib/cinder{% endif %}"
       - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}"
       - "kolla_logs:/var/log/kolla/"
@@ -51,7 +51,7 @@
       - "{{ node_config_directory }}/cinder-backup/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "{% if enable_cinder_backend_lvm | bool %}cinder:/var/lib/cinder{% endif %}"
       - "{% if enable_cinder_backend_lvm | bool %}iscsi_info:/etc/iscsi{% endif %}"
       - "kolla_logs:/var/log/kolla/"
diff --git a/ansible/roles/common/tasks/start.yml b/ansible/roles/common/tasks/start.yml
index 38943b1ea3..963cd5de1c 100644
--- a/ansible/roles/common/tasks/start.yml
+++ b/ansible/roles/common/tasks/start.yml
@@ -29,7 +29,7 @@
       - "{{ node_config_directory }}/kolla-toolbox/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "kolla_logs:/var/log/kolla/"
 
 - name: Initializing toolbox container using normal user
diff --git a/ansible/roles/ironic/tasks/start.yml b/ansible/roles/ironic/tasks/start.yml
index 7c1fbe8994..874f3e176b 100644
--- a/ansible/roles/ironic/tasks/start.yml
+++ b/ansible/roles/ironic/tasks/start.yml
@@ -35,7 +35,7 @@
       - "/etc/localtime:/etc/localtime:ro"
       - "/sys:/sys"
       - "/dev:/dev"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla"
       - "ironic:/var/lib/ironic"
       - "ironic_pxe:/tftpboot/"
diff --git a/ansible/roles/iscsi/tasks/start.yml b/ansible/roles/iscsi/tasks/start.yml
index caf7f2afd7..f1135188a8 100644
--- a/ansible/roles/iscsi/tasks/start.yml
+++ b/ansible/roles/iscsi/tasks/start.yml
@@ -12,7 +12,7 @@
       - "kolla_logs:/var/log/kolla/"
       - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/sys/kernel/config:/configfs"
@@ -34,7 +34,7 @@
       - "kolla_logs:/var/log/kolla/"
       - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/sys/kernel/config:/configfs"
diff --git a/ansible/roles/kuryr/tasks/bootstrap.yml b/ansible/roles/kuryr/tasks/bootstrap.yml
index 72a30a5b4c..0962484c24 100644
--- a/ansible/roles/kuryr/tasks/bootstrap.yml
+++ b/ansible/roles/kuryr/tasks/bootstrap.yml
@@ -15,5 +15,5 @@
     volumes:
       - "{{ node_config_directory }}/kuryr/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "/usr/lib/docker:/usr/lib/docker"
diff --git a/ansible/roles/kuryr/tasks/start.yml b/ansible/roles/kuryr/tasks/start.yml
index d5a4896a6f..fe93383bf3 100644
--- a/ansible/roles/kuryr/tasks/start.yml
+++ b/ansible/roles/kuryr/tasks/start.yml
@@ -14,6 +14,6 @@
     volumes:
       - "{{ node_config_directory }}/kuryr/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "/usr/lib/docker:/usr/lib/docker"
   when: inventory_hostname in groups['compute']
diff --git a/ansible/roles/manila/tasks/start.yml b/ansible/roles/manila/tasks/start.yml
index 461b81ab09..7adaff7127 100644
--- a/ansible/roles/manila/tasks/start.yml
+++ b/ansible/roles/manila/tasks/start.yml
@@ -33,6 +33,6 @@
     volumes:
       - "{{ node_config_directory }}/manila-share/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "kolla_logs:/var/log/kolla/"
   when: inventory_hostname in groups['manila-share']
diff --git a/ansible/roles/multipathd/tasks/start.yml b/ansible/roles/multipathd/tasks/start.yml
index 0bd7012f31..2bf69eab2d 100644
--- a/ansible/roles/multipathd/tasks/start.yml
+++ b/ansible/roles/multipathd/tasks/start.yml
@@ -12,7 +12,7 @@
       - "kolla_logs:/var/log/kolla/"
       - "/etc/localtime:/etc/localtime:ro"
       - "/dev/:/dev/"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
       - "/lib/modules:/lib/modules:ro"
       - "/sys/kernel/config:/configfs"
diff --git a/ansible/roles/neutron/tasks/start.yml b/ansible/roles/neutron/tasks/start.yml
index e90d4a1763..95f5e65d4c 100644
--- a/ansible/roles/neutron/tasks/start.yml
+++ b/ansible/roles/neutron/tasks/start.yml
@@ -8,7 +8,7 @@
     volumes:
       - "{{ node_config_directory }}/openvswitch-db-server/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
       - "openvswitch_db:/var/lib/openvswitch/"
   when:
@@ -63,7 +63,7 @@
       - "{{ node_config_directory }}/openvswitch-vswitchd/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
   when:
     - (inventory_hostname in groups['compute']
@@ -97,7 +97,7 @@
       - "{{ node_config_directory }}/neutron-openvswitch-agent/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
   when:
     - (
@@ -129,7 +129,7 @@
       - "{{ node_config_directory }}/neutron-sfc-agent/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
   when:
     - (
@@ -159,7 +159,7 @@
       - "{{ node_config_directory }}/neutron-openvswitch-agent-fake-{{ item }}/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
   with_sequence: start=1 end={{ num_nova_fake_per_node }}
   when:
@@ -178,7 +178,7 @@
       - "{{ node_config_directory }}/neutron-sfc-agent-fake-{{ item }}/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
   with_sequence: start=1 end={{ num_nova_fake_per_node }}
   when:
@@ -201,7 +201,7 @@
       - "{{ node_config_directory }}/neutron-linuxbridge-agent/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
   when:
     - (inventory_hostname in groups['compute']
@@ -222,7 +222,7 @@
     volumes:
       - "{{ node_config_directory }}/neutron-dhcp-agent/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "/run/netns/:/run/netns/:shared"
       - "neutron_metadata_socket:/var/lib/neutron/kolla/"
       - "kolla_logs:/var/log/kolla/"
@@ -239,7 +239,7 @@
     volumes:
       - "{{ node_config_directory }}/neutron-l3-agent/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "/run/netns/:/run/netns/:shared"
       - "neutron_metadata_socket:/var/lib/neutron/kolla/"
       - "kolla_logs:/var/log/kolla/"
@@ -258,7 +258,7 @@
     volumes:
       - "{{ node_config_directory }}/neutron-lbaas-agent/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "/run/netns/:/run/netns/:shared"
       - "neutron_metadata_socket:/var/lib/neutron/kolla/"
       - "kolla_logs:/var/log/kolla/"
@@ -293,7 +293,7 @@
     volumes:
       - "{{ node_config_directory }}/neutron-vpnaas-agent/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "/run/netns/:/run/netns/:shared"
       - "neutron_metadata_socket:/var/lib/neutron/kolla/"
       - "kolla_logs:/var/log/kolla/"
diff --git a/ansible/roles/nova/tasks/start_compute.yml b/ansible/roles/nova/tasks/start_compute.yml
index df76747939..091b164cc6 100644
--- a/ansible/roles/nova/tasks/start_compute.yml
+++ b/ansible/roles/nova/tasks/start_compute.yml
@@ -11,7 +11,7 @@
       - "{{ node_config_directory }}/nova-libvirt/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
-      - "/run/:/run/"
+      - "/run/:/run/:shared"
       - "/dev:/dev"
       - "/sys/fs/cgroup:/sys/fs/cgroup"
       - "kolla_logs:/var/log/kolla/"
@@ -31,7 +31,7 @@
       - "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "/dev:/dev"
       - "kolla_logs:/var/log/kolla/"
       - "{% if enable_iscsid | bool %}iscsi_info:/etc/iscsi{% endif %}"
@@ -76,7 +76,7 @@
       - "{{ node_config_directory }}/nova-compute-fake-{{ item }}/:{{ container_config_directory }}/:ro"
       - "/etc/localtime:/etc/localtime:ro"
       - "/lib/modules:/lib/modules:ro"
-      - "/run:/run"
+      - "/run:/run:shared"
       - "kolla_logs:/var/log/kolla/"
   with_sequence: start=1 end={{ num_nova_fake_per_node }}
   when:
-- 
GitLab