neutron-tempest-plugin/.zuul.yaml

1460 lines
51 KiB
YAML

- job:
name: neutron-tempest-plugin
parent: devstack-tempest
abstract: true
description: |
Perform setup common to all Neutron tempest tests
roles:
- zuul: openstack/devstack
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/tempest
vars:
tempest_concurrency: 4
tox_envlist: all
network_api_extensions_common: &api_extensions_master
- 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
- 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
- floatingip-pools
- ip-substring-filtering
- l3-conntrack-helper
- 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-address-scope
- rbac-policies
- rbac-security-groups
- rbac-subnetpool
- router
- router-admin-state-down-before-update
- 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-dns-publish-fixed-ip
- subnetpool-prefix-ops
- tag-ports-during-bulk-creation
- trunk
- trunk-details
- uplink-status-propagation
network_api_extensions_tempest:
- dvr
devstack_localrc:
USE_PYTHON3: true
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
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-uplink-status-propagation: true
neutron-network-segment-range: true
neutron-port-forwarding: true
neutron-conntrack-helper: true
neutron-tag-ports-during-bulk-creation: true
devstack_local_conf:
post-config:
$NEUTRON_CONF:
QUOTAS:
quota_router: 100
quota_floatingip: 500
quota_security_group: 150
quota_security_group_rule: 1000
# 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
ml2_type_vlan:
network_vlan_ranges: foo:1:10
ml2_type_vxlan:
vni_ranges: 1:2000
ml2_type_gre:
tunnel_id_ranges: 1:1000
$NEUTRON_L3_CONF:
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:
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
irrelevant-files: &tempest-irrelevant-files
- ^(test-|)requirements.txt$
- ^releasenotes/.*$
- ^doc/.*$
- ^setup.cfg$
- ^.*\.rst$
- ^neutron/locale/.*$
- ^neutron/tests/unit/.*$
- ^tools/.*$
- ^tox.ini$
- job:
name: neutron-tempest-plugin-api
parent: neutron-tempest-plugin
vars:
tempest_test_regex: ^neutron_tempest_plugin\.api
devstack_services:
neutron-log: true
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
network_log:
local_output_log_base: /tmp/test_log.log
- job:
name: neutron-tempest-plugin-api-queens
nodeset: openstack-single-node-xenial
parent: neutron-tempest-plugin-api
override-checkout: stable/queens
required-projects:
- openstack/devstack-gate
- openstack/neutron
- name: openstack/neutron-tempest-plugin
override-checkout: 0.3.0
- openstack/tempest
vars:
branch_override: stable/queens
# 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_queens
- address-scope
- agent
- allowed-address-pairs
- auto-allocated-topology
- availability_zone
- binding
- default-subnetpools
- dhcp_agent_scheduler
- dns-domain-ports
- dns-integration
- ext-gw-mode
- external-net
- extra_dhcp_opt
- extraroute
- flavors
- 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
- pagination
- port-security
- project-id
- provider
- qos
- qos-fip
- quotas
- quota_details
- rbac-policies
- router
- router_availability_zone
- security-group
- segment
- service-type
- sorting
- standard-attr-description
- standard-attr-revisions
- standard-attr-timestamp
- standard-attr-tag
- subnet_allocation
- trunk
- trunk-details
network_api_extensions_tempest:
- dvr
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
- job:
name: neutron-tempest-plugin-api-rocky
nodeset: openstack-single-node-xenial
parent: neutron-tempest-plugin-api
description: |
This job run on py2 for stable/rocky gate.
override-checkout: stable/rocky
required-projects: &required-projects-rocky
- openstack/devstack-gate
- openstack/neutron
- name: openstack/neutron-tempest-plugin
override-checkout: 0.9.0
- openstack/tempest
vars: &api_vars_rocky
branch_override: stable/rocky
# 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_rocky
- 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
- fip-port-details
- flavors
- 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
- pagination
- port-mac-address-regenerate
- port-security
- port-security-groups-filtering
- project-id
- provider
- qos
- qos-fip
- quotas
- quota_details
- rbac-policies
- router
- router_availability_zone
- security-group
- segment
- service-type
- sorting
- standard-attr-description
- standard-attr-revisions
- standard-attr-segment
- standard-attr-timestamp
- standard-attr-tag
- subnet_allocation
- trunk
- trunk-details
network_api_extensions_tempest:
- dvr
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
# NOTE(gmann): This job run on py2 for stable/rocky gate.
branches:
- stable/rocky
- job:
name: neutron-tempest-plugin-api-rocky
nodeset: openstack-single-node-xenial
parent: neutron-tempest-plugin-api
description: |
This job run on py3 for other than stable/rocky gate
which is nothing but neutron-tempest-pluign master gate.
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars:
<<: *api_vars_rocky
devstack_localrc:
USE_PYTHON3: True
branches: ^(?!stable/rocky).*$
- job:
name: neutron-tempest-plugin-api-stein
parent: neutron-tempest-plugin-api
override-checkout: stable/stein
vars:
branch_override: stable/stein
# 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_stein
- 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
- trunk
- trunk-details
- uplink-status-propagation
network_api_extensions_tempest:
- dvr
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
- job:
name: neutron-tempest-plugin-api-train
parent: neutron-tempest-plugin-api
override-checkout: stable/train
vars:
branch_override: stable/train
# 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_train
- 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
- 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
- floatingip-pools
- ip-substring-filtering
- l3-conntrack-helper
- 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-admin-state-down-before-update
- 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
- subnetpool-prefix-ops
- trunk
- trunk-details
- uplink-status-propagation
network_api_extensions_tempest:
- dvr
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
- job:
name: neutron-tempest-plugin-scenario
parent: neutron-tempest-plugin
abstract: true
description: |
Perform setup common to all tempest scenario test jobs.
vars:
# 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: ^neutron_tempest_plugin\.scenario
devstack_localrc:
PHYSICAL_NETWORK: default
IMAGE_URLS: https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img
ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1
ADVANCED_INSTANCE_TYPE: ds512M
ADVANCED_INSTANCE_USER: ubuntu
BUILD_TIMEOUT: 784
devstack_services:
cinder: true
- job:
name: neutron-tempest-plugin-scenario-openvswitch
parent: neutron-tempest-plugin-scenario
timeout: 10000
vars:
network_api_extensions: *api_extensions_master
devstack_localrc:
Q_AGENT: openvswitch
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
enable_dvr: false
# 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
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
available_type_drivers: flat,vlan,local,vxlan
- job:
name: neutron-tempest-plugin-scenario-openvswitch-queens
parent: neutron-tempest-plugin-scenario-openvswitch
nodeset: openstack-single-node-xenial
override-checkout: stable/queens
required-projects:
- openstack/devstack-gate
- openstack/neutron
- name: openstack/neutron-tempest-plugin
override-checkout: 0.3.0
- openstack/tempest
vars:
branch_override: stable/queens
network_api_extensions: *api_extensions_queens
# TODO(slaweq): remove trunks subport_connectivity test from blacklist
# when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed
# NOTE(bcafarel): remove DNS test as queens pinned version does not have
# fix for https://bugs.launchpad.net/neutron/+bug/1826419
tempest_black_regex: "\
(^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\
(^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)"
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
- job:
name: neutron-tempest-plugin-scenario-openvswitch-rocky
parent: neutron-tempest-plugin-scenario-openvswitch
description: |
This job run on py2 for stable/rocky gate.
nodeset: openstack-single-node-xenial
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars: &scenario_vars_rocky
branch_override: stable/rocky
network_api_extensions: *api_extensions_rocky
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
# 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
- job:
name: neutron-tempest-plugin-scenario-openvswitch-rocky
parent: neutron-tempest-plugin-scenario-openvswitch
nodeset: openstack-single-node-xenial
description: |
This job run on py3 for other than stable/rocky gate
which is nothing but neutron-tempest-pluign master gate.
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars:
<<: *scenario_vars_rocky
devstack_localrc:
USE_PYTHON3: True
branches: ^(?!stable/rocky).*$
- job:
name: neutron-tempest-plugin-scenario-openvswitch-stein
parent: neutron-tempest-plugin-scenario-openvswitch
override-checkout: stable/stein
vars:
branch_override: stable/stein
network_api_extensions: *api_extensions_stein
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
- job:
name: neutron-tempest-plugin-scenario-openvswitch-train
parent: neutron-tempest-plugin-scenario-openvswitch
override-checkout: stable/train
vars:
branch_override: stable/train
network_api_extensions: *api_extensions_train
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
parent: neutron-tempest-plugin-scenario
timeout: 10000
vars:
network_api_extensions: *api_extensions_master
# 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
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
enable_dvr: false
# 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
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
available_type_drivers: flat,vlan,local,vxlan
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky
parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
nodeset: openstack-single-node-xenial
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
network_api_extensions: *api_extensions_rocky
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
# 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
tempest_black_regex: "\
(^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\
(^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
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky
parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
nodeset: openstack-single-node-xenial
description: |
This job run on py3 for other than stable/rocky gate
which is nothing but neutron-tempest-pluign master gate.
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars:
<<: *openvswitch_vars_rocky
devstack_localrc:
USE_PYTHON3: True
branches: ^(?!stable/rocky).*$
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-stein
parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
override-checkout: stable/stein
vars:
branch_override: stable/stein
network_api_extensions: *api_extensions_stein
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
- job:
name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-train
parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
override-checkout: stable/train
vars:
branch_override: stable/train
network_api_extensions: *api_extensions_train
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
- job:
name: neutron-tempest-plugin-scenario-linuxbridge
parent: neutron-tempest-plugin-scenario
timeout: 10000
vars:
network_api_extensions: *api_extensions_master
devstack_localrc:
Q_AGENT: linuxbridge
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
enable_dvr: false
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
test-config:
$TEMPEST_CONFIG:
neutron_plugin_options:
available_type_drivers: flat,vlan,local,vxlan
q_agent: linuxbridge
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-queens
parent: neutron-tempest-plugin-scenario-linuxbridge
nodeset: openstack-single-node-xenial
override-checkout: stable/queens
required-projects:
- openstack/devstack-gate
- openstack/neutron
- name: openstack/neutron-tempest-plugin
override-checkout: 0.3.0
- openstack/tempest
vars:
branch_override: stable/queens
network_api_extensions: *api_extensions_queens
# NOTE(bcafarel): remove DNS test as queens pinned version does not have
# fix for https://bugs.launchpad.net/neutron/+bug/1826419
tempest_black_regex: "\
(^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)"
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
devstack_local_conf:
test-config:
# NOTE: ignores linux bridge's trunk delete on bound port test
# for queens branch (as https://review.opendev.org/#/c/605589/
# fix will not apply for queens branch)
$TEMPEST_CONFIG:
neutron_plugin_options:
q_agent: None
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-rocky
parent: neutron-tempest-plugin-scenario-linuxbridge
description: |
This job run on py2 for stable/rocky gate.
nodeset: openstack-single-node-xenial
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars: &linuxbridge_vars_rocky
branch_override: stable/rocky
network_api_extensions: *api_extensions_rocky
devstack_localrc:
USE_PYTHON3: false
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
devstack_local_conf:
test-config:
# NOTE: ignores linux bridge's trunk delete on bound port test
# for rocky branch (as https://review.opendev.org/#/c/605589/
# fix will not apply for rocky branch)
$TEMPEST_CONFIG:
neutron_plugin_options:
q_agent: None
# 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
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-rocky
parent: neutron-tempest-plugin-scenario-linuxbridge
nodeset: openstack-single-node-xenial
description: |
This job run on py3 for other than stable/rocky gate
which is nothing but neutron-tempest-pluign master gate.
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars:
<<: *linuxbridge_vars_rocky
devstack_localrc:
USE_PYTHON3: True
branches: ^(?!stable/rocky).*$
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-stein
parent: neutron-tempest-plugin-scenario-linuxbridge
override-checkout: stable/stein
vars:
branch_override: stable/stein
network_api_extensions: *api_extensions_stein
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
- job:
name: neutron-tempest-plugin-scenario-linuxbridge-train
parent: neutron-tempest-plugin-scenario-linuxbridge
override-checkout: stable/train
vars:
branch_override: stable/train
network_api_extensions: *api_extensions_train
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario
parent: tempest-multinode-full
description: |
Perform setup for Neutron tempest tests in multinode with DVR scenario
roles:
- zuul: openstack/devstack
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/tempest
pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml
voting: false
vars:
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_master
network_api_extensions_dvr:
- dvr
devstack_localrc:
USE_PYTHON3: true
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_dvr) | join(',') }}"
PHYSICAL_NETWORK: default
IMAGE_URLS: https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img
ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1
ADVANCED_INSTANCE_TYPE: ds512M
ADVANCED_INSTANCE_USER: ubuntu
BUILD_TIMEOUT: 784
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: true
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:
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
group-vars:
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
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: *tempest-irrelevant-files
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-queens
parent: neutron-tempest-plugin-dvr-multinode-scenario
nodeset: openstack-two-node-xenial
override-checkout: stable/queens
required-projects:
- openstack/devstack-gate
- openstack/neutron
- name: openstack/neutron-tempest-plugin
override-checkout: 0.3.0
- openstack/tempest
vars:
branch_override: stable/queens
network_api_extensions_common: *api_extensions_queens
# TODO(slaweq): remove trunks subport_connectivity test from blacklist
# when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed
# NOTE(bcafarel): remove DNS test as queens pinned version does not have
# fix for https://bugs.launchpad.net/neutron/+bug/1826419
tempest_black_regex: "\
(^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\
(^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)"
devstack_localrc:
USE_PYTHON3: false
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-rocky
parent: neutron-tempest-plugin-dvr-multinode-scenario
description: |
This job run on py2 for stable/rocky gate.
nodeset: openstack-two-node-xenial
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars: &multinode_scenario_vars_rocky
branch_override: stable/rocky
network_api_extensions_common: *api_extensions_rocky
devstack_localrc:
USE_PYTHON3: false
TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
# 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
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-rocky
parent: neutron-tempest-plugin-dvr-multinode-scenario
nodeset: openstack-two-node-xenial
description: |
This job run on py3 for other than stable/rocky gate
which is nothing but neutron-tempest-pluign master gate.
override-checkout: stable/rocky
vars:
<<: *multinode_scenario_vars_rocky
devstack_localrc:
USE_PYTHON3: True
required-projects: *required-projects-rocky
group-vars:
subnode:
devstack_localrc:
USE_PYTHON3: True
branches: ^(?!stable/rocky).*$
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-stein
parent: neutron-tempest-plugin-dvr-multinode-scenario
override-checkout: stable/stein
vars:
network_api_extensions_common: *api_extensions_stein
branch_override: stable/stein
- job:
name: neutron-tempest-plugin-dvr-multinode-scenario-train
parent: neutron-tempest-plugin-dvr-multinode-scenario
override-checkout: stable/train
vars:
network_api_extensions_common: *api_extensions_train
branch_override: stable/train
- job:
name: neutron-tempest-plugin-designate-scenario
parent: neutron-tempest-plugin-scenario
description: Neutron designate integration scenario
required-projects:
- openstack/designate
- openstack/designate-dashboard
- openstack/designate-tempest-plugin
timeout: 3600
vars:
devstack_localrc:
DESIGNATE_BACKEND_DRIVER: bind9
Q_AGENT: openvswitch
# In this job advanced image is not needed, so it's name should be
# empty
ADVANCED_IMAGE_NAME: ""
devstack_local_conf:
post-config:
$NEUTRON_CONF:
DEFAULT:
enable_dvr: false
# 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
devstack_plugins:
designate: https://opendev.org/openstack/designate.git
devstack_services:
cinder: false
designate: true
tempest_plugins:
- designate-tempest-plugin
- neutron-tempest-plugin
tempest_test_regex: ^neutron_tempest_plugin\.scenario\.test_dns_integration
irrelevant-files: *tempest-irrelevant-files
- job:
name: neutron-tempest-plugin-designate-scenario-queens
parent: neutron-tempest-plugin-designate-scenario
nodeset: openstack-single-node-xenial
override-checkout: stable/queens
required-projects:
- openstack/devstack-gate
- openstack/neutron
- name: openstack/neutron-tempest-plugin
override-checkout: 0.3.0
- name: openstack/designate-tempest-plugin
override-checkout: 0.7.0
- openstack/tempest
vars:
branch_override: stable/queens
network_api_extensions_common: *api_extensions_queens
# NOTE(bcafarel): remove DNS test as queens pinned version does not have
# fix for https://bugs.launchpad.net/neutron/+bug/1826419
tempest_black_regex: "\
(^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)"
devstack_localrc:
USE_PYTHON3: false
TEMPEST_PLUGINS: '"/opt/stack/designate-tempest-plugin /opt/stack/neutron-tempest-plugin"'
- job:
name: neutron-tempest-plugin-designate-scenario-rocky
parent: neutron-tempest-plugin-designate-scenario
description: |
This job run on py2 for stable/rocky gate.
nodeset: openstack-single-node-xenial
override-checkout: stable/rocky
required-projects:
- openstack/devstack-gate
- openstack/neutron
- name: openstack/neutron-tempest-plugin
override-checkout: 0.9.0
- name: openstack/designate-tempest-plugin
override-checkout: 0.7.0
- openstack/tempest
vars: &designate_scenario_vars_rocky
branch_override: stable/rocky
network_api_extensions_common: *api_extensions_rocky
devstack_localrc:
USE_PYTHON3: false
TEMPEST_PLUGINS: '"/opt/stack/designate-tempest-plugin /opt/stack/neutron-tempest-plugin"'
branches:
- stable/rocky
- job:
name: neutron-tempest-plugin-designate-scenario-rocky
parent: neutron-tempest-plugin-designate-scenario
nodeset: openstack-single-node-xenial
description: |
This job run on py3 for other than stable/rocky gate
which is nothing but neutron-tempest-plugin master gate.
override-checkout: stable/rocky
required-projects: *required-projects-rocky
vars:
<<: *designate_scenario_vars_rocky
devstack_localrc:
USE_PYTHON3: True
branches: ^(?!stable/rocky).*$
- job:
name: neutron-tempest-plugin-designate-scenario-stein
parent: neutron-tempest-plugin-designate-scenario
override-checkout: stable/stein
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/neutron-tempest-plugin
- name: openstack/designate-tempest-plugin
override-checkout: 0.7.0
- openstack/tempest
vars:
branch_override: stable/stein
network_api_extensions_common: *api_extensions_stein
- job:
name: neutron-tempest-plugin-designate-scenario-train
parent: neutron-tempest-plugin-designate-scenario
override-checkout: stable/train
vars:
branch_override: stable/train
network_api_extensions_common: *api_extensions_train
- job:
name: neutron-tempest-plugin-sfc
parent: neutron-tempest-plugin
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/networking-sfc
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/tempest
vars:
tempest_test_regex: ^neutron_tempest_plugin\.sfc
tox_envlist: all-plugin
devstack_plugins:
networking-sfc: https://opendev.org/openstack/networking-sfc
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin
network_api_extensions_sfc:
- flow_classifier
- sfc
devstack_localrc:
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
# https://bugs.launchpad.net/networking-sfc/+bug/1660366
tempest_concurrency: 1
- job:
name: neutron-tempest-plugin-sfc-train
parent: neutron-tempest-plugin-sfc
override-checkout: stable/train
vars:
branch_override: stable/train
network_api_extensions_common: *api_extensions_train
- job:
name: neutron-tempest-plugin-bgpvpn-bagpipe
parent: neutron-tempest-plugin
required-projects:
- openstack/networking-bagpipe
- openstack/networking-bgpvpn
vars:
tempest_test_regex: ^neutron_tempest_plugin\.bgpvpn
network_api_extensions: *api_extensions_master
network_api_extensions_bgpvpn:
- bgpvpn
- bgpvpn-routes-control
devstack_localrc:
NETWORKING_BGPVPN_DRIVER: "BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe_v2.BaGPipeBGPVPNDriver:default"
BAGPIPE_DATAPLANE_DRIVER_IPVPN: "ovs"
BAGPIPE_BGP_PEERS: "-"
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions + network_api_extensions_bgpvpn) | join(',') }}"
devstack_plugins:
networking-bgpvpn: https://git.openstack.org/openstack/networking-bgpvpn
networking-bagpipe: https://git.openstack.org/openstack/networking-bagpipe
- job:
name: neutron-tempest-plugin-bgpvpn-bagpipe-train
parent: neutron-tempest-plugin-bgpvpn-bagpipe
override-checkout: stable/train
vars:
branch_override: stable/train
network_api_extensions: *api_extensions_train
- job:
name: neutron-tempest-plugin-fwaas
parent: neutron-tempest-plugin
timeout: 10800
required-projects:
- openstack/devstack-gate
- openstack/neutron-fwaas
- openstack/neutron
- openstack/neutron-tempest-plugin
- openstack/tempest
vars:
tempest_test_regex: ^neutron_tempest_plugin\.fwaas
tox_envlist: all-plugin
devstack_plugins:
neutron-fwaas: https://opendev.org/openstack/neutron-fwaas.git
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git
network_api_extensions_common: *api_extensions_master
network_api_extensions_fwaas:
- fwaas_v2
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_fwaas) | join(',') }}"
- job:
name: neutron-tempest-plugin-fwaas-train
parent: neutron-tempest-plugin-fwaas
override-checkout: stable/train
vars:
branch_override: stable/train
network_api_extensions_common: *api_extensions_train
- job:
name: neutron-tempest-plugin-dynamic-routing
parent: neutron-tempest-plugin
description: |
Perform setup common to all Neutron dynamic routing tempest tests
required-projects:
- openstack/neutron
- openstack/neutron-dynamic-routing
- openstack/os-ken
- openstack/tempest
pre-run: playbooks/dynamic-routing-pre-run.yaml
vars:
devstack_plugins:
neutron-dynamic-routing: https://opendev.org/openstack/neutron-dynamic-routing
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin
network_api_extensions_common: *api_extensions_master
network_api_extensions_bgp:
- bgp
- bgp_dragent_scheduler
- bgp_4byte_asn
devstack_localrc:
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_bgp) | join(',') }}"
devstack_services:
neutron-dr: true
neutron-dr-agent: true
q-l3: true
tempest_concurrency: 1
tempest_test_regex: ^neutron_tempest_plugin\.neutron_dynamic_routing
- job:
name: neutron-tempest-plugin-vpnaas
parent: neutron-tempest-plugin
timeout: 3900
required-projects:
- openstack/devstack-gate
- openstack/neutron
- openstack/neutron-vpnaas
- openstack/neutron-tempest-plugin
- openstack/tempest
vars:
tempest_test_regex: ^neutron_tempest_plugin\.vpnaas
tox_envlist: all-plugin
devstack_plugins:
neutron-vpnaas: https://opendev.org/openstack/neutron-vpnaas.git
neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git
network_api_extensions_common: *api_extensions_master
network_api_extensions_vpnaas:
- vpnaas
devstack_localrc:
IPSEC_PACKAGE: strongswan
NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_vpnaas) | join(',') }}"
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^neutron_vpnaas/tests/unit/.*$
- ^releasenotes/.*$
- project-template:
name: neutron-tempest-plugin-jobs
check:
jobs:
- neutron-tempest-plugin-api
- neutron-tempest-plugin-designate-scenario
- neutron-tempest-plugin-dvr-multinode-scenario
- neutron-tempest-plugin-scenario-linuxbridge
- neutron-tempest-plugin-scenario-openvswitch
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
gate:
jobs:
- neutron-tempest-plugin-api
- neutron-tempest-plugin-scenario-linuxbridge
- neutron-tempest-plugin-scenario-openvswitch
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
- project-template:
name: neutron-tempest-plugin-jobs-queens
check:
jobs:
- neutron-tempest-plugin-api-queens
- neutron-tempest-plugin-designate-scenario-queens
- neutron-tempest-plugin-dvr-multinode-scenario-queens
- neutron-tempest-plugin-scenario-linuxbridge-queens
- neutron-tempest-plugin-scenario-openvswitch-queens
gate:
jobs:
- neutron-tempest-plugin-api-queens
- project-template:
name: neutron-tempest-plugin-jobs-rocky
check:
jobs:
- neutron-tempest-plugin-api-rocky
- neutron-tempest-plugin-designate-scenario-rocky
- neutron-tempest-plugin-dvr-multinode-scenario-rocky
- neutron-tempest-plugin-scenario-linuxbridge-rocky
- neutron-tempest-plugin-scenario-openvswitch-rocky
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky
gate:
jobs:
- neutron-tempest-plugin-api-rocky
- project-template:
name: neutron-tempest-plugin-jobs-stein
check:
jobs:
- neutron-tempest-plugin-api-stein
- neutron-tempest-plugin-designate-scenario-stein
- neutron-tempest-plugin-dvr-multinode-scenario-stein
- neutron-tempest-plugin-scenario-linuxbridge-stein
- neutron-tempest-plugin-scenario-openvswitch-stein
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-stein
gate:
jobs:
- neutron-tempest-plugin-api-stein
- project-template:
name: neutron-tempest-plugin-jobs-train
check:
jobs:
- neutron-tempest-plugin-api-train
- neutron-tempest-plugin-designate-scenario-train
- neutron-tempest-plugin-dvr-multinode-scenario-train
- neutron-tempest-plugin-scenario-linuxbridge-train
- neutron-tempest-plugin-scenario-openvswitch-train
- neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-train
gate:
jobs:
- neutron-tempest-plugin-api-train
- project:
templates:
- build-openstack-docs-pti
- neutron-tempest-plugin-jobs
- neutron-tempest-plugin-jobs-stein
- neutron-tempest-plugin-jobs-train
- check-requirements
- tempest-plugin-jobs
- release-notes-jobs-python3
check:
jobs:
- neutron-tempest-plugin-sfc
- neutron-tempest-plugin-sfc-train
- neutron-tempest-plugin-bgpvpn-bagpipe
- neutron-tempest-plugin-bgpvpn-bagpipe-train
- neutron-tempest-plugin-fwaas:
# 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-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-dynamic-routing
- neutron-tempest-plugin-vpnaas
gate:
jobs:
- neutron-tempest-plugin-sfc
- neutron-tempest-plugin-bgpvpn-bagpipe
# TODO(slaweq): bring it back to gate queue
# https://bugs.launchpad.net/neutron/+bug/1858645 will be fixed
# - neutron-tempest-plugin-fwaas
- neutron-tempest-plugin-dynamic-routing