aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam Yaple <sam@yaple.net>2015-06-27 12:07:46 +0000
committerSam Yaple <sam@yaple.net>2015-06-27 16:39:34 +0000
commit62e02fdbf4a4f714d008943c4e5c8512a93807ed (patch)
treed511e0543c6187d38673bcedb257889180025c8d
parenta48900bc1c13fcca782261a9b3015a3676791c53 (diff)
downloadkolla-62e02fdbf4a4f714d008943c4e5c8512a93807ed.tar.gz
kolla-62e02fdbf4a4f714d008943c4e5c8512a93807ed.zip
Partially revert thin neutron containers
Due to a revert in the Docker code, thin neutron containers do not work at this time. The neutron plugin agents do not need to exist in the same container as the other agents however. This allows for using either linuxbridge or openvswitch The docker commit that did the revert: https://github.com/docker/docker/commit/ff770d33cdee5ab4dc0bdeb06dcfea49aa72ab8e Closes-Bug: 1469307 Change-Id: Idf79c31c74c34b93f5a9bac49730aca49bbdb861
-rw-r--r--compose/neutron-agents.yml11
-rw-r--r--compose/neutron-dhcp-agent.yml12
-rw-r--r--compose/neutron-l3-agent.yml12
-rw-r--r--compose/neutron-linuxbridge-agent.yml1
-rw-r--r--compose/neutron-metadata-agent.yml12
-rw-r--r--docker/centos/binary/neutron/neutron-agents/Dockerfile (renamed from docker/centos/binary/neutron/neutron-l3-agent/Dockerfile)17
l---------docker/centos/binary/neutron/neutron-agents/build (renamed from docker/centos/binary/neutron/neutron-dhcp-agent/build)0
l---------docker/centos/binary/neutron/neutron-agents/fwaas_driver.ini (renamed from docker/centos/binary/neutron/neutron-l3-agent/fwaas_driver.ini)0
l---------docker/centos/binary/neutron/neutron-agents/neutron-dhcp-agent/check.sh1
l---------docker/centos/binary/neutron/neutron-agents/neutron-dhcp-agent/start.sh1
l---------docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/check.sh1
l---------docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/fwaas_driver.ini1
l---------docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/start.sh1
l---------docker/centos/binary/neutron/neutron-agents/neutron-metadata-agent/check.sh1
l---------docker/centos/binary/neutron/neutron-agents/neutron-metadata-agent/start.sh1
-rw-r--r--docker/centos/binary/neutron/neutron-agents/supervisord.conf46
-rw-r--r--docker/centos/binary/neutron/neutron-base/Dockerfile8
-rw-r--r--docker/centos/binary/neutron/neutron-dhcp-agent/Dockerfile6
l---------docker/centos/binary/neutron/neutron-dhcp-agent/check.sh1
l---------docker/centos/binary/neutron/neutron-dhcp-agent/start.sh1
l---------docker/centos/binary/neutron/neutron-l3-agent/build1
l---------docker/centos/binary/neutron/neutron-l3-agent/check.sh1
l---------docker/centos/binary/neutron/neutron-l3-agent/start.sh1
-rw-r--r--docker/centos/binary/neutron/neutron-metadata-agent/Dockerfile6
l---------docker/centos/binary/neutron/neutron-metadata-agent/build1
l---------docker/centos/binary/neutron/neutron-metadata-agent/check.sh1
l---------docker/centos/binary/neutron/neutron-metadata-agent/start.sh1
-rwxr-xr-xdocker/common/neutron/neutron-dhcp-agent/start.sh11
-rwxr-xr-xdocker/common/neutron/neutron-l3-agent/start.sh11
-rwxr-xr-xtools/kolla4
30 files changed, 102 insertions, 70 deletions
diff --git a/compose/neutron-agents.yml b/compose/neutron-agents.yml
new file mode 100644
index 000000000..895624dff
--- /dev/null
+++ b/compose/neutron-agents.yml
@@ -0,0 +1,11 @@
+neutronagents:
+ image: kollaglue/centos-rdo-neutron-agents:latest
+ name: neutron-agents
+ net: "host"
+ privileged: true
+ restart: always
+ volumes:
+ - /var/run/netns/:/var/run/netns/
+ - /lib/modules:/lib/modules:ro
+ env_file:
+ - openstack.env
diff --git a/compose/neutron-dhcp-agent.yml b/compose/neutron-dhcp-agent.yml
deleted file mode 100644
index 8d944c00c..000000000
--- a/compose/neutron-dhcp-agent.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-neutrondhcpagent:
- image: kollaglue/centos-rdo-neutron-dhcp-agent:latest
- name: neutron-dhcp-agent
- net: "host"
- privileged: true
- restart: always
- volumes:
- - /run/netns/:/run/netns/:ro
- - /proc/1/ns/:/opt/kolla/host_proc/1/ns/:ro
- - /lib/modules:/lib/modules:ro
- env_file:
- - openstack.env
diff --git a/compose/neutron-l3-agent.yml b/compose/neutron-l3-agent.yml
deleted file mode 100644
index e4c31169f..000000000
--- a/compose/neutron-l3-agent.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-neutronl3agent:
- image: kollaglue/centos-rdo-neutron-l3-agent:latest
- name: neutron-l3-agent
- net: "host"
- privileged: true
- restart: always
- volumes:
- - /run/netns/:/run/netns/:ro
- - /proc/1/ns/:/opt/kolla/host_proc/1/ns/:ro
- - /lib/modules:/lib/modules:ro
- env_file:
- - openstack.env
diff --git a/compose/neutron-linuxbridge-agent.yml b/compose/neutron-linuxbridge-agent.yml
index 46f2e68d5..e8bf23718 100644
--- a/compose/neutron-linuxbridge-agent.yml
+++ b/compose/neutron-linuxbridge-agent.yml
@@ -6,7 +6,6 @@ neutronlinuxbridgeagent:
restart: always
volumes:
- /run/netns/:/run/netns/:ro
- - /proc/1/ns/:/opt/kolla/host_proc/1/ns/:ro
- /lib/modules:/lib/modules:ro
env_file:
- openstack.env
diff --git a/compose/neutron-metadata-agent.yml b/compose/neutron-metadata-agent.yml
deleted file mode 100644
index b9338f7b6..000000000
--- a/compose/neutron-metadata-agent.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-neutronmetadataagent:
- image: kollaglue/centos-rdo-neutron-metadata-agent:latest
- name: neutron-metadata-agent
- net: "host"
- privileged: true
- restart: always
- volumes:
- - /run/netns/:/run/netns/:ro
- - /proc/1/ns/:/opt/kolla/host_proc/1/ns/:ro
- - /lib/modules:/lib/modules:ro
- env_file:
- - openstack.env
diff --git a/docker/centos/binary/neutron/neutron-l3-agent/Dockerfile b/docker/centos/binary/neutron/neutron-agents/Dockerfile
index 96a05c9c3..546c2a210 100644
--- a/docker/centos/binary/neutron/neutron-l3-agent/Dockerfile
+++ b/docker/centos/binary/neutron/neutron-agents/Dockerfile
@@ -1,6 +1,16 @@
FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%neutron-base:%%KOLLA_TAG%%
MAINTAINER Kolla Project (https://launchpad.net/kolla)
+# Install supervisor
+RUN easy_install supervisor
+
+# Install supervisor-stdout
+RUN pip install supervisor-stdout
+
+# Configure supervisord
+RUN mkdir -p /var/log/supervisor/
+COPY supervisord.conf /etc/
+
# TODO: SamYaple FWaaS is part of the l3-agent, not a seperate agent that is
# why this file is needed. To support FWaaS we cannot have a seperate container
# I need to figure out the best way to make this work together
@@ -9,6 +19,9 @@ MAINTAINER Kolla Project (https://launchpad.net/kolla)
# exec line in the start script. Also all these config options can exist in the
# main neutron.conf if we wish
COPY fwaas_driver.ini /etc/neutron/
-COPY check.sh start.sh /
-CMD ["/start.sh"]
+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
+
+CMD ["/usr/bin/supervisord"]
diff --git a/docker/centos/binary/neutron/neutron-dhcp-agent/build b/docker/centos/binary/neutron/neutron-agents/build
index ec1913803..ec1913803 120000
--- a/docker/centos/binary/neutron/neutron-dhcp-agent/build
+++ b/docker/centos/binary/neutron/neutron-agents/build
diff --git a/docker/centos/binary/neutron/neutron-l3-agent/fwaas_driver.ini b/docker/centos/binary/neutron/neutron-agents/fwaas_driver.ini
index 0e016223c..0e016223c 120000
--- a/docker/centos/binary/neutron/neutron-l3-agent/fwaas_driver.ini
+++ b/docker/centos/binary/neutron/neutron-agents/fwaas_driver.ini
diff --git a/docker/centos/binary/neutron/neutron-agents/neutron-dhcp-agent/check.sh b/docker/centos/binary/neutron/neutron-agents/neutron-dhcp-agent/check.sh
new file mode 120000
index 000000000..8658a6980
--- /dev/null
+++ b/docker/centos/binary/neutron/neutron-agents/neutron-dhcp-agent/check.sh
@@ -0,0 +1 @@
+../../../../../common/neutron/neutron-dhcp-agent/check.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-agents/neutron-dhcp-agent/start.sh b/docker/centos/binary/neutron/neutron-agents/neutron-dhcp-agent/start.sh
new file mode 120000
index 000000000..63dad958d
--- /dev/null
+++ b/docker/centos/binary/neutron/neutron-agents/neutron-dhcp-agent/start.sh
@@ -0,0 +1 @@
+../../../../../common/neutron/neutron-dhcp-agent/start.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/check.sh b/docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/check.sh
new file mode 120000
index 000000000..df50ef390
--- /dev/null
+++ b/docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/check.sh
@@ -0,0 +1 @@
+../../../../../common/neutron/neutron-l3-agent/check.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/fwaas_driver.ini b/docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/fwaas_driver.ini
new file mode 120000
index 000000000..8ea67959c
--- /dev/null
+++ b/docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/fwaas_driver.ini
@@ -0,0 +1 @@
+../../../../../common/neutron/neutron-l3-agent/fwaas_driver.ini \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/start.sh b/docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/start.sh
new file mode 120000
index 000000000..fa70dec8b
--- /dev/null
+++ b/docker/centos/binary/neutron/neutron-agents/neutron-l3-agent/start.sh
@@ -0,0 +1 @@
+../../../../../common/neutron/neutron-l3-agent/start.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-agents/neutron-metadata-agent/check.sh b/docker/centos/binary/neutron/neutron-agents/neutron-metadata-agent/check.sh
new file mode 120000
index 000000000..ddbee6308
--- /dev/null
+++ b/docker/centos/binary/neutron/neutron-agents/neutron-metadata-agent/check.sh
@@ -0,0 +1 @@
+../../../../../common/neutron/neutron-metadata-agent/check.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-agents/neutron-metadata-agent/start.sh b/docker/centos/binary/neutron/neutron-agents/neutron-metadata-agent/start.sh
new file mode 120000
index 000000000..0de2452ee
--- /dev/null
+++ b/docker/centos/binary/neutron/neutron-agents/neutron-metadata-agent/start.sh
@@ -0,0 +1 @@
+../../../../../common/neutron/neutron-metadata-agent/start.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-agents/supervisord.conf b/docker/centos/binary/neutron/neutron-agents/supervisord.conf
new file mode 100644
index 000000000..2db1af2dc
--- /dev/null
+++ b/docker/centos/binary/neutron/neutron-agents/supervisord.conf
@@ -0,0 +1,46 @@
+[unix_http_server]
+file = /var/run/supervisor.sock
+
+[inet_http_server]
+port = 127.0.0.1:9001
+
+[supervisord]
+nodaemon=true
+logfile = /var/log/supervisor/supervisord.log
+logfile_maxbytes = 200KB
+logfile_backups = 1
+pidfile = /var/run/supervisord.pid
+childlogdir = /var/log/supervisor
+
+[rpcinterface:supervisor]
+supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
+
+[supervisorctl]
+serverurl = unix:///var/run/supervisor.sock
+
+[program:neutron-dhcp-agent]
+command=/opt/kolla/neutron-dhcp-agent/start.sh
+priority=40
+startsec=10
+stderr_events_enabled=true
+stdout_events_enabled=true
+
+[program:neutron-metadata-agent]
+command=/opt/kolla/neutron-metadata-agent/start.sh
+priority=40
+startsec=10
+stderr_events_enabled=true
+stdout_events_enabled=true
+
+[program:neutron-l3-agent]
+command=/opt/kolla/neutron-l3-agent/start.sh
+priority=40
+startsec=10
+stderr_events_enabled=true
+stdout_events_enabled=true
+
+[eventlistener:stdout]
+command = supervisor_stdout
+buffer_size = 100
+events = PROCESS_LOG
+result_handler = supervisor_stdout:event_handler
diff --git a/docker/centos/binary/neutron/neutron-base/Dockerfile b/docker/centos/binary/neutron/neutron-base/Dockerfile
index e316f8a55..edc8679f6 100644
--- a/docker/centos/binary/neutron/neutron-base/Dockerfile
+++ b/docker/centos/binary/neutron/neutron-base/Dockerfile
@@ -7,12 +7,4 @@ RUN yum -y install openstack-neutron \
python-oslo-policy \
&& yum clean all
-RUN mkdir -p /opt/kolla/host_proc
-
-RUN pip install nsenter \
- && ln -s 1 /opt/kolla/host_proc/self
-
COPY config-neutron.sh config-sudoers.sh /opt/kolla/
-
-RUN mv /sbin/ip /opt/kolla/ip
-COPY ip_wrapper.py /sbin/ip
diff --git a/docker/centos/binary/neutron/neutron-dhcp-agent/Dockerfile b/docker/centos/binary/neutron/neutron-dhcp-agent/Dockerfile
deleted file mode 100644
index bbc9354f3..000000000
--- a/docker/centos/binary/neutron/neutron-dhcp-agent/Dockerfile
+++ /dev/null
@@ -1,6 +0,0 @@
-FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%neutron-base:%%KOLLA_TAG%%
-MAINTAINER Kolla Project (https://launchpad.net/kolla)
-
-COPY check.sh start.sh /
-
-CMD ["/start.sh"]
diff --git a/docker/centos/binary/neutron/neutron-dhcp-agent/check.sh b/docker/centos/binary/neutron/neutron-dhcp-agent/check.sh
deleted file mode 120000
index c8efc14c6..000000000
--- a/docker/centos/binary/neutron/neutron-dhcp-agent/check.sh
+++ /dev/null
@@ -1 +0,0 @@
-../../../../common/neutron/neutron-dhcp-agent/check.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-dhcp-agent/start.sh b/docker/centos/binary/neutron/neutron-dhcp-agent/start.sh
deleted file mode 120000
index 98a2563e9..000000000
--- a/docker/centos/binary/neutron/neutron-dhcp-agent/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../../../../common/neutron/neutron-dhcp-agent/start.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-l3-agent/build b/docker/centos/binary/neutron/neutron-l3-agent/build
deleted file mode 120000
index ec1913803..000000000
--- a/docker/centos/binary/neutron/neutron-l3-agent/build
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-l3-agent/check.sh b/docker/centos/binary/neutron/neutron-l3-agent/check.sh
deleted file mode 120000
index 7f8ed45ce..000000000
--- a/docker/centos/binary/neutron/neutron-l3-agent/check.sh
+++ /dev/null
@@ -1 +0,0 @@
-../../../../common/neutron/neutron-l3-agent/check.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-l3-agent/start.sh b/docker/centos/binary/neutron/neutron-l3-agent/start.sh
deleted file mode 120000
index 8d9104a33..000000000
--- a/docker/centos/binary/neutron/neutron-l3-agent/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../../../../common/neutron/neutron-l3-agent/start.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-metadata-agent/Dockerfile b/docker/centos/binary/neutron/neutron-metadata-agent/Dockerfile
deleted file mode 100644
index bbc9354f3..000000000
--- a/docker/centos/binary/neutron/neutron-metadata-agent/Dockerfile
+++ /dev/null
@@ -1,6 +0,0 @@
-FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%neutron-base:%%KOLLA_TAG%%
-MAINTAINER Kolla Project (https://launchpad.net/kolla)
-
-COPY check.sh start.sh /
-
-CMD ["/start.sh"]
diff --git a/docker/centos/binary/neutron/neutron-metadata-agent/build b/docker/centos/binary/neutron/neutron-metadata-agent/build
deleted file mode 120000
index ec1913803..000000000
--- a/docker/centos/binary/neutron/neutron-metadata-agent/build
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../tools/build-docker-image \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-metadata-agent/check.sh b/docker/centos/binary/neutron/neutron-metadata-agent/check.sh
deleted file mode 120000
index 2ac733b83..000000000
--- a/docker/centos/binary/neutron/neutron-metadata-agent/check.sh
+++ /dev/null
@@ -1 +0,0 @@
-../../../../common/neutron/neutron-metadata-agent/check.sh \ No newline at end of file
diff --git a/docker/centos/binary/neutron/neutron-metadata-agent/start.sh b/docker/centos/binary/neutron/neutron-metadata-agent/start.sh
deleted file mode 120000
index b555e715d..000000000
--- a/docker/centos/binary/neutron/neutron-metadata-agent/start.sh
+++ /dev/null
@@ -1 +0,0 @@
-../../../../common/neutron/neutron-metadata-agent/start.sh \ No newline at end of file
diff --git a/docker/common/neutron/neutron-dhcp-agent/start.sh b/docker/common/neutron/neutron-dhcp-agent/start.sh
index c3056fdb4..37182ebca 100755
--- a/docker/common/neutron/neutron-dhcp-agent/start.sh
+++ b/docker/common/neutron/neutron-dhcp-agent/start.sh
@@ -79,5 +79,16 @@ dhcp-option-force=26,1450
log-facility=${NEUTRON_LOG_DIR}/neutron-dnsmasq.log
EOF
+# TODO: SamYaple remove this section for thin neutron containers
+# The reason we remove existing namespaces is because network namespaces don't
+# persist between container restarts because the network proc mountpoint dies
+# when the container mount namespace dies. The mountpoint in /run/netns does
+# persist however, and that is all we are cleaning up here.
+
+# Remove any existing qdhcp namespaces
+ip netns list | grep qdhcp | while read -r line ; do
+ ip netns delete $line
+done
+
# Start DHCP Agent
exec /usr/bin/neutron-dhcp-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --config-dir /etc/neutron
diff --git a/docker/common/neutron/neutron-l3-agent/start.sh b/docker/common/neutron/neutron-l3-agent/start.sh
index 4780341fb..c4fb85205 100755
--- a/docker/common/neutron/neutron-l3-agent/start.sh
+++ b/docker/common/neutron/neutron-l3-agent/start.sh
@@ -76,5 +76,16 @@ elif [ "${USE_NAMESPACES}" == "true" ] ; then
"true"
fi
+# TODO: SamYaple remove this section for thin neutron containers
+# The reason we remove existing namespaces is because network namespaces don't
+# persist between container restarts because the network proc mountpoint dies
+# when the container mount namespace dies. The mountpoint in /run/netns does
+# persist however, and that is all we are cleaning up here.
+
+# Remove any existing qrouter namespaces
+ip netns list | grep qrouter | while read -r line ; do
+ ip netns delete $line
+done
+
# Start L3 Agent
exec /usr/bin/neutron-l3-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini --config-file /etc/neutron/fwaas_driver.ini --config-dir /etc/neutron
diff --git a/tools/kolla b/tools/kolla
index 9235c5677..62193d9d9 100755
--- a/tools/kolla
+++ b/tools/kolla
@@ -39,10 +39,8 @@ function process_all {
# Defaulting to neutron
process nova-compute
process neutron-server
- process neutron-dhcp-agent
- process neutron-l3-agent
- process neutron-metadata-agent
process neutron-linuxbridge-agent
+ process neutron-agents
fi
process heat-api-engine
process magnum-api-conductor