diff --git a/lib/neutron b/lib/neutron index 4e9691dfc0..4847e87f2f 100644 --- a/lib/neutron +++ b/lib/neutron @@ -95,6 +95,9 @@ NEUTRON_ROOTWRAP_CONF_FILE=$NEUTRON_CONF_DIR/rootwrap.conf NEUTRON_ROOTWRAP_CMD="$NEUTRON_ROOTWRAP $NEUTRON_ROOTWRAP_CONF_FILE" NEUTRON_ROOTWRAP_DAEMON_CMD="$NEUTRON_ROOTWRAP-daemon $NEUTRON_ROOTWRAP_CONF_FILE" +# This is needed because _neutron_ovs_base_configure_l3_agent will set +# external_network_bridge +Q_USE_PROVIDERNET_FOR_PUBLIC=${Q_USE_PROVIDERNET_FOR_PUBLIC:-True} # This is needed because _neutron_ovs_base_configure_l3_agent uses it to create # an external network bridge PUBLIC_BRIDGE=${PUBLIC_BRIDGE:-br-ex} diff --git a/lib/neutron_plugins/ovs_base b/lib/neutron_plugins/ovs_base index 558a7d5d07..523024e2fe 100644 --- a/lib/neutron_plugins/ovs_base +++ b/lib/neutron_plugins/ovs_base @@ -96,6 +96,10 @@ function _neutron_ovs_base_configure_firewall_driver { } function _neutron_ovs_base_configure_l3_agent { + if [ "$Q_USE_PROVIDERNET_FOR_PUBLIC" != "True" ]; then + iniset $Q_L3_CONF_FILE DEFAULT external_network_bridge $PUBLIC_BRIDGE + fi + neutron-ovs-cleanup --config-file $NEUTRON_CONF if [[ "$Q_USE_PUBLIC_VETH" = "True" ]]; then ip link show $Q_PUBLIC_VETH_INT > /dev/null 2>&1 ||