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.client = client
|
||||||
self.interfaces = [ifc.strip() for ifc in interfaces.split(',')]
|
self.interfaces = [ifc.strip() for ifc in interfaces.split(',')]
|
||||||
self.filter_str = filter_str
|
self.filter_str = filter_str
|
||||||
self.timeout = CONF.whitebox_options.capture_timeout
|
self.timeout = CONF.whitebox_neutron_plugin_options.capture_timeout
|
||||||
|
|
||||||
def _setUp(self):
|
def _setUp(self):
|
||||||
self.start()
|
self.start()
|
||||||
|
@ -91,6 +91,38 @@ WhiteboxNeutronPluginOptions = [
|
|||||||
default=1,
|
default=1,
|
||||||
help='The number of network nodes used '
|
help='The number of network nodes used '
|
||||||
'for the OVN router HA.'),
|
'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',
|
cfg.StrOpt('proxy_host_address',
|
||||||
default='',
|
default='',
|
||||||
help='Intermediate host to run commands on podified '
|
help='Intermediate host to run commands on podified '
|
||||||
|
@ -319,6 +319,29 @@ class BaseTempestWhiteboxTestCase(base.BaseTempestTestCase):
|
|||||||
else:
|
else:
|
||||||
return False
|
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(
|
def _create_server_for_topology(
|
||||||
self, network_id=None, port_type=None,
|
self, network_id=None, port_type=None,
|
||||||
different_host=None, port_qos_policy_id=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:
|
- nodeset:
|
||||||
name: whitebox-neutron-five-node-centos-9-stream
|
name: whitebox-neutron-single-node-ubuntu-jammy
|
||||||
nodes:
|
nodes:
|
||||||
- name: controller
|
- name: controller
|
||||||
label: nested-virt-centos-9-stream
|
label: nested-virt-ubuntu-jammy
|
||||||
- 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
|
|
||||||
groups:
|
groups:
|
||||||
- name: tempest
|
- name: tempest
|
||||||
nodes:
|
nodes:
|
||||||
@ -65,7 +16,7 @@
|
|||||||
regex: ^(unmaintained|stable/(victoria|wallaby|xena|yoga|zed)).*$
|
regex: ^(unmaintained|stable/(victoria|wallaby|xena|yoga|zed)).*$
|
||||||
negate: true
|
negate: true
|
||||||
# Comment nodeset and vars to switch back to non nested nodes
|
# 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
|
vars: &nested_virt_vars
|
||||||
devstack_localrc:
|
devstack_localrc:
|
||||||
LIBVIRT_TYPE: kvm
|
LIBVIRT_TYPE: kvm
|
||||||
|
@ -248,8 +248,6 @@
|
|||||||
parent: whitebox-neutron-tempest-plugin-base-nested-switch
|
parent: whitebox-neutron-tempest-plugin-base-nested-switch
|
||||||
pre-run: playbooks/preparations.yaml
|
pre-run: playbooks/preparations.yaml
|
||||||
timeout: 10800
|
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:
|
vars:
|
||||||
network_api_extensions_ovn:
|
network_api_extensions_ovn:
|
||||||
- vlan-transparent
|
- vlan-transparent
|
||||||
@ -402,7 +400,6 @@
|
|||||||
name: whitebox-neutron-tempest-plugin-openvswitch
|
name: whitebox-neutron-tempest-plugin-openvswitch
|
||||||
parent: whitebox-neutron-tempest-plugin-base-nested-switch
|
parent: whitebox-neutron-tempest-plugin-base-nested-switch
|
||||||
pre-run: playbooks/preparations.yaml
|
pre-run: playbooks/preparations.yaml
|
||||||
nodeset: whitebox-neutron-single-node-centos-9-stream
|
|
||||||
timeout: 10800
|
timeout: 10800
|
||||||
vars:
|
vars:
|
||||||
configure_swap_size: 2048
|
configure_swap_size: 2048
|
||||||
|
Loading…
Reference in New Issue
Block a user