From 05af611606a710bca0119ef30695d26a2ebd5cf0 Mon Sep 17 00:00:00 2001 From: Li Ma Date: Fri, 27 May 2016 15:38:19 +0800 Subject: [PATCH] Add external bridge in devstack when dnat is enabled. Change-Id: Ib93167921805e4aab72eb4c1f48b84a86cc662ce Closes-Bug: #1583595 --- devstack/ovs_setup.sh | 7 +++++++ devstack/plugin.sh | 11 +++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/devstack/ovs_setup.sh b/devstack/ovs_setup.sh index b73af5e0c..9d72eaa10 100644 --- a/devstack/ovs_setup.sh +++ b/devstack/ovs_setup.sh @@ -155,6 +155,13 @@ function start_ovs { _neutron_ovs_base_setup_bridge br-int sudo ovs-vsctl --no-wait set bridge br-int fail-mode=secure other-config:disable-in-band=true + + # setup external bridge if necessary + check_dnat=$(echo $DF_APPS_LIST | grep "DNATApp") + if [[ "$check_dnat" != "" ]]; then + echo "Setup external bridge for DNAT" + sudo ovs-vsctl add-br $PUBLIC_BRIDGE || true + fi fi cd $_pwd diff --git a/devstack/plugin.sh b/devstack/plugin.sh index c1abd6a8b..dd8ece95b 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -21,10 +21,13 @@ NB_DRIVER_CLASS=${NB_DRIVER_CLASS:-$DEFAULT_NB_DRIVER_CLASS} TUNNEL_TYPE=${TUNNEL_TYPE:-$DEFAULT_TUNNEL_TYPE} DF_APPS_LIST=${DF_APPS_LIST:-$DEFAULT_APPS_LIST} -#pubsub +# pub/sub PUBLISHERS_HOSTS=${PUBLISHERS_HOSTS:-"$SERVICE_HOST"} -#ovs related pid files +# OVS bridge definition +PUBLIC_BRIDGE=${PUBLIC_BRIDGE:-br-ex} + +# OVS related pid files OVS_DB_SERVICE="ovsdb-server" OVS_VSWITCHD_SERVICE="ovs-vswitchd" OVS_DIR="/var/run/openvswitch" @@ -107,7 +110,7 @@ function configure_df_plugin { iniset $NEUTRON_CONF df publishers_ips "$PUBLISHERS_HOSTS" iniset $NEUTRON_CONF df publisher_rate_limit_timeout "$PUBLISHER_RATE_LIMIT_TIMEOUT" iniset $NEUTRON_CONF df publisher_rate_limit_count "$PUBLISHER_RATE_LIMIT_COUNT" - iniset $NEUTRON_CONF df_dnat_app external_network_bridge "br-ex" + iniset $NEUTRON_CONF df_dnat_app external_network_bridge "$PUBLIC_BRIDGE" iniset $NEUTRON_CONF df_dnat_app int_peer_patch_port "patch-ex" iniset $NEUTRON_CONF df_dnat_app ex_peer_patch_port "patch-int" iniset $NEUTRON_CONF DEFAULT advertise_mtu "True" @@ -160,7 +163,7 @@ function configure_df_plugin { iniset $NEUTRON_CONF df_l2_app l2_responder "$DF_L2_RESPONDER" iniset $NEUTRON_CONF df enable_df_pub_sub "$DF_PUB_SUB" iniset $NEUTRON_CONF df publishers_ips "$PUBLISHERS_HOSTS" - iniset $NEUTRON_CONF df_dnat_app external_network_bridge "br-ex" + iniset $NEUTRON_CONF df_dnat_app external_network_bridge "$PUBLIC_BRIDGE" iniset $NEUTRON_CONF df_dnat_app int_peer_patch_port "patch-ex" iniset $NEUTRON_CONF df_dnat_app ex_peer_patch_port "patch-int"