Add test_qos.py tests
Moved almost all tests from the downstream test_qos.py except test_qos_user_policies that was intended for non-RBAC environments. The test can be handled later in another patch, if needed. Added window_size parameter for tweaking iperf functionality. Updated test uuids in order to distinguish between d/s tests. Changed node to ubuntu (nested-virt-ubuntu-jammy) in order to overcome node_failure zuul issues with centos-9-stream. Change-Id: Ieda4ed56a0c69b97ac0c0584faad8be8dc5006ca
This commit is contained in:
parent
e6cdcd19b5
commit
8741bffcfa
@ -35,7 +35,7 @@ class TcpdumpCapture(fixtures.Fixture):
|
||||
self.client = client
|
||||
self.interfaces = [ifc.strip() for ifc in interfaces.split(',')]
|
||||
self.filter_str = filter_str
|
||||
self.timeout = CONF.whitebox_options.capture_timeout
|
||||
self.timeout = CONF.whitebox_neutron_plugin_options.capture_timeout
|
||||
|
||||
def _setUp(self):
|
||||
self.start()
|
||||
|
@ -91,6 +91,38 @@ WhiteboxNeutronPluginOptions = [
|
||||
default=1,
|
||||
help='The number of network nodes used '
|
||||
'for the OVN router HA.'),
|
||||
cfg.StrOpt('ml2_plugin_config',
|
||||
default='/etc/neutron/plugins/ml2/ml2_conf.ini',
|
||||
help='Path to ml2 plugin config.'),
|
||||
cfg.IntOpt('minbw_placement_nic_kbps_egress',
|
||||
default=None,
|
||||
help='BW configured per NIC for the minimum BW placement '
|
||||
'enforcement - direction egress'),
|
||||
cfg.IntOpt('minbw_placement_nic_kbps_ingress',
|
||||
default=None,
|
||||
help='BW configured per NIC for the minimum BW placement '
|
||||
'enforcement - direction ingress'),
|
||||
cfg.IntOpt('minbw_placement_num_nics',
|
||||
default=None,
|
||||
help='How many NICs support the minimum BW placement '
|
||||
'enforcement'),
|
||||
cfg.IntOpt('window_size',
|
||||
default=0,
|
||||
help='Parameter for iperf command used in qos bw limit tests.'
|
||||
'Can be used for tweaking iperf in case default value '
|
||||
'does not work for some reason, e.g. MTU issues.'),
|
||||
cfg.StrOpt('node_tenant_interface',
|
||||
default='eth1',
|
||||
help='Physical interface of a node that intended to pass tenant'
|
||||
'network traffic. Note: currently only environments with '
|
||||
'the same name of the tenant interface are supported'),
|
||||
cfg.IntOpt('capture_timeout',
|
||||
default=120,
|
||||
help='Maximal time for running remote capture, in seconds. '
|
||||
'Remote capture process will be stoppped by remote shell '
|
||||
'when this time expires. This is needed in order to stop '
|
||||
'remote process in case test or connection was '
|
||||
'interrupted unexpectedly.'),
|
||||
cfg.StrOpt('proxy_host_address',
|
||||
default='',
|
||||
help='Intermediate host to run commands on podified '
|
||||
|
@ -319,6 +319,29 @@ class BaseTempestWhiteboxTestCase(base.BaseTempestTestCase):
|
||||
else:
|
||||
return False
|
||||
|
||||
def _create_server(self, create_floating_ip=True,
|
||||
scheduler_hints=None, network=None):
|
||||
network = network or self.network
|
||||
server_kwargs = {
|
||||
'flavor_ref': self.flavor_ref,
|
||||
'image_ref': self.image_ref,
|
||||
'key_name': self.keypair['name'],
|
||||
'networks': [{'uuid': network['id']}],
|
||||
'security_groups': [{'name': self.security_groups[-1]['name']}]
|
||||
}
|
||||
if scheduler_hints:
|
||||
server_kwargs['scheduler_hints'] = scheduler_hints
|
||||
server = self.create_server(**server_kwargs)
|
||||
|
||||
port = self.client.list_ports(
|
||||
network_id=network['id'],
|
||||
device_id=server['server']['id'])['ports'][0]
|
||||
if create_floating_ip:
|
||||
fip = self.create_floatingip(port=port)
|
||||
else:
|
||||
fip = None
|
||||
return {'port': port, 'fip': fip, 'server': server}
|
||||
|
||||
def _create_server_for_topology(
|
||||
self, network_id=None, port_type=None,
|
||||
different_host=None, port_qos_policy_id=None):
|
||||
|
1441
whitebox_neutron_tempest_plugin/tests/scenario/test_qos.py
Normal file
1441
whitebox_neutron_tempest_plugin/tests/scenario/test_qos.py
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,57 +1,8 @@
|
||||
# Base nested switch job for 2023.1 and later
|
||||
- nodeset:
|
||||
name: whitebox-neutron-five-node-centos-9-stream
|
||||
name: whitebox-neutron-single-node-ubuntu-jammy
|
||||
nodes:
|
||||
- name: controller
|
||||
label: nested-virt-centos-9-stream
|
||||
- name: controller2
|
||||
label: nested-virt-centos-9-stream
|
||||
- name: controller3
|
||||
label: nested-virt-centos-9-stream
|
||||
- name: compute1
|
||||
label: nested-virt-centos-9-stream
|
||||
- name: compute2
|
||||
label: nested-virt-centos-9-stream
|
||||
groups:
|
||||
# Node where tests are executed and test results collected
|
||||
- name: tempest
|
||||
nodes:
|
||||
- controller
|
||||
# Nodes running the controller service
|
||||
- name: controller
|
||||
nodes:
|
||||
- controller
|
||||
- controller2
|
||||
- controller3
|
||||
# Nodes running the compute service
|
||||
- name: compute
|
||||
nodes:
|
||||
- compute1
|
||||
- compute2
|
||||
# Nodes that are not controller
|
||||
- name: subnode
|
||||
nodes:
|
||||
- compute1
|
||||
- compute2
|
||||
- controller2
|
||||
- controller3
|
||||
# Switch node for multinode networking setup
|
||||
- name: switch
|
||||
nodes:
|
||||
- controller
|
||||
# Peer nodes for multinode networking setup
|
||||
- name: peers
|
||||
nodes:
|
||||
- controller2
|
||||
- controller3
|
||||
- compute1
|
||||
- compute2
|
||||
|
||||
- nodeset:
|
||||
name: whitebox-neutron-single-node-centos-9-stream
|
||||
nodes:
|
||||
- name: controller
|
||||
label: nested-virt-centos-9-stream
|
||||
label: nested-virt-ubuntu-jammy
|
||||
groups:
|
||||
- name: tempest
|
||||
nodes:
|
||||
@ -65,7 +16,7 @@
|
||||
regex: ^(unmaintained|stable/(victoria|wallaby|xena|yoga|zed)).*$
|
||||
negate: true
|
||||
# Comment nodeset and vars to switch back to non nested nodes
|
||||
nodeset: whitebox-neutron-five-node-centos-9-stream
|
||||
nodeset: whitebox-neutron-single-node-ubuntu-jammy
|
||||
vars: &nested_virt_vars
|
||||
devstack_localrc:
|
||||
LIBVIRT_TYPE: kvm
|
||||
|
@ -248,8 +248,6 @@
|
||||
parent: whitebox-neutron-tempest-plugin-base-nested-switch
|
||||
pre-run: playbooks/preparations.yaml
|
||||
timeout: 10800
|
||||
# TODO(mblue): Remove line when changing ovn job to be HA job as well.
|
||||
nodeset: whitebox-neutron-single-node-centos-9-stream
|
||||
vars:
|
||||
network_api_extensions_ovn:
|
||||
- vlan-transparent
|
||||
@ -402,7 +400,6 @@
|
||||
name: whitebox-neutron-tempest-plugin-openvswitch
|
||||
parent: whitebox-neutron-tempest-plugin-base-nested-switch
|
||||
pre-run: playbooks/preparations.yaml
|
||||
nodeset: whitebox-neutron-single-node-centos-9-stream
|
||||
timeout: 10800
|
||||
vars:
|
||||
configure_swap_size: 2048
|
||||
|
Loading…
Reference in New Issue
Block a user