aboutsummaryrefslogtreecommitdiff
path: root/docker/neutron
diff options
context:
space:
mode:
Diffstat (limited to 'docker/neutron')
-rw-r--r--docker/neutron/neutron-agents/Dockerfile.j21
-rw-r--r--docker/neutron/neutron-agents/config-sudoers.sh (renamed from docker/neutron/neutron-base/config-sudoers.sh)0
-rwxr-xr-xdocker/neutron/neutron-agents/start.sh4
-rw-r--r--docker/neutron/neutron-base/Dockerfile.j23
-rw-r--r--docker/neutron/neutron-base/extend_start.sh11
-rw-r--r--[-rwxr-xr-x]docker/neutron/neutron-base/ip_wrapper.py4
-rw-r--r--docker/neutron/neutron-linuxbridge-agent/Dockerfile.j27
-rwxr-xr-xdocker/neutron/neutron-linuxbridge-agent/start.sh8
-rw-r--r--docker/neutron/neutron-openvswitch-agent/Dockerfile.j27
-rwxr-xr-xdocker/neutron/neutron-openvswitch-agent/start.sh8
-rw-r--r--docker/neutron/neutron-server/Dockerfile.j25
-rw-r--r--[-rwxr-xr-x]docker/neutron/neutron-server/extend_start.sh (renamed from docker/neutron/neutron-server/start.sh)14
12 files changed, 33 insertions, 39 deletions
diff --git a/docker/neutron/neutron-agents/Dockerfile.j2 b/docker/neutron/neutron-agents/Dockerfile.j2
index 3fb1ffe30..2967222f4 100644
--- a/docker/neutron/neutron-agents/Dockerfile.j2
+++ b/docker/neutron/neutron-agents/Dockerfile.j2
@@ -31,6 +31,7 @@ COPY fwaas_driver.ini /etc/neutron/
COPY neutron-dhcp-agent/ /opt/kolla/neutron-dhcp-agent
COPY neutron-l3-agent/ /opt/kolla/neutron-l3-agent
COPY neutron-metadata-agent/ /opt/kolla/neutron-metadata-agent
+COPY config-sudoers.sh /opt/kolla/
COPY start.sh /
diff --git a/docker/neutron/neutron-base/config-sudoers.sh b/docker/neutron/neutron-agents/config-sudoers.sh
index 82cf0d624..82cf0d624 100644
--- a/docker/neutron/neutron-base/config-sudoers.sh
+++ b/docker/neutron/neutron-agents/config-sudoers.sh
diff --git a/docker/neutron/neutron-agents/start.sh b/docker/neutron/neutron-agents/start.sh
index 8b5f302cf..baf3d2a8e 100755
--- a/docker/neutron/neutron-agents/start.sh
+++ b/docker/neutron/neutron-agents/start.sh
@@ -1,7 +1,7 @@
#!/bin/bash
set -o errexit
-# Loading common functions.
-source /opt/kolla/kolla-common.sh
+# Processing /opt/kolla/config_files/config.json
+python /opt/kolla/set_configs.py
exec /usr/bin/supervisord
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2
index 8560d72d5..fe073d8cf 100644
--- a/docker/neutron/neutron-base/Dockerfile.j2
+++ b/docker/neutron/neutron-base/Dockerfile.j2
@@ -40,4 +40,5 @@ RUN ln -s neutron-base-source/* neutron \
{% endif %}
-COPY config-sudoers.sh /opt/kolla/
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+RUN chmod 755 /usr/local/bin/kolla_extend_start
diff --git a/docker/neutron/neutron-base/extend_start.sh b/docker/neutron/neutron-base/extend_start.sh
new file mode 100644
index 000000000..07212efce
--- /dev/null
+++ b/docker/neutron/neutron-base/extend_start.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# Neutron uses rootwrap which requires a tty for sudo.
+# Since the container is running in daemon mode, a tty
+# is not present and requiretty must be commented out.
+if [ ! -f /sudo-modified ]; then
+ chmod 0640 /etc/sudoers
+ sed -i '/Defaults requiretty/s/^/#/' /etc/sudoers
+ chmod 0440 /etc/sudoers
+ touch /sudo-modified
+fi
diff --git a/docker/neutron/neutron-base/ip_wrapper.py b/docker/neutron/neutron-base/ip_wrapper.py
index 591fca6f4..871c615ab 100755..100644
--- a/docker/neutron/neutron-base/ip_wrapper.py
+++ b/docker/neutron/neutron-base/ip_wrapper.py
@@ -19,7 +19,9 @@
# access all of the neutron network namespaces as well as all
# containers that bind mount /run/netns from the host.
-# This is required for "thin" neutron containers to function properly
+# This is required for "thin" neutron containers to function properly. However,
+# due to a missing feature/bug in Docker it is not possible to use this script
+# at this time. Once Docker updates with this feature we will usre this again.
import nsenter
import subprocess
diff --git a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2 b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
index 360afc4d1..179890b46 100644
--- a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
@@ -15,13 +15,10 @@ RUN yum install -y \
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
# Install required packages
-RUN yum install -y ebtables && yum clean all
+RUN yum install -y ebtables \
+ && yum clean all
{% endif %}
{% endif %}
-COPY start.sh /
-
-CMD ["/start.sh"]
-
{{ include_footer }}
diff --git a/docker/neutron/neutron-linuxbridge-agent/start.sh b/docker/neutron/neutron-linuxbridge-agent/start.sh
deleted file mode 100755
index 6c4b09679..000000000
--- a/docker/neutron/neutron-linuxbridge-agent/start.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-set -o errexit
-
-# Loading common functions.
-source /opt/kolla/kolla-common.sh
-source /opt/kolla/config-sudoers.sh
-
-exec $CMD
diff --git a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2 b/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
index b6e797b0c..5e659f5a0 100644
--- a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
@@ -15,15 +15,10 @@ RUN yum install -y \
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
# Install required packages
-RUN yum install -y \
- openvswitch \
+RUN yum install -y openvswitch \
&& yum clean all
{% endif %}
{% endif %}
-COPY start.sh /
-
-CMD ["/start.sh"]
-
{{ include_footer }}
diff --git a/docker/neutron/neutron-openvswitch-agent/start.sh b/docker/neutron/neutron-openvswitch-agent/start.sh
deleted file mode 100755
index 6c4b09679..000000000
--- a/docker/neutron/neutron-openvswitch-agent/start.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/bash
-set -o errexit
-
-# Loading common functions.
-source /opt/kolla/kolla-common.sh
-source /opt/kolla/config-sudoers.sh
-
-exec $CMD
diff --git a/docker/neutron/neutron-server/Dockerfile.j2 b/docker/neutron/neutron-server/Dockerfile.j2
index 12a9b2df7..5fcf47a78 100644
--- a/docker/neutron/neutron-server/Dockerfile.j2
+++ b/docker/neutron/neutron-server/Dockerfile.j2
@@ -23,8 +23,7 @@ RUN yum install -y which \
{% endif %}
{% endif %}
-COPY start.sh /
-
-CMD ["/start.sh"]
+COPY extend_start.sh /usr/local/bin/kolla_extend_start
+RUN chmod 755 /usr/local/bin/kolla_extend_start
{{ include_footer }}
diff --git a/docker/neutron/neutron-server/start.sh b/docker/neutron/neutron-server/extend_start.sh
index cf30a7f0a..c832d586d 100755..100644
--- a/docker/neutron/neutron-server/start.sh
+++ b/docker/neutron/neutron-server/extend_start.sh
@@ -1,8 +1,4 @@
#!/bin/bash
-set -o errexit
-
-# Loading common functions.
-source /opt/kolla/kolla-common.sh
# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
# of the KOLLA_BOOTSTRAP variable being set, including empty.
@@ -11,4 +7,12 @@ if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
exit 0
fi
-exec $CMD
+# Neutron uses rootwrap which requires a tty for sudo.
+# Since the container is running in daemon mode, a tty
+# is not present and requiretty must be commented out.
+if [ ! -f /sudo-modified ]; then
+ chmod 0640 /etc/sudoers
+ sed -i '/Defaults requiretty/s/^/#/' /etc/sudoers
+ chmod 0440 /etc/sudoers
+ touch /sudo-modified
+fi