summaryrefslogtreecommitdiff
path: root/docker/neutron/agents/linux-bridge
diff options
context:
space:
mode:
Diffstat (limited to 'docker/neutron/agents/linux-bridge')
-rw-r--r--docker/neutron/agents/linux-bridge/Dockerfile15
l---------docker/neutron/agents/linux-bridge/build1
-rwxr-xr-xdocker/neutron/agents/linux-bridge/check.sh10
-rwxr-xr-xdocker/neutron/agents/linux-bridge/start.sh31
-rw-r--r--docker/neutron/agents/linux-bridge/sudoers.sh12
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