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/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/.*$