neutron/zuul.d/tempest-multinode.yaml
Slawek Kaplonski 4de350a54a Switch neutron-rally-task job to ML2/OVS and skip "test_models_sync"
After switch of the default Neutron backend to the ML2/OVN
in the Devstack we had 2 rally jobs running actually with the
same Neutron backend.

This patch configures explicitly ML2/OVS as a backend in the
'neutron-rally-task' job so it is like it was before the change in
the Devstack repo.

In order to fix the CI, this patch also skips "test_models_sync" test
cases. Once [1] is fixed and released, we'll be able to create SQL
tables specifying the "_constraints_included" flag. When creating a
table, this flag should be set to "False" in order to be able to set
the "index" and "unique" parameters for each column in the table
definition, as we do now.

"test_update_router_admin_state" is excluded from
"neutron-ovn-tempest-slow" until LP#1890445 is fixed.

Set "test_restart_wsgi_on_sighup_multiple_workers" as unstable.

CI job "neutron-ovn-tempest-slow" has been set to non-voting until
LP#1930402 is fixed.

Related-Bug: #1929518
Related-Bug: #1890445
Related-Bug: #1930402
Related-Bug: #1930367

[1]https://github.com/sqlalchemy/alembic/issues/848

Change-Id: I38ed7931169434fecbbefa3762f51a522ef3c509
2021-06-02 17:19:54 +00:00

418 lines
13 KiB
YAML

- job:
name: neutron-tempest-dvr-ha-multinode-full
parent: tempest-multinode-full-py3
timeout: 10800
roles:
- zuul: openstack/neutron-tempest-plugin
required-projects:
- openstack/neutron
- openstack/tempest
pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml
irrelevant-files: &openvswitch-irrelevant-files
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^tox.ini$
- ^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/.*$
voting: false
vars:
tox_envlist: integrated-network
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Swift services
s-account: false
s-container: false
s-object: false
s-proxy: false
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
router_distributed: True
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":
ml2:
mechanism_drivers: openvswitch,l2population
agent:
enable_distributed_routing: True
l2_population: True
tunnel_types: vxlan
arp_responder: True
ovs:
tunnel_bridge: br-tun
bridge_mappings: public:br-ex
$NEUTRON_L3_CONF:
DEFAULT:
agent_mode: dvr_snat
agent:
availability_zone: nova
debug_iptables_rules: True
$NEUTRON_DHCP_CONF:
agent:
availability_zone: nova
group-vars:
subnode:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
q-agt: true
q-l3: true
q-meta: true
br-ex-tcpdump: true
br-int-flows: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Swift services
s-account: false
s-container: false
s-object: false
s-proxy: false
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
arp_responder: True
ovs:
tunnel_bridge: br-tun
bridge_mappings: public:br-ex
resource_provider_bandwidths: br-ex:1000000:1000000
$NEUTRON_L3_CONF:
DEFAULT:
agent_mode: dvr_snat
agent:
availability_zone: nova
debug_iptables_rules: True
- job:
name: neutron-tempest-multinode-full-py3
parent: tempest-multinode-full-py3
timeout: 10800
irrelevant-files: *openvswitch-irrelevant-files
vars:
tox_envlist: integrated-network
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Swift services
s-account: false
s-container: false
s-object: false
s-proxy: false
devstack_local_conf:
post-config:
$NEUTRON_CONF:
nova:
live_migration_events: True
$NEUTRON_L3_CONF:
agent:
debug_iptables_rules: True
group-vars:
subnode:
devstack_services:
# Cinder services
c-bak: false
c-vol: false
devstack_local_conf:
post-config:
$NEUTRON_L3_CONF:
agent:
debug_iptables_rules: True
- job:
name: neutron-tempest-slow-py3
parent: tempest-slow-py3
timeout: 10800
irrelevant-files: *openvswitch-irrelevant-files
vars:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# Swift services
s-account: false
s-container: false
s-object: false
s-proxy: false
devstack_local_conf:
post-config:
$NEUTRON_L3_CONF:
agent:
debug_iptables_rules: True
group-vars:
subnode:
devstack_services:
# Cinder services
c-bak: false
c-vol: false
devstack_local_conf:
post-config:
$NEUTRON_L3_CONF:
agent:
debug_iptables_rules: True
- job:
name: neutron-ovn-multinode-base
description: Base multinode job for devstack/tempest to test Neutron with ovn driver.
abstract: true
parent: tempest-multinode-full-py3
timeout: 10800
required-projects:
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/tempest
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^tox.ini$
- ^neutron/agent/dhcp/.*$
- ^neutron/agent/l2/.*$
- ^neutron/agent/l3/.*$
- ^neutron/agent/metadata/.*$
- ^neutron/agent/windows/.*$
- ^neutron/agent/dhcp_agent.py
- ^neutron/agent/l3_agent.py
- ^neutron/agent/metadata_agent.py
- ^neutron/agent/resource_cache.py
- ^neutron/agent/rpc.py
- ^neutron/agent/securitygroup_rpc.py
- ^neutron/plugins/ml2/drivers/linuxbridge/.*$
- ^neutron/plugins/ml2/drivers/openvswitch/.*$
- ^neutron/plugins/ml2/drivers/macvtap/.*$
- ^neutron/plugins/ml2/drivers/mech_sriov/.*$
- ^neutron/scheduler/.*$
roles:
- zuul: zuul/zuul-jobs
- zuul: openstack/neutron-tempest-plugin
pre-run: playbooks/prepare-ovn-multinode.yaml
vars:
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
is_igmp_snooping_enabled: True
post-config:
"/$NEUTRON_CORE_PLUGIN_CONF":
ovn:
enable_distributed_floating_ip: True
devstack_localrc:
Q_AGENT: ovn
ML2_L3_PLUGIN: ovn-router,trunk
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
PHYSICAL_NETWORK: public
ENABLE_CHASSIS_AS_GW: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_DBS_LOG_LEVEL: dbg
BUILD_TIMEOUT: 784
ENABLE_TLS: True
OVN_IGMP_SNOOPING_ENABLE: True
devstack_plugins:
neutron: https://opendev.org/openstack/neutron
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin
zuul_copy_output:
'/var/log/ovn': 'logs'
'/var/log/openvswitch': 'logs'
'/var/lib/ovn': 'logs'
extensions_to_txt:
db: true
devstack_services:
etcd: false
br-ex-tcpdump: true
br-int-flows: true
q-ovn-metadata-agent: true
ovn-controller: true
ovn-northd: true
ovs-vswitchd: true
ovsdb-server: true
placement-api: true
q-svc: true
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-metering: false
q-dns: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
# When running python3 Swift should be disabled for now
s-account: false
s-container: false
s-object: false
s-proxy: false
tls-proxy: true
q-qos: true
neutron-segments: True
q-port-forwarding: true
# NOTE(slaweq): disable dstat until bug
# https://bugs.launchpad.net/ubuntu/+source/dstat/+bug/1866619 will be
# fixed
dstat: false
group-vars:
subnode:
devstack_services:
br-ex-tcpdump: true
br-int-flows: true
ovn-controller: true
ovn-northd: false
ovs-vswitchd: true
ovsdb-server: true
# NOTE(slaweq): it's just to check if this will force devstack to
# configure neutron and ML2 plugin on subnodes
q-fake: true
q-svc: false
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-metering: false
q-ovn-metadata-agent: true
tls-proxy: true
# NOTE(slaweq): disable dstat until bug
# https://bugs.launchpad.net/ubuntu/+source/dstat/+bug/1866619 will be
# fixed
dstat: false
# Cinder services
c-bak: false
c-vol: false
devstack_localrc:
Q_AGENT: ovn
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
PHYSICAL_NETWORK: public
ENABLE_CHASSIS_AS_GW: false
OVN_DBS_LOG_LEVEL: dbg
USE_PYTHON3: True
ENABLE_TLS: True
- job:
name: neutron-ovn-tempest-slow
parent: neutron-ovn-multinode-base
vars:
tox_envlist: slow-serial
tempest_test_regex: ""
# TODO(slaweq): remove tests from
# tempest.scenario.test_network_v6.TestGettingAddress module from
# prohibit list when bug https://bugs.launchpad.net/neutron/+bug/1863577
# will be fixed
# TODO(ralonsoh): "test_update_router_admin_state" excluded until bug
# https://bugs.launchpad.net/neutron/+bug/1890445 is fixed.
tempest_exclude_regex: "\
(^tempest.scenario.test_network_v6.TestGettingAddress)|\
(^tempest.scenario.test_network_basic_ops.TestNetworkBasicOps.test_update_router_admin_state)"
- job:
# TODO(slaweq): propose job with ovs-release and move -master one to
# experimental queue
name: neutron-ovn-tempest-full-multinode-ovs-master
parent: neutron-ovn-multinode-base
vars:
tox_envlist: all
tempest_test_regex: "^(?!.*\
(?:.*\\[.*slow.*\\])|\
(?:tempest.api.network.admin.test_quotas.QuotasTest.test_lbaas_quotas.*)|\
(?:tempest.api.network.test_load_balancer.*)|\
(?:tempest.scenario.test_load_balancer.*)|\
(?:tempest.api.network.admin.test_load_balancer.*)|\
(?:tempest.api.network.admin.test_lbaas.*)|\
(?:tempest.api.network.test_fwaas_extensions.*)|\
(?:tempest.api.network.test_metering_extensions.*)|\
(?:tempest.thirdparty.boto.test_s3.*)|\
(?:tempest.api.identity*)|\
(?:tempest.api.image*)|\
(?:tempest.api.volume*)|\
(?:tempest.api.compute.images*)|\
(?:tempest.api.compute.keypairs*)|\
(?:tempest.api.compute.certificates*)|\
(?:tempest.api.compute.flavors*)|\
(?:tempest.api.compute.test_quotas*)|\
(?:tempest.api.compute.test_versions*)|\
(?:tempest.api.compute.volumes*)|\
(?:tempest.api.compute.admin.test_flavor*)|\
(?:tempest.api.compute.admin.test_volume*)|\
(?:tempest.api.compute.admin.test_hypervisor*)|\
(?:tempest.api.compute.admin.test_aggregate*)|\
(?:tempest.api.compute.admin.test_quota*)|\
(?:tempest.scenario.test_volume*))\
((^neutron_tempest_plugin.api)|\
(^neutron_tempest_plugin.scenario)|\
(tempest.(api|scenario|thirdparty))).*$"
zuul_copy_output:
'{{ devstack_base_dir }}/data/ovs': 'logs'
'{{ devstack_base_dir }}/data/ovn': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-nb.log': 'logs'
'{{ devstack_log_dir }}/ovsdb-server-sb.log': 'logs'
devstack_localrc:
OVN_BUILD_FROM_SOURCE: True
OVN_BRANCH: master
OVS_BRANCH: master
group-vars:
subnode:
devstack_localrc:
OVN_BUILD_FROM_SOURCE: True
OVN_BRANCH: master
OVS_BRANCH: master