diff --git a/compose/neutron-agents.yml b/compose/neutron-agents.yml new file mode 100644 index 0000000000..895624dffb --- /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 8d944c00cc..0000000000 --- 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 e4c31169f2..0000000000 --- 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 46f2e68d5c..e8bf237183 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 b9338f7b66..0000000000 --- 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 similarity index 58% rename from docker/centos/binary/neutron/neutron-l3-agent/Dockerfile rename to docker/centos/binary/neutron/neutron-agents/Dockerfile index 96a05c9c38..546c2a2104 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 similarity index 100% rename from docker/centos/binary/neutron/neutron-dhcp-agent/build rename to 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 similarity index 100% rename from docker/centos/binary/neutron/neutron-l3-agent/fwaas_driver.ini rename to 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 0000000000..8658a69801 --- /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 0000000000..63dad958d6 --- /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 0000000000..df50ef3901 --- /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 0000000000..8ea67959c5 --- /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 0000000000..fa70dec8b1 --- /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 0000000000..ddbee63083 --- /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 0000000000..0de2452ee9 --- /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 0000000000..2db1af2dc2 --- /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 e316f8a552..edc8679f61 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 bbc9354f3a..0000000000 --- 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 c8efc14c64..0000000000 --- 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 98a2563e9a..0000000000 --- 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 ec19138031..0000000000 --- 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 7f8ed45cea..0000000000 --- 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 8d9104a332..0000000000 --- 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 bbc9354f3a..0000000000 --- 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 ec19138031..0000000000 --- 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 2ac733b838..0000000000 --- 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 b555e715d8..0000000000 --- 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 c3056fdb4d..37182ebcac 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 4780341fb8..c4fb852050 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 9235c5677d..62193d9d92 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