diff options
Diffstat (limited to 'docker/neutron/agents/linux-bridge')
| -rw-r--r-- | docker/neutron/agents/linux-bridge/Dockerfile | 15 | ||||
| l--------- | docker/neutron/agents/linux-bridge/build | 1 | ||||
| -rwxr-xr-x | docker/neutron/agents/linux-bridge/check.sh | 10 | ||||
| -rwxr-xr-x | docker/neutron/agents/linux-bridge/start.sh | 31 | ||||
| -rw-r--r-- | docker/neutron/agents/linux-bridge/sudoers.sh | 12 |
5 files changed, 69 insertions, 0 deletions
diff --git a/docker/neutron/agents/linux-bridge/Dockerfile b/docker/neutron/agents/linux-bridge/Dockerfile new file mode 100644 index 000000000..40e4d17a9 --- /dev/null +++ b/docker/neutron/agents/linux-bridge/Dockerfile @@ -0,0 +1,15 @@ +FROM kollaglue/fedora-rdo-neutron-base:l3_ovs_wip +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +# Install required packages +RUN yum install -y openstack-neutron \ + openstack-neutron-linuxbridge \ + yum clean all; + +# Add required scripts +ADD ./start.sh /start.sh +ADD ./check.sh /check.sh +ADD ./sudoers.sh /sudoers.sh + +# Configure and run the service +CMD ["/start.sh"] diff --git a/docker/neutron/agents/linux-bridge/build b/docker/neutron/agents/linux-bridge/build new file mode 120000 index 000000000..8d652f7ee --- /dev/null +++ b/docker/neutron/agents/linux-bridge/build @@ -0,0 +1 @@ +../../../../tools/build-docker-image
\ No newline at end of file diff --git a/docker/neutron/agents/linux-bridge/check.sh b/docker/neutron/agents/linux-bridge/check.sh new file mode 100755 index 000000000..6b7db95e7 --- /dev/null +++ b/docker/neutron/agents/linux-bridge/check.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +RES=0 + +if ! /usr/sbin/brctl show; then + echo "ERROR: brctl show failed" >&2 + RES=1 +fi + +exit $RES diff --git a/docker/neutron/agents/linux-bridge/start.sh b/docker/neutron/agents/linux-bridge/start.sh new file mode 100755 index 000000000..e5982fe66 --- /dev/null +++ b/docker/neutron/agents/linux-bridge/start.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +set -e + +. /opt/kolla/config-neutron.sh +. /sudoers.sh + +: ${BRIDGE_PHYSICAL_INTERFACE:=eth1} +: ${ML2_FLAT_NETWORK:=physnet1} + +cfg=/etc/neutron/plugins/ml2/ml2_conf.ini + +# Configure ml2_conf.ini +crudini --set $cfg \ + ml2_type_flat \ + flat_networks \ + "${ML2_FLAT_NETWORK}" +crudini --set $cfg \ + vxlan \ + local_ip \ + "${PUBLIC_IP}" +crudini --set $cfg \ + linux_bridge \ + physical_interface_mappings \ + "${ML2_FLAT_NETWORK}:${BRIDGE_PHYSICAL_INTERFACE}" + +#Initialization scripts expect a symbolic link +/usr/bin/ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini + +# Start the linux bridge agent. +exec /usr/bin/neutron-linuxbridge-agent diff --git a/docker/neutron/agents/linux-bridge/sudoers.sh b/docker/neutron/agents/linux-bridge/sudoers.sh new file mode 100644 index 000000000..198420026 --- /dev/null +++ b/docker/neutron/agents/linux-bridge/sudoers.sh @@ -0,0 +1,12 @@ +#!/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 /var/run/sudo-modified ]; then + chmod 0640 /etc/sudoers + sed -i '/Defaults requiretty/s/^/#/' /etc/sudoers + chmod 0440 /etc/sudoers +fi + +touch /var/run/sudo-modified |
