neutron-tempest-plugin/zuul.d/stein_jobs.yaml
Slawek Kaplonski 8988a01a96 Consolidate neutron-tempest-plugin-api with scenario jobs
That way we will run our API tests on the ML2/{OVS,OVN,Linuxbridge}
deployments which will give us slightly better coverage in some cases as
some API extensions may be available only with some specific backends
(see NDPProxy for example, which isn't available on the ML2/OVN case).

This will also allow us to drop neutron-tempest-plugin-api job and
having less jobs with same or better coverage is always good thing :)

Change-Id: Ie34e89636c56783000b4d72a479c23d8d1295002
2022-05-26 12:37:20 +02:00

385 lines
14 KiB
YAML

- job:
name: neutron-tempest-plugin-api-stein
parent: neutron-tempest-plugin-base
nodeset: openstack-single-node-bionic
override-checkout: stable/stein
required-projects: &required-projects-stein
- openstack/neutron
- name: openstack/neutron-tempest-plugin
override-checkout: 1.1.0
- 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
# Neutron services
q-agt: true
q-dhcp: true
q-l3: true
q-meta: true
q-metering: true
branch_override: stable/stein
tempest_test_regex: ^neutron_tempest_plugin\.api
# 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-scope
- agent
- allowed-address-pairs
- auto-allocated-topology
- availability_zone
- binding
- default-subnetpools
- dhcp_agent_scheduler
- dns-domain-ports
- dns-integration
- empty-string-filtering
- expose-port-forwarding-in-fip
- ext-gw-mode
- external-net
- extra_dhcp_opt
- extraroute
- filter-validation
- fip-port-details
- flavors
- floatingip-pools
- floating-ip-port-forwarding
- ip-substring-filtering
- l3-flavors
- l3-ha
- l3_agent_scheduler
- logging
- metering
- multi-provider
- net-mtu
- net-mtu-writable
- network-ip-availability
- network_availability_zone
- network-segment-range
- pagination
- port-resource-request
- port-mac-address-regenerate
- port-security
- port-security-groups-filtering
- project-id
- provider
- qos
- qos-bw-minimum-ingress
- qos-fip
- quotas
- quota_details
- rbac-policies
- rbac-security-groups
- router
- router_availability_zone
- security-group
- segment
- service-type
- sorting
- standard-attr-description
- standard-attr-revisions
- standard-attr-segment
- standard-attr-tag
- standard-attr-timestamp
- subnet_allocation
- subnet-service-types
- trunk
- trunk-details
- uplink-status-propagation
network_api_extensions_tempest:
- dvr
network_available_features: &available_features
-
# NOTE(bcafarel): filtering out unstable tests or tests with known
# issues in the used pinned version for this EM branch
tempest_black_regex: &stein_tempest_exclude "\
(^neutron_tempest_plugin.scenario.test_mtu.NetworkWritableMtuTest.test_connectivity_min_max_mtu)|\
(^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\
(^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_parent_port_connectivity_after_trunk_deleted_lb)|\
(^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\
(^neutron_tempest_plugin.scenario.test_vlan_transparency.VlanTransparencyTest)"
devstack_localrc:
NEUTRON_DEPLOY_MOD_WSGI: false
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
ML2_L3_PLUGIN: router
devstack_local_conf:
post-config:
# 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: gre,vxlan
ml2:
type_drivers: flat,geneve,vlan,gre,local,vxlan
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
available_type_drivers: flat,geneve,vlan,gre,local,vxlan
- job:
name: neutron-tempest-plugin-scenario-openvswitch-stein
parent: neutron-tempest-plugin-openvswitch
nodeset: openstack-single-node-bionic
override-checkout: stable/stein
required-projects: *required-projects-stein
vars:
branch_override: stable/stein
tempest_test_regex: "\
(^neutron_tempest_plugin.scenario)|\
(^tempest.api.compute.servers.test_attach_interfaces)|\
(^tempest.api.compute.servers.test_multiple_create)"
network_api_extensions: *api_extensions
network_available_features: *available_features
tempest_black_regex: *stein_tempest_exclude
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
# NOTE(bcafarel) guestmount binary not available on host OS
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
CUSTOMIZE_IMAGE: false
devstack_local_conf:
post-config:
$NEUTRON_L3_CONF:
DEFAULT:
# NOTE(slaweq): on Bionic keepalived don't knows this option yet
keepalived_use_no_track: False
test-config:
$TEMPEST_CONFIG:
network-feature-enabled:
available_features: ""
neutron_plugin_options:
ipv6_metadata: False
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-stein
parent: neutron-tempest-plugin-base
nodeset: openstack-single-node-bionic
timeout: 10000
override-checkout: stable/stein
required-projects: *required-projects-stein
vars:
branch_override: stable/stein
tempest_test_regex: "\
(^neutron_tempest_plugin.scenario)|\
(^tempest.api.compute.servers.test_attach_interfaces)|\
(^tempest.api.compute.servers.test_multiple_create)"
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
tempest_black_regex: *stein_tempest_exclude
devstack_localrc:
Q_AGENT: openvswitch
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
# NOTE(bcafarel) guestmount binary not available on host OS
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
CUSTOMIZE_IMAGE: false
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
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
ipv6_metadata: False
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^neutron/tests/fullstack/.*
- ^neutron/tests/functional/.*
- ^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-base
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
tempest_test_regex: "\
(^neutron_tempest_plugin.scenario)|\
(^tempest.api.compute.servers.test_attach_interfaces)|\
(^tempest.api.compute.servers.test_multiple_create)"
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
tempest_black_regex: *stein_tempest_exclude
devstack_localrc:
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
# NOTE(bcafarel) guestmount binary not available on host OS
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
CUSTOMIZE_IMAGE: false
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
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
q_agent: linuxbridge
firewall_driver: iptables
ipv6_metadata: False
irrelevant-files:
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^neutron/tests/fullstack/.*
- ^neutron/tests/functional/.*
- ^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
parent: neutron-tempest-plugin-dvr-multinode-scenario
nodeset: openstack-two-node-bionic
override-checkout: stable/stein
required-projects: *required-projects-stein
vars:
network_api_extensions_common: *api_extensions
branch_override: stable/stein
- job:
name: neutron-tempest-plugin-designate-scenario-stein
parent: neutron-tempest-plugin-designate-scenario
nodeset: openstack-single-node-bionic
override-checkout: stable/stein
required-projects:
- openstack/neutron
- name: openstack/neutron-tempest-plugin
override-checkout: 1.3.0
- name: openstack/designate-tempest-plugin
override-checkout: 0.7.0
- openstack/tempest
vars:
branch_override: stable/stein
network_api_extensions_common: *api_extensions
devstack_localrc:
# NOTE(bcafarel) guestmount binary not available on host OS
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
CUSTOMIZE_IMAGE: false