whitebox-neutron-tempest-pl.../zuul.d/master_jobs.yaml
Rodolfo Alonso Hernandez d8b9b0635f Test Neutron API restart time
The new test added checks that the time spent to restart the Neutron API
doesn't take more than one minute.

Closes-Bug: #OSPRH-2460
Change-Id: I467f6c2124b8e3d6eb76bea399fd9cc5bd553b5c
2024-09-14 16:42:26 +00:00

579 lines
20 KiB
YAML

- job:
name: whitebox-neutron-tempest-plugin-base
parent: devstack-tempest
abstract: true
description: |
Perform setup common to all Neutron tempest tests
roles:
- zuul: openstack/devstack
- zuul: openstack/neutron-tempest-plugin
required-projects:
- openstack/neutron
- openstack/neutron-tempest-plugin
- x/whitebox-neutron-tempest-plugin
- openstack/tempest
vars:
tempest_concurrency: 2 # out of 4
tox_envlist: all
# 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
tempest_test_regex: "\
(^whitebox_neutron_tempest_plugin.tests.scenario)"
tempest_exclude_regex: "\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_metadata_rate_limiting)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_router_flavors)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_security_group_logging)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_l3ha_ovn)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_mtu)|\
(test_multicast.*restart)|\
(test_multicast.*ext*)|\
(^whitebox_neutron_tempest_plugin.*test_qos_user_policies)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_qos.QosTestExternalNetwork.*)|\
(^whitebox_neutron_tempest_plugin.*many_vms)|\
(^whitebox_neutron_tempest_plugin.*test_previously_used_ip)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_ovn_dbs.OvnDbsMonitoringTest.*)|\
(^whitebox_neutron_tempest_plugin.*ovn_controller_restart)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_ovn_fdb.*)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_api_server.*)"
devstack_localrc:
USE_PYTHON3: true
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
PHYSICAL_NETWORK: public
IMAGE_URLS: https://dl.rockylinux.org/vault/rocky/9.3/images/x86_64/Rocky-9-GenericCloud.latest.x86_64.qcow2
CIRROS_VERSION: 0.6.2
DEFAULT_IMAGE_NAME: cirros-0.6.2-x86_64-uec
DEFAULT_IMAGE_FILE_NAME: cirros-0.6.2-x86_64-uec.tar.gz
ADVANCED_IMAGE_NAME: Rocky-9-GenericCloud.latest.x86_64
ADVANCED_INSTANCE_TYPE: ds1G
ADVANCED_INSTANCE_USER: rocky
GLANCE_LIMIT_IMAGE_SIZE_TOTAL: 2000
CUSTOMIZE_IMAGE: false
BUILD_TIMEOUT: 784
# TODO(lucasagomes): Re-enable MOD_WSGI after
# https://bugs.launchpad.net/neutron/+bug/1912359 is implemented
NEUTRON_DEPLOY_MOD_WSGI: false
# TODO(ihrachys): remove OVN_BUILD_FROM_SOURCE once the OS packages
# include at least OVN v22.03.3.
OVN_BUILD_FROM_SOURCE: True
# TODO(ihrachys): switch back to a tagged version when it's released
# OVN_BRANCH: "v22.03.3"
OVN_BRANCH: "36e3ab9b47e93af0599a818e9d6b2930e49473f0"
OVS_BRANCH: "2410b95597fcec5f733caf77febdb46f4ffacd27"
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git
whitebox-neutron-tempest-plugin: https://opendev.org/x/whitebox-neutron-tempest-plugin.git
tempest_plugins:
- neutron-tempest-plugin
- whitebox-neutron-tempest-plugin
# TODO(slaweq): find a way to put this list of extensions in
# neutron repository and keep it different per branch,
# then it could be removed from here
network_api_extensions_common: &api_extensions
- address-group
- address-scope
- agent
- allowed-address-pairs
- auto-allocated-topology
- availability_zone
- binding
- default-subnetpools
- dns-domain-ports
- dns-integration
- dns-integration-domain-keywords
- empty-string-filtering
- expose-port-forwarding-in-fip
- expose-l3-conntrack-helper
- ext-gw-mode
- external-net
- extra_dhcp_opt
- extraroute
- extraroute-atomic
- filter-validation
- fip-port-details
- flavors
- floating-ip-port-forwarding
- floating-ip-port-forwarding-detail
- floatingip-pools
- ip-substring-filtering
- l3-conntrack-helper
- l3-ext-ndp-proxy
- l3-flavors
- l3-ha
- l3-ndp-proxy
- l3_agent_scheduler
- logging
- metering
- multi-provider
- net-mtu
- net-mtu-writable
- network-ip-availability
- network_availability_zone
- network-segment-range
- pagination
- port-device-profile
- port-resource-request
- port-resource-request-groups
- port-mac-address-regenerate
- port-security
- port-security-groups-filtering
- project-id
- provider
- qos
- qos-fip
- quotas
- quota_details
- rbac-address-group
- rbac-address-scope
- rbac-policies
- rbac-security-groups
- rbac-subnetpool
- router
- router_availability_zone
- security-group
- security-groups-remote-address-group
- segment
- service-type
- sorting
- standard-attr-description
- standard-attr-revisions
- standard-attr-segment
- standard-attr-tag
- standard-attr-timestamp
- stateful-security-group
- subnet_allocation
- subnet-dns-publish-fixed-ip
- subnet-service-types
- subnetpool-prefix-ops
- tag-ports-during-bulk-creation
- trunk
- trunk-details
- uplink-status-propagation
devstack_services:
tempest: true
neutron-dns: true
neutron-log: true
neutron-qos: true
neutron-segments: true
neutron-trunk: true
neutron-uplink-status-propagation: true
neutron-network-segment-range: true
neutron-port-forwarding: true
neutron-conntrack-helper: true
neutron-tag-ports-during-bulk-creation: true
neutron-ndp-proxy: 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
# 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: 150
quota_security_group_rule: 1000
/$NEUTRON_CORE_PLUGIN_CONF:
ml2:
type_drivers: flat,geneve,vlan,gre,local,vxlan
ml2_type_vlan:
network_vlan_ranges: foo:1:10
ml2_type_vxlan:
vni_ranges: 1:2000
ml2_type_gre:
tunnel_id_ranges: 1:1000
network_log:
local_output_log_base: /tmp/test_log.log
$NEUTRON_L3_CONF:
agent:
availability_zone: nova
$NEUTRON_DHCP_CONF:
agent:
availability_zone: nova
$NOVA_CONF:
api:
dhcp_domain: ''
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
provider_vlans: foo,
agent_availability_zone: nova
image_is_advanced: true
available_type_drivers: flat,geneve,vlan,gre,local,vxlan
provider_net_base_segm_id: 1
whitebox_neutron_plugin_options:
openstack_type: devstack
broadcast_receivers_count: 1
compute-feature-enabled:
console_output: false
group-vars:
subnode:
devstack_plugins:
neutron: https://opendev.org/openstack/neutron.git
devstack_services:
# 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
irrelevant-files:
- ^\.pylintrc$
- ^(test-|)requirements.txt$
- lower-constraints.txt
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^.*\.conf\.sample$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^neutron/tests/fullstack/.*
- ^neutron/tests/functional/.*
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^neutron/agent/.*$
- ^neutron/privileged/.*$
- ^neutron_lib/tests/unit/.*$
- ^neutron_tempest_plugin/scenario/.*$
- ^rally-jobs/.*$
- ^roles/.*functional.*$
- ^playbooks/.*functional.*$
- ^vagrant/.*$
# Ignore everything except for zuul.d/project.yaml
- ^zuul.d/base-nested-switch.yaml
- ^zuul.d/master_jobs.yaml
- job:
name: whitebox-neutron-tempest-plugin-ovn
parent: whitebox-neutron-tempest-plugin-base-nested-switch
pre-run: playbooks/preparations.yaml
timeout: 10800
vars:
network_api_extensions_ovn:
- vlan-transparent
devstack_localrc:
Q_AGENT: ovn
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_ovn) | join(',') }}"
Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve
Q_ML2_TENANT_NETWORK_TYPE: geneve
Q_USE_PROVIDERNET_FOR_PUBLIC: true
ENABLE_CHASSIS_AS_GW: true
OVN_L3_CREATE_PUBLIC_NETWORK: true
OVN_DBS_LOG_LEVEL: dbg
ENABLE_TLS: True
OVN_IGMP_SNOOPING_ENABLE: True
# TODO(ihrachys): remove OVN_BUILD_FROM_SOURCE once the OS packages
# include at least OVN v22.03.3.
OVN_BUILD_FROM_SOURCE: True
OVN_BRANCH: "v23.09.0"
OVS_BRANCH: "v3.2.0-20-g1d78a3f31"
OVS_SYSCONFDIR: "/usr/local/etc/openvswitch"
devstack_services:
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
q-agt: false
q-dhcp: false
q-l3: false
q-meta: false
q-metering: false
q-qos: true
# Cinder services
c-api: false
c-bak: false
c-sch: false
c-vol: false
cinder: false
s-account: false
s-container-sync: false
s-container: false
s-object: false
s-proxy: false
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
enable_dvr: false
vlan_transparent: true
/$NEUTRON_CORE_PLUGIN_CONF:
ml2:
type_drivers: local,flat,vlan,geneve
ovn:
ovn_emit_need_to_frag: true
test-config:
$TEMPEST_CONFIG:
network-feature-enabled:
available_features: ""
neutron_plugin_options:
available_type_drivers: local,flat,vlan,geneve
is_igmp_snooping_enabled: True
firewall_driver: ovn
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'
'/var/log/ovn': 'logs'
'/var/log/openvswitch': 'logs'
'/var/lib/ovn': 'logs'
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
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
dstat: true
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
ENABLE_TLS: True
irrelevant-files:
- ^\.pylintrc$
- ^(test-|)requirements.txt$
- lower-constraints.txt
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^.*\.conf\.sample$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^neutron/tests/fullstack/.*
- ^neutron/tests/functional/.*
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^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/services/qos/drivers/linuxbridge/.*$
- ^neutron/services/qos/drivers/openvswitch/.*$
- ^neutron/services/trunk/drivers/linuxbridge/.*$
- ^neutron/services/trunk/drivers/openvswitch/.*$
- ^neutron/scheduler/.*$
- ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
- ^neutron_tempest_plugin/services/bgp/.*$
- ^rally-jobs/.*$
- ^roles/.*functional.*$
- ^playbooks/.*dvr-multinode.*$
- ^playbooks/.*dynamic-routing.*$
- ^playbooks/.*functional.*$
- ^playbooks/.*linuxbridge.*$
- ^vagrant/.*$
# Ignore everything except for zuul.d/project.yaml
- ^zuul.d/base-nested-switch.yaml
- ^zuul.d/master_jobs.yaml
- job:
name: whitebox-neutron-tempest-plugin-ovn-single-thread
parent: whitebox-neutron-tempest-plugin-ovn
vars:
network_api_extensions_ovn:
- vlan-transparent
- ovn-router-flavors
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_ovn) | join(',') }}"
devstack_local_conf:
post-config:
$NEUTRON_CONF:
service_providers:
service_provider: "L3_ROUTER_NAT:user-defined:neutron.services.ovn_l3.service_providers.user_defined.UserDefined"
tempest_concurrency: 1
# (rsafrono) whitebox_neutron_tempest_plugin.tests.scenario.test_mtu are not enabled on devstack
# due to https://bugs.launchpad.net/neutron/+bug/2060828
tempest_test_regex: "\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_metadata_rate_limiting)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_router_flavors)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_security_group_logging)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_l3ha_ovn)|\
(test_multicast.*restart)|\
(test_multicast.*ext*)|\
(^whitebox_neutron_tempest_plugin.*test_qos_user_policies)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_qos.QosTestExternalNetwork.*)|\
(^whitebox_neutron_tempest_plugin.*many_vms)|\
(^whitebox_neutron_tempest_plugin.*test_previously_used_ip)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_ovn_dbs.OvnDbsMonitoringTest.*)|\
(^whitebox_neutron_tempest_plugin.*ovn_controller_restart)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_ovn_fdb.*)|\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_api_server.*)"
# NOTE(mblue): Enable metadata rate limiting tests
# when OSPRH-9569 is resolved (feature code available in RHOSO).
tempest_exclude_regex: "\
(^whitebox_neutron_tempest_plugin.tests.scenario.test_metadata_rate_limiting)"
- job:
name: whitebox-neutron-tempest-plugin-openvswitch
parent: whitebox-neutron-tempest-plugin-base-nested-switch
pre-run: playbooks/preparations.yaml
voting: false
timeout: 10800
vars:
configure_swap_size: 2048
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
neutron-local-ip-static: true
q-agt: true
q-dhcp: true
q-l3: true
q-meta: true
q-metering: 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
network_api_extensions_openvswitch:
- dhcp_agent_scheduler
- local_ip
- qos-bw-minimum-ingress
network_available_features: &available_features
- ipv6_metadata
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_openvswitch) | join(',') }}"
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
enable_dvr: false
l3_ha: true
/$NEUTRON_CORE_PLUGIN_CONF:
agent:
tunnel_types: vxlan,gre
ovs:
tunnel_bridge: br-tun
bridge_mappings: public:br-ex
openflow_processed_per_port: True
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
group-vars:
subnode:
devstack_localrc:
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge
Q_AGENT: openvswitch
devstack_services:
q-agt: true
# OVN services
ovn-controller: false
ovs-vswitchd: false
ovsdb-server: false
q-ovn-metadata-agent: false
irrelevant-files:
- ^\.pylintrc$
- ^(test-|)requirements.txt$
- lower-constraints.txt
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^.*\.conf\.sample$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^neutron/tests/fullstack/.*
- ^neutron/tests/functional/.*
- ^tools/.*$
- ^tox.ini$
- ^plugin.spec$
- ^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/.*$
- ^neutron/services/ovn_l3/.*$
- ^neutron/services/logapi/drivers/ovn/.*$
- ^neutron/services/portforwarding/drivers/ovn/.*$
- ^neutron/services/qos/drivers/linuxbridge/.*$
- ^neutron/services/qos/drivers/ovn/.*$
- ^neutron/services/trunk/drivers/linuxbridge/.*$
- ^neutron/services/trunk/drivers/ovn/.*$
- ^neutron/cmd/ovn/.*$
- ^neutron/common/ovn/.*$
- ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
- ^neutron_tempest_plugin/services/bgp/.*$
- ^rally-jobs/.*$
- ^roles/.*functional.*$
- ^playbooks/.*dvr-multinode.*$
- ^playbooks/.*dynamic-routing.*$
- ^playbooks/.*functional.*$
- ^playbooks/.*linuxbridge.*$
- ^vagrant/.*$
# Ignore everything except for zuul.d/project.yaml
- ^zuul.d/base-nested-switch.yaml
- ^zuul.d/master_jobs.yaml