summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-03-28 18:45:06 +0000
committerGerrit Code Review <review@openstack.org>2023-03-28 18:45:06 +0000
commitfa7c3d4649e9541e430f1ecc4f0775ee770a3749 (patch)
tree281765bacb7f8ab06706b197f12f96f861113050
parent92e55ab51f228fa26c530eed00eba1ee15508422 (diff)
parented44efb443f4ee52f7a259df9397ef8b9c1c745a (diff)
downloadneutron-fa7c3d4649e9541e430f1ecc4f0775ee770a3749.tar.gz
Merge "Revert "Ensure vlan network traffic is not centralized"" into stable/xena
-rw-r--r--neutron/common/ovn/constants.py2
-rw-r--r--neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py5
-rw-r--r--neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py16
-rw-r--r--releasenotes/notes/bug-2003455-dff0d0f00b5a18e2.yaml9
4 files changed, 8 insertions, 24 deletions
diff --git a/neutron/common/ovn/constants.py b/neutron/common/ovn/constants.py
index a21b584847..027027025e 100644
--- a/neutron/common/ovn/constants.py
+++ b/neutron/common/ovn/constants.py
@@ -304,8 +304,6 @@ LSP_OPTIONS_MCAST_FLOOD_REPORTS = 'mcast_flood_reports'
LSP_OPTIONS_MCAST_FLOOD = 'mcast_flood'
LRP_OPTIONS_RESIDE_REDIR_CH = 'reside-on-redirect-chassis'
-LRP_OPTIONS_REDIRECT_TYPE = 'redirect-type'
-BRIDGE_REDIRECT_TYPE = "bridged"
# Port Binding types
PB_TYPE_VIRTUAL = 'virtual'
diff --git a/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py b/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py
index 9cd3f6d948..b3243fe0a0 100644
--- a/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py
+++ b/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/maintenance.py
@@ -776,7 +776,10 @@ class DBInconsistenciesPeriodics(SchemaAwarePeriodicsBase):
# Get router ports belonging to VLAN networks
vlan_nets = self._ovn_client._plugin.get_networks(
context, {pnet.NETWORK_TYPE: [n_const.TYPE_VLAN]})
- vlan_net_ids = [vn['id'] for vn in vlan_nets]
+ # FIXME(ltomasbo): Once Bugzilla 2162756 is fixed the
+ # is_provider_network check should be removed
+ vlan_net_ids = [vn['id'] for vn in vlan_nets
+ if not utils.is_provider_network(vn)]
router_ports = self._ovn_client._plugin.get_ports(
context, {'network_id': vlan_net_ids,
'device_owner': n_const.ROUTER_PORT_OWNERS})
diff --git a/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py b/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py
index cc7041e6b4..b3de5e96b4 100644
--- a/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py
+++ b/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py
@@ -1491,29 +1491,21 @@ class OVNClient(object):
if network is None:
network = self._plugin.get_network(admin_context,
port['network_id'])
-
# For VLAN type networks we need to set the
# "reside-on-redirect-chassis" option so the routing for this
# logical router port is centralized in the chassis hosting the
# distributed gateway port.
# https://github.com/openvswitch/ovs/commit/85706c34d53d4810f54bec1de662392a3c06a996
+ # FIXME(ltomasbo): Once Bugzilla 2162756 is fixed the
+ # is_provider_network check should be removed
if network.get(pnet.NETWORK_TYPE) == const.TYPE_VLAN:
options[ovn_const.LRP_OPTIONS_RESIDE_REDIR_CH] = (
- 'false' if ovn_conf.is_ovn_distributed_floating_ip()
+ 'false' if (ovn_conf.is_ovn_distributed_floating_ip() and
+ not utils.is_provider_network(network))
else 'true')
is_gw_port = const.DEVICE_OWNER_ROUTER_GW == port.get(
'device_owner')
-
- # NOTE(ltomasbo): For VLAN type networks connected through the gateway
- # port there is a need to set the redirect-type option to bridge to
- # ensure traffic is not centralized through the controller.
- # For geneve based tenant networks it won't have any effect as it only
- # applies to network with a localnet associated to it
- if is_gw_port and ovn_conf.is_ovn_distributed_floating_ip():
- options[ovn_const.LRP_OPTIONS_REDIRECT_TYPE] = (
- ovn_const.BRIDGE_REDIRECT_TYPE)
-
if is_gw_port and ovn_conf.is_ovn_emit_need_to_frag_enabled():
try:
router_ports = self._get_router_ports(admin_context,
diff --git a/releasenotes/notes/bug-2003455-dff0d0f00b5a18e2.yaml b/releasenotes/notes/bug-2003455-dff0d0f00b5a18e2.yaml
deleted file mode 100644
index c17fe4338d..0000000000
--- a/releasenotes/notes/bug-2003455-dff0d0f00b5a18e2.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
----
-fixes:
- - |
- [`bug 2003455 <https://bugs.launchpad.net/neutron/+bug/2003455>`_]
- Previous commit (https://review.opendev.org/c/openstack/neutron/+/871252)
- added a workaround to avoid vlan provider networks traffic to be tunneled
- to the compute nodes but it was still centralized. Now the traffic is
- distributed thanks to using the "redirect-type" flag on the ovn gateway
- port.