aboutsummaryrefslogtreecommitdiff
path: root/docker/common
diff options
context:
space:
mode:
Diffstat (limited to 'docker/common')
-rwxr-xr-xdocker/common/neutron/neutron-openvswitch-agent/check.sh13
-rwxr-xr-xdocker/common/neutron/neutron-openvswitch-agent/start.sh45
2 files changed, 58 insertions, 0 deletions
diff --git a/docker/common/neutron/neutron-openvswitch-agent/check.sh b/docker/common/neutron/neutron-openvswitch-agent/check.sh
new file mode 100755
index 000000000..087bf4fdb
--- /dev/null
+++ b/docker/common/neutron/neutron-openvswitch-agent/check.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+RES=0
+
+check=$(/usr/bin/neutron agent-list | awk '/ vSwitch / {print $10}')
+error="ERROR: Neutron OpenvSwitch agent is not alive."
+
+if [[ $check != ":-)" ]]; then
+ echo $error >&2
+ RES=1
+fi
+
+exit $RES
diff --git a/docker/common/neutron/neutron-openvswitch-agent/start.sh b/docker/common/neutron/neutron-openvswitch-agent/start.sh
new file mode 100755
index 000000000..8c4d1a037
--- /dev/null
+++ b/docker/common/neutron/neutron-openvswitch-agent/start.sh
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+set -e
+
+. /opt/kolla/config-neutron.sh
+. /opt/kolla/config-sudoers.sh
+
+: ${NEUTRON_FLAT_NETWORK_NAME:=physnet1}
+: ${NEUTRON_FLAT_NETWORK_INTERFACE:=eth1}
+
+check_required_vars PUBLIC_IP NEUTRON_FLAT_NETWORK_NAME \
+ NEUTRON_FLAT_NETWORK_INTERFACE
+
+if ! ovs-vsctl show |grep ${NEUTRON_FLAT_NETWORK_INTERFACE} > /dev/null; then
+ ovs-vsctl add-br ${NEUTRON_FLAT_NETWORK_INTERFACE}
+fi
+
+cfg=/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
+
+# Configure ml2_conf.ini
+if [[ ${TYPE_DRIVERS} =~ vxlan ]]; then
+ crudini --set $cfg \
+ vxlan \
+ local_ip \
+ "${PUBLIC_IP}"
+fi
+
+crudini --set $cfg \
+ ovs \
+ bridge_mappings \
+ "${NEUTRON_FLAT_NETWORK_NAME}:${NEUTRON_FLAT_NETWORK_INTERFACE}"
+
+crudini --set $cfg \
+ ovs \
+ tenant_network_type \
+ "${TENANT_NETWORK_TYPES}"
+
+if [[ ${TENANT_NETWORK_TYPES} =~ "vlan" ]];then
+ crudini --set $cfg \
+ ovs \
+ network_vlan_ranges \
+ "${NEUTRON_VLAN_NETWORK_NAME}:${NEUTRON_NETWORK_VLAN_RANGES}"
+fi
+
+exec /usr/bin/neutron-openvswitch-agent --config-file /etc/neutron/neutron.conf --config-file $cfg