[Fullstack] Drop all linuxbridge scenarios from fullstack tests

As we discussed on the Neutron CI meeting on 7.11.2023 (it was video
meeting, no strict logs stored) [1], to save some time in the fullstack
job execution we want to stop running all the Linuxbridge related
tests/scenarios in fullstack test suite.
Linuxbridge is experimental feature now, not really fully supported by
the Neutron team so we are allowed to do so in this case.
This patch is doing exactly that. There are no any Linuxbridge agent
related tests/scenarios.

Support for Linuxbridge in the Fullstack framework wasn't however
removed completely. It is like that because of 2 reasons:

* there is one DHCP agent related test which tests different segments
  and is using Linuxbridge agent on one of the fake nodes,
* maybe there will be at some point need to have some Linuxbridge agent
  test there so the infrastructure for that is still available, it won't
  cause any issues while it's (almost) not used currently.

[1] https://meetings.opendev.org/meetings/neutron_ci/2023/neutron_ci.2023-11-07-15.00.html

Change-Id: I709c477f66ada037e47ec9abc7fbed1d1a238d20
(cherry picked from commit 688c5e2a91)
This commit is contained in:
Slawek Kaplonski 2023-11-09 10:15:51 +01:00
parent a680d580e8
commit 2b611b77a6
8 changed files with 3 additions and 117 deletions

View File

@ -188,7 +188,7 @@ class TestPlacementBandwidthReport(base.BaseFullStackTestCase):
scenarios = [
(constants.AGENT_TYPE_OVS,
{'l2_agent_type': constants.AGENT_TYPE_OVS,
'mech_drivers': 'openvswitch,linuxbridge',
'mech_drivers': 'openvswitch',
'placement_port': '8080'}),
(constants.AGENT_TYPE_NIC_SWITCH,
{'l2_agent_type': constants.AGENT_TYPE_NIC_SWITCH,

View File

@ -20,7 +20,6 @@ from oslo_utils import uuidutils
import testscenarios
from neutron.common import utils as common_utils
from neutron.tests import base as tests_base
from neutron.tests.common import net_helpers
from neutron.tests.fullstack import base
from neutron.tests.fullstack.resources import config
@ -150,22 +149,6 @@ class TestOvsConnectivitySameNetworkOnOvsBridgeControllerStop(
signal.SIGKILL)
class TestLinuxBridgeConnectivitySameNetwork(BaseConnectivitySameNetworkTest):
l2_agent_type = constants.AGENT_TYPE_LINUXBRIDGE
scenarios = [
('VXLAN', {'network_type': 'vxlan',
'l2_pop': False}),
('VLANs', {'network_type': 'vlan',
'l2_pop': False}),
('VXLAN and l2pop', {'network_type': 'vxlan',
'l2_pop': True})
]
def test_connectivity(self):
self._test_connectivity()
class _TestUninterruptedConnectivityOnL2AgentRestart(
BaseConnectivitySameNetworkTest):
@ -210,20 +193,3 @@ class TestUninterruptedConnectivityOnL2AgentRestartOvs(
def test_l2_agent_restart(self, agent_restart_timeout=20):
self._test_l2_agent_restart(agent_restart_timeout)
class TestUninterruptedConnectivityOnL2AgentRestartLB(
_TestUninterruptedConnectivityOnL2AgentRestart):
scenario = [('LB',
{'l2_agent_type': constants.AGENT_TYPE_LINUXBRIDGE})]
scenarios = (
testscenarios.multiply_scenarios(
scenario,
_TestUninterruptedConnectivityOnL2AgentRestart.network_scenarios)
)
@tests_base.unstable_test("bug 1928764")
def test_l2_agent_restart(self, agent_restart_timeout=20):
self._test_l2_agent_restart(agent_restart_timeout)

View File

@ -33,8 +33,6 @@ class BaseDhcpAgentTest(base.BaseFullStackTestCase):
scenarios = [
(constants.AGENT_TYPE_OVS,
{'l2_agent_type': constants.AGENT_TYPE_OVS}),
(constants.AGENT_TYPE_LINUXBRIDGE,
{'l2_agent_type': constants.AGENT_TYPE_LINUXBRIDGE})
]
boot_vm_for_test = True
dhcp_scheduler_class = None

View File

@ -37,8 +37,6 @@ class PortShutDownTest(base.BaseFullStackTestCase):
num_hosts = 1
scenarios = [
(constants.AGENT_TYPE_LINUXBRIDGE,
{'l2_agent_type': constants.AGENT_TYPE_LINUXBRIDGE}),
(constants.AGENT_TYPE_OVS,
{'l2_agent_type': constants.AGENT_TYPE_OVS})
]

View File

@ -32,10 +32,6 @@ class TestPortsRebind(base.BaseFullStackTestCase):
('Open vSwitch Agent', {
'l2_agent_type': constants.AGENT_TYPE_OVS,
'l2_mechdriver_name': 'openvswitch',
}),
('Linux Bridge Agent', {
'l2_agent_type': constants.AGENT_TYPE_LINUXBRIDGE,
'l2_mechdriver_name': 'linuxbridge',
})]
def setUp(self):
@ -170,9 +166,6 @@ class TestRouterPortRebind(TestPortsRebind):
5. Router's port created in p.3 should be now bound properly
"""
if self.l2_agent_type == constants.AGENT_TYPE_LINUXBRIDGE:
self.skipTest("Bug 1798085")
gw_port = self.safe_client.client.list_ports(
device_id=self.router['id'],
device_owner=constants.DEVICE_OWNER_ROUTER_GW)['ports'][0]

View File

@ -20,7 +20,6 @@ from neutron_lib.services.qos import constants as qos_consts
from neutronclient.common import exceptions
from oslo_utils import uuidutils
from neutron.agent.linux import tc_lib
from neutron.common import utils
from neutron.tests.common.agents import l2_extensions
from neutron.tests.fullstack import base
@ -30,11 +29,6 @@ from neutron.tests.fullstack.resources import machine
from neutron.tests.unit import testlib_api
from neutron.agent.common import ovs_lib
from neutron.conf.plugins.ml2.drivers import linuxbridge as \
linuxbridge_agent_config
from neutron.plugins.ml2.drivers.linuxbridge.agent import \
linuxbridge_neutron_agent as linuxbridge_agent
from neutron.services.qos.drivers.linuxbridge import driver as lb_drv
from neutron.services.qos.drivers.openvswitch import driver as ovs_drv
@ -404,46 +398,6 @@ class TestBwLimitQoSOvs(_TestBwLimitQoS, base.BaseFullStackTestCase):
self.assertIsNone(qos_queues)
class TestBwLimitQoSLinuxbridge(_TestBwLimitQoS, base.BaseFullStackTestCase):
l2_agent_type = constants.AGENT_TYPE_LINUXBRIDGE
scenarios = [
('egress', {'direction': constants.EGRESS_DIRECTION}),
('ingress', {'direction': constants.INGRESS_DIRECTION}),
]
@staticmethod
def _get_expected_burst_value(limit, direction):
# For egress bandwidth limit this value should be calculated as
# bandwidth_limit * qos_consts.DEFAULT_BURST_RATE
if direction == constants.EGRESS_DIRECTION:
return TestBwLimitQoSLinuxbridge._get_expected_egress_burst_value(
limit)
else:
return TestBwLimitQoSLinuxbridge._get_expected_ingress_burst_value(
limit)
@staticmethod
def _get_expected_ingress_burst_value(limit):
return int(
float(limit) /
float(linuxbridge_agent_config.DEFAULT_KERNEL_HZ_VALUE))
def _wait_for_bw_rule_applied(self, vm, limit, burst, direction):
port_name = linuxbridge_agent.LinuxBridgeManager.get_tap_device_name(
vm.neutron_port['id'])
tc = tc_lib.TcCommand(
port_name,
linuxbridge_agent_config.DEFAULT_KERNEL_HZ_VALUE,
namespace=vm.host.host_namespace
)
if direction == constants.EGRESS_DIRECTION:
utils.wait_until_true(
lambda: tc.get_filters_bw_limits() == (limit, burst))
elif direction == constants.INGRESS_DIRECTION:
utils.wait_until_true(
lambda: tc.get_tbf_bw_limits() == (limit, burst))
class _TestDscpMarkingQoS(BaseQoSRuleTestCase):
number_of_hosts = 2
@ -540,15 +494,6 @@ class TestDscpMarkingQoSOvs(_TestDscpMarkingQoS, base.BaseFullStackTestCase):
vm.bridge, vm.port.name, dscp_mark)
class TestDscpMarkingQoSLinuxbridge(_TestDscpMarkingQoS,
base.BaseFullStackTestCase):
l2_agent_type = constants.AGENT_TYPE_LINUXBRIDGE
def _wait_for_dscp_marking_rule_applied(self, vm, dscp_mark):
l2_extensions.wait_until_dscp_marking_rule_applied_linuxbridge(
vm.host.host_namespace, vm.port.name, dscp_mark)
class _TestPacketRateLimitQoS(BaseQoSRuleTestCase):
number_of_hosts = 1
@ -644,9 +589,6 @@ class TestQoSWithL2Population(base.BaseFullStackTestCase):
(constants.AGENT_TYPE_OVS,
{'mech_drivers': 'openvswitch',
'supported_rules': ovs_drv.SUPPORTED_RULES}),
(constants.AGENT_TYPE_LINUXBRIDGE,
{'mech_drivers': 'linuxbridge',
'supported_rules': lb_drv.SUPPORTED_RULES})
]
def setUp(self):

View File

@ -94,9 +94,6 @@ class TestSecurityGroupsSameNetwork(BaseSecurityGroupsSameNetworkTest):
network_type = 'vxlan'
scenarios = [
# TODO(njohnston): Re-add the linuxbridge scenario once it is stable
# The iptables_hybrid driver lacks isolation between agents and
# because of that using only one host is enough
('ovs-hybrid', {
'firewall_driver': 'iptables_hybrid',
'l2_agent_type': constants.AGENT_TYPE_OVS,

View File

@ -11,7 +11,6 @@
# under the License.
from neutron_lib import constants
from neutronclient.common import exceptions
from oslo_utils import uuidutils
from neutron.tests.common.agents import l2_extensions
@ -72,8 +71,7 @@ class TestSegmentationId(BaseSegmentationIdTest):
scenarios = [
('Open vSwitch Agent', {'l2_agent_type': constants.AGENT_TYPE_OVS}),
('Linux Bridge Agent', {
'l2_agent_type': constants.AGENT_TYPE_LINUXBRIDGE})]
]
num_hosts = 1
def test_change_segmentation_id_no_ports_in_network(self):
@ -103,13 +101,7 @@ class TestSegmentationId(BaseSegmentationIdTest):
self.safe_client.create_port(self.project_id, network['id'],
self.environment.hosts[0].hostname)
if self.l2_agent_type == constants.AGENT_TYPE_LINUXBRIDGE:
# Linuxbridge agent don't support update of segmentation_id for
# the network so this should raise an exception
self.assertRaises(exceptions.BadRequest,
self._update_segmentation_id, network)
else:
self._update_segmentation_id(network)
self._update_segmentation_id(network)
class TestSegmentationIdConnectivity(BaseSegmentationIdTest):