[ovn] devstack needs to support openflow15

OVN has been changed to use Openflow15 [1].

Instead of creating br-int and setting the openflow version
via ovn_agent script, it is better to delegate the bridge
creation to the ovn-controller. Thus, having ovn-controller
creating br-int addresses the potential version mismatch.

[1]: 6ec0b82038

Change-Id: I62e4e98556c71312a7cf85b6246ddbecbc59a039
Related-Bug: #1871239
Closes-Bug: #1877195
This commit is contained in:
Flavio Fernandes 2020-05-06 17:58:26 -04:00
parent f951871430
commit ba16d2fc74

View File

@ -164,7 +164,7 @@ function use_new_ovn_repository {
# neutron-ovs-cleanup uses the OVSDB native interface. # neutron-ovs-cleanup uses the OVSDB native interface.
function ovn_base_setup_bridge { function ovn_base_setup_bridge {
local bridge=$1 local bridge=$1
local addbr_cmd="ovs-vsctl --no-wait -- --may-exist add-br $bridge -- set bridge $bridge protocols=OpenFlow13" local addbr_cmd="ovs-vsctl --no-wait -- --may-exist add-br $bridge -- set bridge $bridge protocols=OpenFlow13,OpenFlow15"
if [ "$OVS_DATAPATH_TYPE" != "system" ] ; then if [ "$OVS_DATAPATH_TYPE" != "system" ] ; then
addbr_cmd="$addbr_cmd -- set Bridge $bridge datapath_type=${OVS_DATAPATH_TYPE}" addbr_cmd="$addbr_cmd -- set Bridge $bridge datapath_type=${OVS_DATAPATH_TYPE}"
@ -247,7 +247,7 @@ function create_public_bridge {
local ext_gw_ifc local ext_gw_ifc
ext_gw_ifc=$(get_ext_gw_interface) ext_gw_ifc=$(get_ext_gw_interface)
ovs-vsctl --may-exist add-br $ext_gw_ifc -- set bridge $ext_gw_ifc protocols=OpenFlow13 ovs-vsctl --may-exist add-br $ext_gw_ifc -- set bridge $ext_gw_ifc protocols=OpenFlow13,OpenFlow15
ovs-vsctl set open . external-ids:ovn-bridge-mappings=$PHYSICAL_NETWORK:$ext_gw_ifc ovs-vsctl set open . external-ids:ovn-bridge-mappings=$PHYSICAL_NETWORK:$ext_gw_ifc
if [ -n "$FLOATING_RANGE" ]; then if [ -n "$FLOATING_RANGE" ]; then
local cidr_len=${FLOATING_RANGE#*/} local cidr_len=${FLOATING_RANGE#*/}
@ -650,8 +650,8 @@ function _start_ovs {
ovs-vsctl --no-wait set open_vswitch . external-ids:ovn-cms-options="enable-chassis-as-gw" ovs-vsctl --no-wait set open_vswitch . external-ids:ovn-cms-options="enable-chassis-as-gw"
fi fi
ovn_base_setup_bridge br-int # Note: ovn-controller will create and configure br-int once it is started.
ovs-vsctl --no-wait set bridge br-int fail-mode=secure other-config:disable-in-band=true # So, no need to create it now because nothing depends on that bridge here.
local ovscmd="$OVS_SBINDIR/ovs-vswitchd --log-file --pidfile --detach" local ovscmd="$OVS_SBINDIR/ovs-vswitchd --log-file --pidfile --detach"
_run_process ovs-vswitchd "$ovscmd" "" "$STACK_GROUP" "root" _run_process ovs-vswitchd "$ovscmd" "" "$STACK_GROUP" "root"