diff options
| author | Steven Dake <stdake@cisco.com> | 2015-08-27 18:30:58 -0700 |
|---|---|---|
| committer | Steven Dake <stdake@cisco.com> | 2015-08-28 00:50:29 -0700 |
| commit | ce86de9915d24f3a3dc7688ff66a536b6adb780b (patch) | |
| tree | bb7ad7324429c89dcc06e045fa94bb02e995c617 /docker_templates | |
| parent | 6434f19ef279f2575e9f0649e9940f88880da424 (diff) | |
| download | kolla-ce86de9915d24f3a3dc7688ff66a536b6adb780b.tar.gz kolla-ce86de9915d24f3a3dc7688ff66a536b6adb780b.zip | |
Move scripts for neutron to docker_templates
Change-Id: Ife6623aab20c4259af28d2b1374fc838b934d053
Partially-Implements: blueprint remove-docker-dir
Diffstat (limited to 'docker_templates')
17 files changed, 390 insertions, 17 deletions
diff --git a/docker_templates/neutron/neutron-agents/fwaas_driver.ini b/docker_templates/neutron/neutron-agents/fwaas_driver.ini index 1cee84b37..a9b1ec519 120000 --- a/docker_templates/neutron/neutron-agents/fwaas_driver.ini +++ b/docker_templates/neutron/neutron-agents/fwaas_driver.ini @@ -1 +1 @@ -../../../docker/common/neutron/neutron-l3-agent/fwaas_driver.ini
\ No newline at end of file +neutron-l3-agent/fwaas_driver.ini
\ No newline at end of file diff --git a/docker_templates/neutron/neutron-agents/neutron-dhcp-agent/config-external.sh b/docker_templates/neutron/neutron-agents/neutron-dhcp-agent/config-external.sh index 9954a4eb3..badbd86a1 120000..100755 --- a/docker_templates/neutron/neutron-agents/neutron-dhcp-agent/config-external.sh +++ b/docker_templates/neutron/neutron-agents/neutron-dhcp-agent/config-external.sh @@ -1 +1,13 @@ -../../../../docker/common/neutron/neutron-dhcp-agent/config-external.sh
\ No newline at end of file +#!/bin/bash +SOURCES="/opt/kolla/neutron-agents/neutron.conf /opt/kolla/neutron-agents/dhcp_agent.ini /opt/kolla/neutron-agents/dnsmasq.conf" +TARGET="/etc/neutron/" +OWNER="neutron" + +for f in $SOURCES; do + if [[ -f "$f" ]]; then + fname=$(basename $f) + cp $f $TARGET + chown ${OWNER}: $TARGET/$fname + chmod 0644 $TARGET/$fname + fi +done diff --git a/docker_templates/neutron/neutron-agents/neutron-dhcp-agent/start.sh b/docker_templates/neutron/neutron-agents/neutron-dhcp-agent/start.sh index 4679ff75c..7b64f87aa 120000..100755 --- a/docker_templates/neutron/neutron-agents/neutron-dhcp-agent/start.sh +++ b/docker_templates/neutron/neutron-agents/neutron-dhcp-agent/start.sh @@ -1 +1,37 @@ -../../../../docker/common/neutron/neutron-dhcp-agent/start.sh
\ No newline at end of file +#!/bin/bash +set -o errexit + +CMD="/usr/bin/neutron-dhcp-agent" +ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini" + +# Loading common functions. +source /opt/kolla/kolla-common.sh +source /opt/kolla/config-sudoers.sh + +# Override set_configs() here because it doesn't work for fat containers like +# this one. +set_configs() { + case $KOLLA_CONFIG_STRATEGY in + CONFIG_EXTERNAL_COPY_ALWAYS) + source /opt/kolla/neutron-dhcp-agent/config-external.sh + ;; + CONFIG_EXTERNAL_COPY_ONCE) + if [[ -f /configured-dhcp ]]; then + echo 'INFO - Neutron-dhcp has already been configured; Refusing to copy new configs' + return + fi + source /opt/kolla/neutron-dhcp-agent/config-external.sh + touch /configured-dhcp + ;; + + *) + echo '$KOLLA_CONFIG_STRATEGY is not set properly' + exit 1 + ;; + esac +} + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker_templates/neutron/neutron-agents/neutron-l3-agent/config-external.sh b/docker_templates/neutron/neutron-agents/neutron-l3-agent/config-external.sh index 349f75584..e6eb049a4 120000..100755 --- a/docker_templates/neutron/neutron-agents/neutron-l3-agent/config-external.sh +++ b/docker_templates/neutron/neutron-agents/neutron-l3-agent/config-external.sh @@ -1 +1,23 @@ -../../../../docker/common/neutron/neutron-l3-agent/config-external.sh
\ No newline at end of file +#!/bin/bash +SOURCES="/opt/kolla/neutron-agents/neutron.conf /opt/kolla/neutron-agents/l3_agent.ini /opt/kolla/neutron-agents/fwaas_driver.ini" +TARGET="/etc/neutron/" +OWNER="neutron" + +for f in $SOURCES; do + if [[ -f "$f" ]]; then + fname=$(basename $f) + cp $f $TARGET + chown ${OWNER}: $TARGET/$fname + chmod 0644 $TARGET/$fname + fi +done + +SOURCE="/opt/kolla/neutron-agents/ml2_conf.ini" +TARGET="/etc/neutron/plugins/ml2/ml2_conf.ini" +OWNER="neutron" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker_templates/neutron/neutron-agents/neutron-l3-agent/fwaas_driver.ini b/docker_templates/neutron/neutron-agents/neutron-l3-agent/fwaas_driver.ini index 7e00b3b7f..41f761abf 120000..100644 --- a/docker_templates/neutron/neutron-agents/neutron-l3-agent/fwaas_driver.ini +++ b/docker_templates/neutron/neutron-agents/neutron-l3-agent/fwaas_driver.ini @@ -1 +1,3 @@ -../../../../docker/common/neutron/neutron-l3-agent/fwaas_driver.ini
\ No newline at end of file +[fwaas] +#driver = neutron.services.firewall.drivers.linux.iptables_fwaas.IptablesFwaasDriver +#enabled = True diff --git a/docker_templates/neutron/neutron-agents/neutron-l3-agent/start.sh b/docker_templates/neutron/neutron-agents/neutron-l3-agent/start.sh index 3b2b832d6..e0a17e47a 120000..100755 --- a/docker_templates/neutron/neutron-agents/neutron-l3-agent/start.sh +++ b/docker_templates/neutron/neutron-agents/neutron-l3-agent/start.sh @@ -1 +1,37 @@ -../../../../docker/common/neutron/neutron-l3-agent/start.sh
\ No newline at end of file +#!/bin/bash +set -o errexit + +CMD="/usr/bin/neutron-l3-agent" +ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/l3_agent.ini --config-file /etc/neutron/fwaas_driver.ini --config-file /etc/neutron/plugins/ml2/ml2_conf.ini" + +# Loading common functions. +source /opt/kolla/kolla-common.sh +source /opt/kolla/config-sudoers.sh + +# Override set_configs() here because it doesn't work for fat containers like +# this one. +set_configs() { + case $KOLLA_CONFIG_STRATEGY in + CONFIG_EXTERNAL_COPY_ALWAYS) + source /opt/kolla/neutron-l3-agent/config-external.sh + ;; + CONFIG_EXTERNAL_COPY_ONCE) + if [[ -f /configured-l3 ]]; then + echo 'INFO - Neutron-l3 has already been configured; Refusing to copy new configs' + return + fi + source /opt/kolla/neutron-l3-agent/config-external.sh + touch /configured-l3 + ;; + + *) + echo '$KOLLA_CONFIG_STRATEGY is not set properly' + exit 1 + ;; + esac +} + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker_templates/neutron/neutron-agents/neutron-metadata-agent/config-external.sh b/docker_templates/neutron/neutron-agents/neutron-metadata-agent/config-external.sh index eeeb72d51..319ee3793 120000..100755 --- a/docker_templates/neutron/neutron-agents/neutron-metadata-agent/config-external.sh +++ b/docker_templates/neutron/neutron-agents/neutron-metadata-agent/config-external.sh @@ -1 +1,13 @@ -../../../../docker/common/neutron/neutron-metadata-agent/config-external.sh
\ No newline at end of file +#!/bin/bash +SOURCES="/opt/kolla/neutron-agents/neutron.conf /opt/kolla/neutron-agents/metadata_agent.ini" +TARGET="/etc/neutron/" +OWNER="neutron" + +for f in $SOURCES; do + if [[ -f "$f" ]]; then + fname=$(basename $f) + cp $f $TARGET + chown ${OWNER}: $TARGET/$fname + chmod 0644 $TARGET/$fname + fi +done diff --git a/docker_templates/neutron/neutron-agents/neutron-metadata-agent/start.sh b/docker_templates/neutron/neutron-agents/neutron-metadata-agent/start.sh index a48455462..09a7329c7 120000..100755 --- a/docker_templates/neutron/neutron-agents/neutron-metadata-agent/start.sh +++ b/docker_templates/neutron/neutron-agents/neutron-metadata-agent/start.sh @@ -1 +1,37 @@ -../../../../docker/common/neutron/neutron-metadata-agent/start.sh
\ No newline at end of file +#!/bin/bash +set -o errexit + +CMD="/usr/bin/neutron-metadata-agent" +ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/metadata_agent.ini" + +# Loading common functions. +source /opt/kolla/kolla-common.sh +source /opt/kolla/config-sudoers.sh + +# Override set_configs() here because it doesn't work for fat containers like +# this one. +set_configs() { + case $KOLLA_CONFIG_STRATEGY in + CONFIG_EXTERNAL_COPY_ALWAYS) + source /opt/kolla/neutron-metadata-agent/config-external.sh + ;; + CONFIG_EXTERNAL_COPY_ONCE) + if [[ -f /configured-md ]]; then + echo 'INFO - Neutron-metadata has already been configured; Refusing to copy new configs' + return + fi + source /opt/kolla/neutron-metadata-agent/config-external.sh + touch /configured-md + ;; + + *) + echo '$KOLLA_CONFIG_STRATEGY is not set properly' + exit 1 + ;; + esac +} + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker_templates/neutron/neutron-agents/supervisord.conf b/docker_templates/neutron/neutron-agents/supervisord.conf index f4d48915d..5cab8f5dc 120000..100644 --- a/docker_templates/neutron/neutron-agents/supervisord.conf +++ b/docker_templates/neutron/neutron-agents/supervisord.conf @@ -1 +1,40 @@ -../../../docker/common/neutron/neutron-agents/supervisord.conf
\ No newline at end of file +[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 diff --git a/docker_templates/neutron/neutron-base/config-sudoers.sh b/docker_templates/neutron/neutron-base/config-sudoers.sh index 02ea80ca7..82cf0d624 120000..100644 --- a/docker_templates/neutron/neutron-base/config-sudoers.sh +++ b/docker_templates/neutron/neutron-base/config-sudoers.sh @@ -1 +1,12 @@ -../../../docker/common/neutron/neutron-base/config-sudoers.sh
\ No newline at end of file +#!/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 +fi + +touch /sudo-modified diff --git a/docker_templates/neutron/neutron-base/ip_wrapper.py b/docker_templates/neutron/neutron-base/ip_wrapper.py index ef59fec52..591fca6f4 120000..100755 --- a/docker_templates/neutron/neutron-base/ip_wrapper.py +++ b/docker_templates/neutron/neutron-base/ip_wrapper.py @@ -1 +1,66 @@ -../../../docker/common/neutron/neutron-base/ip_wrapper.py
\ No newline at end of file +#!/usr/bin/env python + +# Copyright 2015 Sam Yaple +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This file exists because we want to create and delete any network +# namespaces from the host mount namespace. This allows the host to +# 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 + +import nsenter +import subprocess +import sys + + +def host_mnt_exec(cmd): + try: + with nsenter.ExitStack() as stack: + stack.enter_context( + nsenter.Namespace( + '1', + 'mnt', + proc='/opt/kolla/host_proc/')) + process_ = subprocess.Popen(cmd) + + except Exception as e: + print( + "An error has occured with a component that Kolla manages." + " Please file a bug") + print("Error: ", e) + + return process_ + + +if len(sys.argv) > 2: + # We catch all commands that ip will accept that refer + # to creating or deleteing a Network namespace + if str(sys.argv[1]).startswith("net") and ( + str(sys.argv[2]).startswith("a") or + str(sys.argv[2]).startswith("d")): + # This cmd is executed in the host mount namespace + cmd = ["/usr/bin/env", "ip"] + sys.argv[1:] + sys.exit(host_mnt_exec(cmd).returncode) + else: + cmd = ["/opt/kolla/ip"] + sys.argv[1:] +else: + cmd = ["/opt/kolla/ip"] + + if len(sys.argv) == 2: + cmd = cmd + sys.argv[1:] + +process_ = subprocess.Popen(cmd) +sys.exit(process_.returncode) diff --git a/docker_templates/neutron/neutron-linuxbridge-agent/config-external.sh b/docker_templates/neutron/neutron-linuxbridge-agent/config-external.sh index 1cf0fcc79..c44d71d84 120000..100755 --- a/docker_templates/neutron/neutron-linuxbridge-agent/config-external.sh +++ b/docker_templates/neutron/neutron-linuxbridge-agent/config-external.sh @@ -1 +1,20 @@ -../../../docker/common/neutron/neutron-linuxbridge-agent/config-external.sh
\ No newline at end of file +#!/bin/bash +SOURCE="/opt/kolla/neutron-linuxbridge-agent/neutron.conf" +TARGET="/etc/neutron/neutron.conf" +OWNER="neutron" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi + +SOURCE="/opt/kolla/neutron-linuxbridge-agent/ml2_conf.ini" +TARGET="/etc/neutron/plugins/ml2/ml2_conf.ini" +OWNER="neutron" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker_templates/neutron/neutron-linuxbridge-agent/start.sh b/docker_templates/neutron/neutron-linuxbridge-agent/start.sh index ed241551e..ab47f2dfb 120000..100755 --- a/docker_templates/neutron/neutron-linuxbridge-agent/start.sh +++ b/docker_templates/neutron/neutron-linuxbridge-agent/start.sh @@ -1 +1,14 @@ -../../../docker/common/neutron/neutron-linuxbridge-agent/start.sh
\ No newline at end of file +#!/bin/bash +set -o errexit + +CMD="/usr/bin/neutron-linuxbridge-agent" +ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini" + +# Loading common functions. +source /opt/kolla/kolla-common.sh +source /opt/kolla/config-sudoers.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker_templates/neutron/neutron-openvswitch-agent/config-external.sh b/docker_templates/neutron/neutron-openvswitch-agent/config-external.sh index 5b561db09..552d69861 120000..100755 --- a/docker_templates/neutron/neutron-openvswitch-agent/config-external.sh +++ b/docker_templates/neutron/neutron-openvswitch-agent/config-external.sh @@ -1 +1,20 @@ -../../../docker/common/neutron/neutron-openvswitch-agent/config-external.sh
\ No newline at end of file +#!/bin/bash +SOURCE="/opt/kolla/neutron-openvswitch-agent/neutron.conf" +TARGET="/etc/neutron/neutron.conf" +OWNER="neutron" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi + +SOURCE="/opt/kolla/neutron-openvswitch-agent/ml2_conf.ini" +TARGET="/etc/neutron/plugins/ml2/ml2_conf.ini" +OWNER="neutron" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker_templates/neutron/neutron-openvswitch-agent/start.sh b/docker_templates/neutron/neutron-openvswitch-agent/start.sh index 5a8cdc1ee..6d62ff65d 120000..100755 --- a/docker_templates/neutron/neutron-openvswitch-agent/start.sh +++ b/docker_templates/neutron/neutron-openvswitch-agent/start.sh @@ -1 +1,14 @@ -../../../docker/common/neutron/neutron-openvswitch-agent/start.sh
\ No newline at end of file +#!/bin/bash +set -o errexit + +CMD="/usr/bin/neutron-openvswitch-agent" +ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini" + +# Loading common functions. +source /opt/kolla/kolla-common.sh +source /opt/kolla/config-sudoers.sh + +# Execute config strategy +set_configs + +exec $CMD $ARGS diff --git a/docker_templates/neutron/neutron-server/config-external.sh b/docker_templates/neutron/neutron-server/config-external.sh index b10058e78..574923067 120000..100755 --- a/docker_templates/neutron/neutron-server/config-external.sh +++ b/docker_templates/neutron/neutron-server/config-external.sh @@ -1 +1,20 @@ -../../../docker/common/neutron/neutron-server/config-external.sh
\ No newline at end of file +#!/bin/bash +SOURCE="/opt/kolla/neutron-server/neutron.conf" +TARGET="/etc/neutron/neutron.conf" +OWNER="neutron" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi + +SOURCE="/opt/kolla/neutron-server/ml2_conf.ini" +TARGET="/etc/neutron/plugins/ml2/ml2_conf.ini" +OWNER="neutron" + +if [[ -f "$SOURCE" ]]; then + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker_templates/neutron/neutron-server/start.sh b/docker_templates/neutron/neutron-server/start.sh index 389786a96..51c4c2a3d 120000..100755 --- a/docker_templates/neutron/neutron-server/start.sh +++ b/docker_templates/neutron/neutron-server/start.sh @@ -1 +1,20 @@ -../../../docker/common/neutron/neutron-server/start.sh
\ No newline at end of file +#!/bin/bash +set -o errexit + +CMD="/usr/bin/neutron-server" +ARGS="--config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +# Execute config strategy +set_configs + +# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases +# of the KOLLA_BOOTSTRAP variable being set, including empty. +if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then + su -s /bin/bash -c "neutron-db-manage --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron + exit 0 +fi + +exec $CMD $ARGS |
