From ba16d2fc742bbb9c80f1aec2cbb6de8033d051e5 Mon Sep 17 00:00:00 2001 From: Flavio Fernandes Date: Wed, 6 May 2020 17:58:26 -0400 Subject: [PATCH] [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]: https://github.com/ovn-org/ovn/commit/6ec0b82038052866533f12823fe410308b3e457a Change-Id: I62e4e98556c71312a7cf85b6246ddbecbc59a039 Related-Bug: #1871239 Closes-Bug: #1877195 --- devstack/lib/ovn_agent | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/devstack/lib/ovn_agent b/devstack/lib/ovn_agent index b65d424d1f9..7ffa322588e 100644 --- a/devstack/lib/ovn_agent +++ b/devstack/lib/ovn_agent @@ -164,7 +164,7 @@ function use_new_ovn_repository { # neutron-ovs-cleanup uses the OVSDB native interface. function ovn_base_setup_bridge { 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 addbr_cmd="$addbr_cmd -- set Bridge $bridge datapath_type=${OVS_DATAPATH_TYPE}" @@ -247,7 +247,7 @@ function create_public_bridge { local ext_gw_ifc 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 if [ -n "$FLOATING_RANGE" ]; then 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" fi - ovn_base_setup_bridge br-int - ovs-vsctl --no-wait set bridge br-int fail-mode=secure other-config:disable-in-band=true + # Note: ovn-controller will create and configure br-int once it is started. + # So, no need to create it now because nothing depends on that bridge here. local ovscmd="$OVS_SBINDIR/ovs-vswitchd --log-file --pidfile --detach" _run_process ovs-vswitchd "$ovscmd" "" "$STACK_GROUP" "root"