Merge "QoS rule negative tests"
diff --git a/neutron_tempest_plugin/api/test_ports_negative.py b/neutron_tempest_plugin/api/test_ports_negative.py
index e327c25..004feb9 100644
--- a/neutron_tempest_plugin/api/test_ports_negative.py
+++ b/neutron_tempest_plugin/api/test_ports_negative.py
@@ -54,10 +54,13 @@
@decorators.idempotent_id('7cf473ae-7ec8-4834-ae17-9ef6ec6b8a32')
def test_add_port_with_nonexist_network_id(self):
network = self.network
+ # Copy and restore net ID so the cleanup will delete correct net
+ original_network_id = network['id']
network['id'] = uuidutils.generate_uuid()
self.assertRaises(lib_exc.NotFound,
self.create_port,
network)
+ network['id'] = original_network_id
@decorators.attr(type='negative')
@decorators.idempotent_id('cad2d349-25fa-490e-9675-cd2ea24164bc')
diff --git a/neutron_tempest_plugin/scenario/base.py b/neutron_tempest_plugin/scenario/base.py
index 8591c89..fad85ad 100644
--- a/neutron_tempest_plugin/scenario/base.py
+++ b/neutron_tempest_plugin/scenario/base.py
@@ -222,12 +222,18 @@
error_msg = (
"Router %s is not active on any of the L3 agents" % router_id)
- # NOTE(slaweq): timeout here should be lower for sure, but due to
- # the bug https://launchpad.net/bugs/1923633 let's wait even 10
- # minutes until router will be active on some of the L3 agents
- utils.wait_until_true(_router_active_on_l3_agent,
- timeout=600, sleep=5,
- exception=lib_exc.TimeoutException(error_msg))
+ # NOTE(slaweq): Due to bug
+ # the bug https://launchpad.net/bugs/1923633 let's temporary skip test
+ # if router will not become active on any of the L3 agents in 600
+ # seconds. When that bug will be fixed, we should get rid of that skip
+ # and lower timeout to e.g. 300 seconds, or even less
+ try:
+ utils.wait_until_true(
+ _router_active_on_l3_agent,
+ timeout=600, sleep=5,
+ exception=lib_exc.TimeoutException(error_msg))
+ except lib_exc.TimeoutException:
+ raise cls.skipException("Bug 1923633. %s" % error_msg)
@classmethod
def skip_if_no_extension_enabled_in_l3_agents(cls, extension):
diff --git a/neutron_tempest_plugin/scenario/test_multicast.py b/neutron_tempest_plugin/scenario/test_multicast.py
index 7c1fd2d..726d1e0 100644
--- a/neutron_tempest_plugin/scenario/test_multicast.py
+++ b/neutron_tempest_plugin/scenario/test_multicast.py
@@ -364,8 +364,7 @@
# We don't expect any packets to be captured really in this case
# so let's kill tcpdump so it flushes its output to the output
# file.
- expected_result = (
- '0 packets captured\n0 packets received by filter')
+ expected_result = ('0 packets captured')
unregistered_error_message = (
'Unregistered server received unexpected packet(s).')
try:
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
index db37fad..fd256e1 100644
--- a/zuul.d/master_jobs.yaml
+++ b/zuul.d/master_jobs.yaml
@@ -86,11 +86,25 @@
- ipv6_metadata
tempest_test_regex: ^neutron_tempest_plugin\.api
devstack_services:
+ # Disable OVN services
+ br-ex-tcpdump: false
+ br-int-flows: false
+ ovn-controller: false
+ ovn-northd: false
+ ovs-vswitchd: false
+ ovsdb-server: false
+ q-ovn-metadata-agent: false
+ # Neutron services
+ q-agt: true
+ q-dhcp: true
+ q-l3: true
+ q-meta: true
+ q-metering: true
neutron-log: true
devstack_localrc:
- # TODO(lucasagomes): Re-enable MOD_WSGI after
- # https://bugs.launchpad.net/neutron/+bug/1912359 is implemented
- NEUTRON_DEPLOY_MOD_WSGI: false
+ Q_AGENT: openvswitch
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
devstack_local_conf:
post-config:
# NOTE(slaweq): We can get rid of this hardcoded absolute path when
@@ -685,6 +699,21 @@
- openstack/neutron-tempest-plugin
- openstack/tempest
vars:
+ devstack_services:
+ # Disable OVN services
+ br-ex-tcpdump: false
+ br-int-flows: false
+ ovn-controller: false
+ ovn-northd: false
+ ovs-vswitchd: false
+ ovsdb-server: false
+ q-ovn-metadata-agent: false
+ # Enable Neutron services that are not used by OVN
+ q-agt: true
+ q-dhcp: true
+ q-l3: true
+ q-meta: true
+ q-metering: true
network_api_extensions_common: *api_extensions
tempest_test_regex: ^neutron_tempest_plugin\.sfc
devstack_plugins:
@@ -694,6 +723,9 @@
- flow_classifier
- sfc
devstack_localrc:
+ Q_AGENT: openvswitch
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_sfc) | join(',') }}"
# TODO(bcafarel): tests still fail from time to time in parallel
# https://bugs.launchpad.net/neutron/+bug/1851500
@@ -707,12 +739,30 @@
- openstack/networking-bagpipe
- openstack/networking-bgpvpn
vars:
+ devstack_services:
+ # Disable OVN services
+ br-ex-tcpdump: false
+ br-int-flows: false
+ ovn-controller: false
+ ovn-northd: false
+ ovs-vswitchd: false
+ ovsdb-server: false
+ q-ovn-metadata-agent: false
+ # Enable Neutron services that are not used by OVN
+ q-agt: true
+ q-dhcp: true
+ q-l3: true
+ q-meta: true
+ q-metering: true
tempest_test_regex: ^neutron_tempest_plugin\.bgpvpn
network_api_extensions: *api_extensions
network_api_extensions_bgpvpn:
- bgpvpn
- bgpvpn-routes-control
devstack_localrc:
+ Q_AGENT: openvswitch
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
NETWORKING_BGPVPN_DRIVER: "BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe_v2.BaGPipeBGPVPNDriver:default"
BAGPIPE_DATAPLANE_DRIVER_IPVPN: "ovs"
BAGPIPE_BGP_PEERS: "-"
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
index 055fdfc..936bd11 100644
--- a/zuul.d/project.yaml
+++ b/zuul.d/project.yaml
@@ -181,7 +181,6 @@
templates:
- build-openstack-docs-pti
- neutron-tempest-plugin-jobs
- - neutron-tempest-plugin-jobs-train
- neutron-tempest-plugin-jobs-ussuri
- neutron-tempest-plugin-jobs-victoria
- neutron-tempest-plugin-jobs-wallaby
@@ -191,12 +190,10 @@
check:
jobs:
- neutron-tempest-plugin-sfc
- - neutron-tempest-plugin-sfc-train
- neutron-tempest-plugin-sfc-ussuri
- neutron-tempest-plugin-sfc-victoria
- neutron-tempest-plugin-sfc-wallaby
- neutron-tempest-plugin-bgpvpn-bagpipe
- - neutron-tempest-plugin-bgpvpn-bagpipe-train
- neutron-tempest-plugin-bgpvpn-bagpipe-ussuri
- neutron-tempest-plugin-bgpvpn-bagpipe-victoria
- neutron-tempest-plugin-bgpvpn-bagpipe-wallaby
@@ -217,10 +214,6 @@
experimental:
jobs:
- - neutron-tempest-plugin-fwaas-train:
- # TODO(slaweq): switch it to be voting when bug
- # https://bugs.launchpad.net/neutron/+bug/1858645 will be fixed
- voting: false
- neutron-tempest-plugin-fwaas-ussuri:
# TODO(slaweq): switch it to be voting when bug
# https://bugs.launchpad.net/neutron/+bug/1858645 will be fixed
diff --git a/zuul.d/rocky_jobs.yaml b/zuul.d/rocky_jobs.yaml
index 0cc84a7..c5ccbc0 100644
--- a/zuul.d/rocky_jobs.yaml
+++ b/zuul.d/rocky_jobs.yaml
@@ -132,33 +132,85 @@
- job:
name: neutron-tempest-plugin-scenario-openvswitch-rocky
- parent: neutron-tempest-plugin-scenario-openvswitch
+ parent: neutron-tempest-plugin-scenario
description: |
This job run on py2 for stable/rocky gate.
nodeset: openstack-single-node-xenial
+ timeout: 10000
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars: &scenario_vars_rocky
+ devstack_services:
+ # Disable OVN services
+ br-ex-tcpdump: false
+ br-int-flows: false
+ ovn-controller: false
+ ovn-northd: false
+ ovs-vswitchd: false
+ ovsdb-server: false
+ q-ovn-metadata-agent: false
+ # Neutron services
+ q-agt: true
+ q-dhcp: true
+ q-l3: true
+ q-meta: true
+ q-metering: true
branch_override: stable/rocky
network_api_extensions: *api_extensions
network_available_features: &available_features
-
devstack_localrc:
USE_PYTHON3: false
+ Q_AGENT: openvswitch
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
devstack_local_conf:
post-config:
+ $NEUTRON_CONF:
+ DEFAULT:
+ enable_dvr: false
+ l3_ha: true
+ # NOTE(slaweq): We can get rid of this hardcoded absolute path when
+ # devstack-tempest job will be switched to use lib/neutron instead of
+ # lib/neutron-legacy
+ /$NEUTRON_CORE_PLUGIN_CONF:
+ agent:
+ tunnel_types: vxlan,gre
+ ovs:
+ tunnel_bridge: br-tun
+ bridge_mappings: public:br-ex
$NEUTRON_L3_CONF:
DEFAULT:
# NOTE(slaweq): on Xenial keepalived don't knows this option yet
keepalived_use_no_track: False
- # NOTE(bcafarel): newer tests, unstable on rocky branch
+ test-config:
+ $TEMPEST_CONFIG:
+ network-feature-enabled:
+ available_features: "{{ network_available_features | join(',') }}"
+ neutron_plugin_options:
+ available_type_drivers: flat,vlan,local,vxlan
+ firewall_driver: openvswitch
tempest_black_regex: "\
(^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\
(^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_multiple_ports_portrange_remote)"
branches:
- stable/rocky
+ irrelevant-files: &openvswitch-scenario-irrelevant-files
+ - ^(test-|)requirements.txt$
+ - ^releasenotes/.*$
+ - ^doc/.*$
+ - ^setup.cfg$
+ - ^.*\.rst$
+ - ^neutron/locale/.*$
+ - ^neutron/tests/unit/.*$
+ - ^tools/.*$
+ - ^tox.ini$
+ - ^neutron/agent/windows/.*$
+ - ^neutron/plugins/ml2/drivers/linuxbridge/.*$
+ - ^neutron/plugins/ml2/drivers/macvtap/.*$
+ - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- job:
name: neutron-tempest-plugin-scenario-openvswitch-rocky
@@ -174,28 +226,70 @@
devstack_localrc:
USE_PYTHON3: True
branches: ^(?!stable/rocky).*$
+ irrelevant-files: *openvswitch-scenario-irrelevant-files
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky
- parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
+ parent: neutron-tempest-plugin-scenario
nodeset: openstack-single-node-xenial
+ timeout: 10000
description: |
This job run on py2 for stable/rocky gate.
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars: &openvswitch_vars_rocky
- branch_override: stable/rocky
+ devstack_services:
+ # Disable OVN services
+ br-ex-tcpdump: false
+ br-int-flows: false
+ ovn-controller: false
+ ovn-northd: false
+ ovs-vswitchd: false
+ ovsdb-server: false
+ q-ovn-metadata-agent: false
+ # Neutron services
+ q-agt: true
+ q-dhcp: true
+ q-l3: true
+ q-meta: true
+ q-metering: true
network_api_extensions: *api_extensions
+ network_available_features: *available_features
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+ Q_AGENT: openvswitch
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
devstack_local_conf:
post-config:
+ $NEUTRON_CONF:
+ DEFAULT:
+ enable_dvr: false
+ l3_ha: true
+ # NOTE(slaweq): We can get rid of this hardcoded absolute path when
+ # devstack-tempest job will be switched to use lib/neutron instead of
+ # lib/neutron-legacy
+ /$NEUTRON_CORE_PLUGIN_CONF:
+ agent:
+ tunnel_types: vxlan,gre
+ ovs:
+ tunnel_bridge: br-tun
+ bridge_mappings: public:br-ex
+ securitygroup:
+ firewall_driver: iptables_hybrid
$NEUTRON_L3_CONF:
DEFAULT:
# NOTE(slaweq): on Xenial keepalived don't knows this option yet
keepalived_use_no_track: False
+ test-config:
+ $TEMPEST_CONFIG:
+ network-feature-enabled:
+ available_features: "{{ network_available_features | join(',') }}"
+ neutron_plugin_options:
+ available_type_drivers: flat,vlan,local,vxlan
+ firewall_driver: iptables_hybrid
# TODO(bcafarel): remove trunks subport_connectivity test from blacklist
# when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed
# NOTE(bcafarel): other are newer tests, unstable on rocky branch
@@ -205,11 +299,27 @@
(^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_multiple_ports_portrange_remote)"
branches:
- stable/rocky
+ irrelevant-files: &iptables_hybrid_irrelevant_files
+ - ^(test-|)requirements.txt$
+ - ^releasenotes/.*$
+ - ^doc/.*$
+ - ^setup.cfg$
+ - ^.*\.rst$
+ - ^neutron/locale/.*$
+ - ^neutron/tests/unit/.*$
+ - ^tools/.*$
+ - ^tox.ini$
+ - ^neutron/agent/linux/openvswitch_firewall/.*$
+ - ^neutron/agent/windows/.*$
+ - ^neutron/plugins/ml2/drivers/linuxbridge/.*$
+ - ^neutron/plugins/ml2/drivers/macvtap/.*$
+ - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky
- parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
+ parent: neutron-tempest-plugin-scenario
nodeset: openstack-single-node-xenial
+ timeout: 10000
description: |
This job run on py3 for other than stable/rocky gate
which is nothing but neutron-tempest-pluign master gate.
@@ -220,6 +330,7 @@
devstack_localrc:
USE_PYTHON3: True
branches: ^(?!stable/rocky).*$
+ irrelevant-files: *iptables_hybrid_irrelevant_files
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-rocky
@@ -295,28 +406,171 @@
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-rocky
- parent: neutron-tempest-plugin-dvr-multinode-scenario
+ parent: tempest-multinode-full
description: |
This job run on py2 for stable/rocky gate.
nodeset: openstack-two-node-xenial
override-checkout: stable/rocky
+ roles:
+ - zuul: openstack/devstack
required-projects: *required-projects-rocky
+ pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml
+ voting: false
vars: &multinode_scenario_vars_rocky
- branch_override: stable/rocky
+ tempest_concurrency: 4
+ tox_envlist: all
+ tempest_test_regex: ^neutron_tempest_plugin\.scenario
+ # NOTE(slaweq): in case of some tests, which requires advanced image,
+ # default test timeout set to 1200 seconds may be not enough if job is
+ # run on slow node
+ tempest_test_timeout: 2400
network_api_extensions_common: *api_extensions
+ network_api_extensions_dvr:
+ - dvr
devstack_localrc:
USE_PYTHON3: false
+ NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_dvr) | join(',') }}"
+ PHYSICAL_NETWORK: default
+ CIRROS_VERSION: 0.5.1
+ IMAGE_URLS: https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img
+ ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64
+ ADVANCED_INSTANCE_TYPE: ds512M
+ ADVANCED_INSTANCE_USER: ubuntu
+ BUILD_TIMEOUT: 784
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
+ devstack_plugins:
+ neutron: https://opendev.org/openstack/neutron.git
+ neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git
+ tempest_plugins:
+ - neutron-tempest-plugin
+ devstack_services:
+ tls-proxy: false
+ tempest: true
+ neutron-dns: true
+ neutron-qos: true
+ neutron-segments: true
+ neutron-trunk: true
+ neutron-log: true
+ neutron-port-forwarding: true
+ # Cinder services
+ c-api: false
+ c-bak: false
+ c-sch: false
+ c-vol: false
+ cinder: false
+ # We don't need Swift to be run in the Neutron jobs
+ s-account: false
+ s-container: false
+ s-object: false
+ s-proxy: false
+ devstack_local_conf:
+ post-config:
+ $NEUTRON_CONF:
+ quotas:
+ quota_router: 100
+ quota_floatingip: 500
+ quota_security_group: 100
+ quota_security_group_rule: 1000
+ DEFAULT:
+ router_distributed: True
+ # NOTE(slaweq): We can get rid of this hardcoded absolute path when
+ # devstack-tempest job will be switched to use lib/neutron instead of
+ # lib/neutron-legacy
+ "/$NEUTRON_CORE_PLUGIN_CONF":
+ ml2:
+ type_drivers: flat,geneve,vlan,gre,local,vxlan
+ mechanism_drivers: openvswitch,l2population
+ ml2_type_vlan:
+ network_vlan_ranges: foo:1:10
+ ml2_type_vxlan:
+ vni_ranges: 1:2000
+ ml2_type_gre:
+ tunnel_id_ranges: 1:1000
+ agent:
+ enable_distributed_routing: True
+ l2_population: True
+ tunnel_types: vxlan,gre
+ ovs:
+ tunnel_bridge: br-tun
+ bridge_mappings: public:br-ex
+ $NEUTRON_L3_CONF:
+ DEFAULT:
+ agent_mode: dvr_snat
+ agent:
+ availability_zone: nova
+ $NEUTRON_DHCP_CONF:
+ agent:
+ availability_zone: nova
+ "/etc/neutron/api-paste.ini":
+ "composite:neutronapi_v2_0":
+ use: "call:neutron.auth:pipeline_factory"
+ noauth: "cors request_id catch_errors osprofiler extensions neutronapiapp_v2_0"
+ keystone: "cors request_id catch_errors osprofiler authtoken keystonecontext extensions neutronapiapp_v2_0"
+ test-config:
+ $TEMPEST_CONFIG:
+ network-feature-enabled:
+ available_features: *available_features
+ neutron_plugin_options:
+ provider_vlans: foo,
+ agent_availability_zone: nova
+ image_is_advanced: true
+ available_type_drivers: flat,geneve,vlan,gre,local,vxlan
+ l3_agent_mode: dvr_snat
+ firewall_driver: openvswitch
+ branch_override: stable/rocky
# NOTE(bcafarel): newer tests, unstable on rocky branch
tempest_black_regex: "\
(^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\
(^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_multiple_ports_portrange_remote)"
branches:
- stable/rocky
+ group-vars: &multinode_scenario_group_vars_rocky
+ subnode:
+ devstack_services:
+ tls-proxy: false
+ q-agt: true
+ q-l3: true
+ q-meta: true
+ neutron-qos: true
+ neutron-trunk: true
+ neutron-log: true
+ neutron-port-forwarding: true
+ # Cinder services
+ c-bak: false
+ c-vol: false
+ # We don't need Swift to be run in the Neutron jobs
+ s-account: false
+ s-container: false
+ s-object: false
+ s-proxy: false
+ devstack_localrc:
+ USE_PYTHON3: true
+ devstack_local_conf:
+ post-config:
+ $NEUTRON_CONF:
+ DEFAULT:
+ router_distributed: True
+ # NOTE(slaweq): We can get rid of this hardcoded absolute path when
+ # devstack-tempest job will be switched to use lib/neutron instead of
+ # lib/neutron-legacy
+ "/$NEUTRON_CORE_PLUGIN_CONF":
+ agent:
+ enable_distributed_routing: True
+ l2_population: True
+ tunnel_types: vxlan,gre
+ ovs:
+ tunnel_bridge: br-tun
+ bridge_mappings: public:br-ex
+ $NEUTRON_L3_CONF:
+ DEFAULT:
+ agent_mode: dvr_snat
+ agent:
+ availability_zone: nova
+ irrelevant-files: *openvswitch-scenario-irrelevant-files
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-rocky
- parent: neutron-tempest-plugin-dvr-multinode-scenario
+ parent: tempest-multinode-full
nodeset: openstack-two-node-xenial
description: |
This job run on py3 for other than stable/rocky gate
@@ -328,6 +582,7 @@
USE_PYTHON3: True
required-projects: *required-projects-rocky
group-vars:
+ <<: *multinode_scenario_group_vars_rocky
subnode:
devstack_localrc:
USE_PYTHON3: True
diff --git a/zuul.d/stein_jobs.yaml b/zuul.d/stein_jobs.yaml
index 28729a4..7a8ea25 100644
--- a/zuul.d/stein_jobs.yaml
+++ b/zuul.d/stein_jobs.yaml
@@ -144,18 +144,55 @@
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-stein
- parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
+ parent: neutron-tempest-plugin-scenario
nodeset: openstack-single-node-bionic
+ timeout: 10000
override-checkout: stable/stein
required-projects: *required-projects-stein
vars:
branch_override: stable/stein
+ devstack_services:
+ # Disable OVN services
+ br-ex-tcpdump: false
+ br-int-flows: false
+ ovn-controller: false
+ ovn-northd: false
+ ovs-vswitchd: false
+ ovsdb-server: false
+ q-ovn-metadata-agent: false
+ # Neutron services
+ q-agt: true
+ q-dhcp: true
+ q-l3: true
+ q-meta: true
+ q-metering: true
network_api_extensions: *api_extensions
network_available_features: *available_features
+ # TODO(slaweq): remove trunks subport_connectivity test from blacklist
+ # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed
+ tempest_black_regex: "(^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)"
devstack_localrc:
+ Q_AGENT: openvswitch
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
devstack_local_conf:
post-config:
+ $NEUTRON_CONF:
+ DEFAULT:
+ enable_dvr: false
+ l3_ha: true
+ # NOTE(slaweq): We can get rid of this hardcoded absolute path when
+ # devstack-tempest job will be switched to use lib/neutron instead of
+ # lib/neutron-legacy
+ /$NEUTRON_CORE_PLUGIN_CONF:
+ agent:
+ tunnel_types: vxlan,gre
+ ovs:
+ tunnel_bridge: br-tun
+ bridge_mappings: public:br-ex
+ securitygroup:
+ firewall_driver: iptables_hybrid
$NEUTRON_L3_CONF:
DEFAULT:
# NOTE(slaweq): on Bionic keepalived don't knows this option yet
@@ -163,24 +200,84 @@
test-config:
$TEMPEST_CONFIG:
network-feature-enabled:
- available_features: ""
+ available_features: "{{ network_available_features | join(',') }}"
neutron_plugin_options:
+ available_type_drivers: flat,vlan,local,vxlan
+ firewall_driver: iptables_hybrid
ipv6_metadata: False
+ irrelevant-files:
+ - ^(test-|)requirements.txt$
+ - ^releasenotes/.*$
+ - ^doc/.*$
+ - ^setup.cfg$
+ - ^.*\.rst$
+ - ^neutron/locale/.*$
+ - ^neutron/tests/unit/.*$
+ - ^tools/.*$
+ - ^tox.ini$
+ - ^neutron/agent/linux/openvswitch_firewall/.*$
+ - ^neutron/agent/ovn/.*$
+ - ^neutron/agent/windows/.*$
+ - ^neutron/plugins/ml2/drivers/linuxbridge/.*$
+ - ^neutron/plugins/ml2/drivers/macvtap/.*$
+ - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
+ - ^neutron/plugins/ml2/drivers/ovn/.*$
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-stein
- parent: neutron-tempest-plugin-scenario-linuxbridge
+ parent: neutron-tempest-plugin-scenario
nodeset: openstack-single-node-bionic
+ timeout: 10000
+ roles:
+ - zuul: openstack/neutron
+ pre-run: playbooks/linuxbridge-scenario-pre-run.yaml
override-checkout: stable/stein
required-projects: *required-projects-stein
vars:
branch_override: stable/stein
+ devstack_services:
+ # Disable OVN services
+ br-ex-tcpdump: false
+ br-int-flows: false
+ ovn-controller: false
+ ovn-northd: false
+ ovs-vswitchd: false
+ ovsdb-server: false
+ q-ovn-metadata-agent: false
+ # Neutron services
+ q-agt: true
+ q-dhcp: true
+ q-l3: true
+ q-meta: true
+ q-metering: true
network_api_extensions: *api_extensions
+ network_api_extensions_linuxbridge:
+ - vlan-transparent
network_available_features: *available_features
+ # TODO(eolivare): remove VLAN Transparency tests from blacklist
+ # when bug https://bugs.launchpad.net/neutron/+bug/1907548 will be fixed
+ tempest_black_regex: "(^neutron_tempest_plugin.scenario.test_vlan_transparency.VlanTransparencyTest)"
devstack_localrc:
- NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+ Q_AGENT: linuxbridge
+ NETWORK_API_EXTENSIONS: "{{ (network_api_extensions + network_api_extensions_linuxbridge) | join(',') }}"
+ Q_ML2_TENANT_NETWORK_TYPE: vxlan
+ Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge
devstack_local_conf:
post-config:
+ $NEUTRON_CONF:
+ DEFAULT:
+ enable_dvr: false
+ vlan_transparent: true
+ l3_ha: true
+ AGENT:
+ debug_iptables_rules: true
+ # NOTE(slaweq): We can get rid of this hardcoded absolute path when
+ # devstack-tempest job will be switched to use lib/neutron instead of
+ # lib/neutron-legacy
+ /$NEUTRON_CORE_PLUGIN_CONF:
+ ml2:
+ type_drivers: flat,vlan,local,vxlan
+ mechanism_drivers: linuxbridge
$NEUTRON_L3_CONF:
DEFAULT:
# NOTE(slaweq): on Bionic keepalived don't knows this option yet
@@ -188,9 +285,29 @@
test-config:
$TEMPEST_CONFIG:
network-feature-enabled:
- available_features: ""
+ available_features: "{{ network_available_features | join(',') }}"
neutron_plugin_options:
+ available_type_drivers: flat,vlan,local,vxlan
+ q_agent: linuxbridge
+ firewall_driver: iptables
ipv6_metadata: False
+ irrelevant-files:
+ - ^(test-|)requirements.txt$
+ - ^releasenotes/.*$
+ - ^doc/.*$
+ - ^setup.cfg$
+ - ^.*\.rst$
+ - ^neutron/locale/.*$
+ - ^neutron/tests/unit/.*$
+ - ^tools/.*$
+ - ^tox.ini$
+ - ^neutron/agent/linux/openvswitch_firewall/.*$
+ - ^neutron/agent/ovn/.*$
+ - ^neutron/agent/windows/.*$
+ - ^neutron/plugins/ml2/drivers/openvswitch/.*$
+ - ^neutron/plugins/ml2/drivers/macvtap/.*$
+ - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
+ - ^neutron/plugins/ml2/drivers/ovn/.*$
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-stein
diff --git a/zuul.d/train_jobs.yaml b/zuul.d/train_jobs.yaml
index 75c8ebe..b87dc8c 100644
--- a/zuul.d/train_jobs.yaml
+++ b/zuul.d/train_jobs.yaml
@@ -3,6 +3,11 @@
parent: neutron-tempest-plugin-api
nodeset: openstack-single-node-bionic
override-checkout: stable/train
+ required-projects: &required-projects-train
+ - openstack/neutron
+ - name: openstack/neutron-tempest-plugin
+ override-checkout: 1.5.0
+ - openstack/tempest
vars:
devstack_services:
# Disable OVN services
@@ -122,6 +127,7 @@
parent: neutron-tempest-plugin-scenario-openvswitch
nodeset: openstack-single-node-bionic
override-checkout: stable/train
+ required-projects: *required-projects-train
vars:
branch_override: stable/train
network_api_extensions: *api_extensions
@@ -146,6 +152,7 @@
parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
nodeset: openstack-single-node-bionic
override-checkout: stable/train
+ required-projects: *required-projects-train
vars:
branch_override: stable/train
network_api_extensions: *api_extensions
@@ -170,6 +177,7 @@
parent: neutron-tempest-plugin-scenario-linuxbridge
nodeset: openstack-single-node-bionic
override-checkout: stable/train
+ required-projects: *required-projects-train
vars:
branch_override: stable/train
network_api_extensions: *api_extensions
@@ -194,6 +202,7 @@
parent: neutron-tempest-plugin-dvr-multinode-scenario
nodeset: openstack-two-node-bionic
override-checkout: stable/train
+ required-projects: *required-projects-train
vars:
network_api_extensions_common: *api_extensions
branch_override: stable/train
@@ -203,6 +212,7 @@
parent: neutron-tempest-plugin-designate-scenario
nodeset: openstack-single-node-bionic
override-checkout: stable/train
+ required-projects: *required-projects-train
vars:
branch_override: stable/train
network_api_extensions_common: *api_extensions
@@ -212,6 +222,7 @@
parent: neutron-tempest-plugin-sfc
nodeset: openstack-single-node-bionic
override-checkout: stable/train
+ required-projects: *required-projects-train
vars:
branch_override: stable/train
network_api_extensions_common: *api_extensions
@@ -221,6 +232,7 @@
parent: neutron-tempest-plugin-bgpvpn-bagpipe
nodeset: openstack-single-node-bionic
override-checkout: stable/train
+ required-projects: *required-projects-train
vars:
branch_override: stable/train
network_api_extensions: *api_extensions
@@ -230,6 +242,7 @@
parent: neutron-tempest-plugin-fwaas-ussuri
nodeset: openstack-single-node-bionic
override-checkout: stable/train
+ required-projects: *required-projects-train
vars:
branch_override: stable/train
network_api_extensions_common: *api_extensions