Reorganize zuul jobs definitions
As we are adding jobs for each stable branch, we have more and more jobs
there and it was very hard to maintain all of that in one single file.
So this patch reorganize it and places definitons in "per stable branch"
files.
Change-Id: I0e7816f4057c90bce90bca68137c077580f9426a
diff --git a/zuul.d/base.yaml b/zuul.d/base.yaml
new file mode 100644
index 0000000..b6d9f90
--- /dev/null
+++ b/zuul.d/base.yaml
@@ -0,0 +1,108 @@
+- job:
+ name: neutron-tempest-plugin-base
+ 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
+ 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-scenario
+ parent: neutron-tempest-plugin-base
+ 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
+
diff --git a/zuul.d/master_jobs.yaml b/zuul.d/master_jobs.yaml
new file mode 100644
index 0000000..b20b02d
--- /dev/null
+++ b/zuul.d/master_jobs.yaml
@@ -0,0 +1,495 @@
+- job:
+ name: neutron-tempest-plugin-api
+ parent: neutron-tempest-plugin-base
+ vars:
+ # 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
+ - 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
+ 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-scenario-openvswitch
+ parent: neutron-tempest-plugin-scenario
+ timeout: 10000
+ vars:
+ network_api_extensions: *api_extensions
+ 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-iptables_hybrid
+ parent: neutron-tempest-plugin-scenario
+ timeout: 10000
+ vars:
+ network_api_extensions: *api_extensions
+ # 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-linuxbridge
+ parent: neutron-tempest-plugin-scenario
+ timeout: 10000
+ vars:
+ network_api_extensions: *api_extensions
+ 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-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
+ 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
+ - ^(test-|)requirements.txt$
+ - ^releasenotes/.*$
+ - ^doc/.*$
+ - ^setup.cfg$
+ - ^.*\.rst$
+ - ^neutron/locale/.*$
+ - ^neutron/tests/unit/.*$
+ - ^tools/.*$
+ - ^tox.ini$
+
+- 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:
+ network_api_extensions_common: *api_extensions
+ 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: ""
+ NETWORK_API_EXTENSIONS: "{{ network_api_extensions_common | 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
+ 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-sfc
+ parent: neutron-tempest-plugin-base
+ timeout: 10800
+ required-projects:
+ - openstack/devstack-gate
+ - openstack/networking-sfc
+ - openstack/neutron
+ - openstack/neutron-tempest-plugin
+ - openstack/tempest
+ vars:
+ network_api_extensions_common: *api_extensions
+ tempest_test_regex: ^neutron_tempest_plugin\.sfc
+ 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-bgpvpn-bagpipe
+ parent: neutron-tempest-plugin-base
+ required-projects:
+ - openstack/networking-bagpipe
+ - openstack/networking-bgpvpn
+ vars:
+ tempest_test_regex: ^neutron_tempest_plugin\.bgpvpn
+ network_api_extensions: *api_extensions
+ 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-fwaas
+ parent: neutron-tempest-plugin-base
+ 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
+ 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
+ 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-dynamic-routing
+ parent: neutron-tempest-plugin-base
+ 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
+ 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-base
+ 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
+ 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
+ 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/.*$
diff --git a/zuul.d/project.yaml b/zuul.d/project.yaml
new file mode 100644
index 0000000..c6bf1a0
--- /dev/null
+++ b/zuul.d/project.yaml
@@ -0,0 +1,129 @@
+- 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-template:
+ name: neutron-tempest-plugin-jobs-ussuri
+ check:
+ jobs:
+ - neutron-tempest-plugin-api-ussuri
+ - neutron-tempest-plugin-designate-scenario-ussuri
+ - neutron-tempest-plugin-dvr-multinode-scenario-ussuri
+ - neutron-tempest-plugin-scenario-linuxbridge-ussuri
+ - neutron-tempest-plugin-scenario-openvswitch-ussuri
+ - neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-ussuri
+ gate:
+ jobs:
+ - neutron-tempest-plugin-api-ussuri
+
+- project:
+ templates:
+ - build-openstack-docs-pti
+ - neutron-tempest-plugin-jobs
+ - neutron-tempest-plugin-jobs-stein
+ - neutron-tempest-plugin-jobs-train
+ - neutron-tempest-plugin-jobs-ussuri
+ - check-requirements
+ - tempest-plugin-jobs
+ - release-notes-jobs-python3
+ check:
+ jobs:
+ - neutron-tempest-plugin-sfc
+ - neutron-tempest-plugin-sfc-train
+ - neutron-tempest-plugin-sfc-ussuri
+ - neutron-tempest-plugin-bgpvpn-bagpipe
+ - neutron-tempest-plugin-bgpvpn-bagpipe-train
+ - neutron-tempest-plugin-bgpvpn-bagpipe-ussuri
+ - 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-fwaas-ussuri:
+ # 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-dynamic-routing-ussuri
+ - neutron-tempest-plugin-vpnaas
+ - neutron-tempest-plugin-vpnaas-ussuri
+
+ 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
diff --git a/zuul.d/queens_jobs.yaml b/zuul.d/queens_jobs.yaml
new file mode 100644
index 0000000..2b52978
--- /dev/null
+++ b/zuul.d/queens_jobs.yaml
@@ -0,0 +1,179 @@
+- 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
+ - 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-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
+ # 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-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
+ # 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-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
+ # 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-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
+ # 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"'
diff --git a/zuul.d/rocky_jobs.yaml b/zuul.d/rocky_jobs.yaml
new file mode 100644
index 0000000..a45cae8
--- /dev/null
+++ b/zuul.d/rocky_jobs.yaml
@@ -0,0 +1,299 @@
+- 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
+ - 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-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
+ 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-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
+ 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-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
+ 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-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
+ 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-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
+ 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).*$
diff --git a/zuul.d/stein_jobs.yaml b/zuul.d/stein_jobs.yaml
new file mode 100644
index 0000000..1c9e299
--- /dev/null
+++ b/zuul.d/stein_jobs.yaml
@@ -0,0 +1,129 @@
+- 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
+ - 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-scenario-openvswitch-stein
+ parent: neutron-tempest-plugin-scenario-openvswitch
+ override-checkout: stable/stein
+ vars:
+ branch_override: stable/stein
+ network_api_extensions: *api_extensions
+ devstack_localrc:
+ NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+
+- 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
+ devstack_localrc:
+ NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+
+- 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
+ devstack_localrc:
+ NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+
+- 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
+ branch_override: stable/stein
+
+- 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
diff --git a/zuul.d/train_jobs.yaml b/zuul.d/train_jobs.yaml
new file mode 100644
index 0000000..f2dd6b7
--- /dev/null
+++ b/zuul.d/train_jobs.yaml
@@ -0,0 +1,151 @@
+- 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
+ - 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-openvswitch-train
+ parent: neutron-tempest-plugin-scenario-openvswitch
+ override-checkout: stable/train
+ vars:
+ branch_override: stable/train
+ network_api_extensions: *api_extensions
+ 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
+ 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
+ devstack_localrc:
+ NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+
+- 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
+ branch_override: stable/train
+
+- 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
+
+- 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
+
+- 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
+
+- 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
diff --git a/zuul.d/ussuri_jobs.yaml b/zuul.d/ussuri_jobs.yaml
new file mode 100644
index 0000000..a9c369f
--- /dev/null
+++ b/zuul.d/ussuri_jobs.yaml
@@ -0,0 +1,171 @@
+- job:
+ name: neutron-tempest-plugin-api-ussuri
+ parent: neutron-tempest-plugin-api
+ override-checkout: stable/ussuri
+ vars:
+ branch_override: stable/ussuri
+ # 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
+ - 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:
+ NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
+
+- job:
+ name: neutron-tempest-plugin-scenario-openvswitch-ussuri
+ parent: neutron-tempest-plugin-scenario-openvswitch
+ override-checkout: stable/ussuri
+ vars:
+ branch_override: stable/ussuri
+ network_api_extensions: *api_extensions
+ devstack_localrc:
+ NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+
+- job:
+ name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-ussuri
+ parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
+ override-checkout: stable-ussuri
+ vars:
+ branch_override: stable-ussuri
+ network_api_extensions: *api_extensions
+ devstack_localrc:
+ NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+
+- job:
+ name: neutron-tempest-plugin-scenario-linuxbridge-ussuri
+ parent: neutron-tempest-plugin-scenario-linuxbridge
+ override-checkout: stable/ussuri
+ vars:
+ branch_override: stable/ussuri
+ network_api_extensions: *api_extensions
+ devstack_localrc:
+ NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
+
+- job:
+ name: neutron-tempest-plugin-dvr-multinode-scenario-ussuri
+ parent: neutron-tempest-plugin-dvr-multinode-scenario
+ override-checkout: stable/ussuri
+ vars:
+ network_api_extensions_common: *api_extensions
+ branch_override: stable/ussuri
+
+- job:
+ name: neutron-tempest-plugin-designate-scenario-ussuri
+ parent: neutron-tempest-plugin-designate-scenario
+ override-checkout: stable/ussuri
+ vars:
+ branch_override: stable/ussuri
+ network_api_extensions_common: *api_extensions
+
+- job:
+ name: neutron-tempest-plugin-sfc-ussuri
+ parent: neutron-tempest-plugin-sfc
+ override-checkout: stable/ussuri
+ vars:
+ branch_override: stable/ussuri
+ network_api_extensions_common: *api_extensions
+
+- job:
+ name: neutron-tempest-plugin-bgpvpn-bagpipe-ussuri
+ parent: neutron-tempest-plugin-bgpvpn-bagpipe
+ override-checkout: stable/ussuri
+ vars:
+ branch_override: stable/ussuri
+ network_api_extensions: *api_extensions
+
+- job:
+ name: neutron-tempest-plugin-fwaas-ussuri
+ parent: neutron-tempest-plugin-fwaas
+ override-checkout: stable/ussuri
+ vars:
+ branch_override: stable/ussuri
+ network_api_extensions_common: *api_extensions
+
+- job:
+ name: neutron-tempest-plugin-dynamic-routing-ussuri
+ parent: neutron-tempest-plugin-dynamic-routing
+ override-checkout: stable/ussuri
+ vars:
+ branch_override: stable/ussuri
+ network_api_extensions_common: *api_extensions
+
+- job:
+ name: neutron-tempest-plugin-vpnaas-ussuri
+ parent: neutron-tempest-plugin-vpnaas
+ override-checkout: stable/ussuri
+ vars:
+ branch_override: stable/ussuri
+ network_api_extensions_common: *api_extensions