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.yaml b/.zuul.yaml
deleted file mode 100644
index 4496ef7..0000000
--- a/.zuul.yaml
+++ /dev/null
@@ -1,1650 +0,0 @@
-- 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-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_ussuri
- - 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
- 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-ussuri
- parent: neutron-tempest-plugin-scenario-openvswitch
- override-checkout: stable/ussuri
- vars:
- branch_override: stable/ussuri
- network_api_extensions: *api_extensions_ussuri
- 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-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_ussuri
- 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-scenario-linuxbridge-ussuri
- parent: neutron-tempest-plugin-scenario-linuxbridge
- override-checkout: stable/ussuri
- vars:
- branch_override: stable/ussuri
- network_api_extensions: *api_extensions_ussuri
- 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-dvr-multinode-scenario-ussuri
- parent: neutron-tempest-plugin-dvr-multinode-scenario
- override-checkout: stable/ussuri
- vars:
- network_api_extensions_common: *api_extensions_ussuri
- branch_override: stable/ussuri
-
-- 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-designate-scenario-ussuri
- parent: neutron-tempest-plugin-designate-scenario
- override-checkout: stable/ussuri
- vars:
- branch_override: stable/ussuri
- network_api_extensions_common: *api_extensions_ussuri
-
-- 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
- 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-sfc-ussuri
- parent: neutron-tempest-plugin-sfc
- override-checkout: stable/ussuri
- vars:
- branch_override: stable/ussuri
- network_api_extensions_common: *api_extensions_ussuri
-
-- 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-bgpvpn-bagpipe-ussuri
- parent: neutron-tempest-plugin-bgpvpn-bagpipe
- override-checkout: stable/ussuri
- vars:
- branch_override: stable/ussuri
- network_api_extensions: *api_extensions_ussuri
-
-- 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
- 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-fwaas-ussuri
- parent: neutron-tempest-plugin-fwaas
- override-checkout: stable/ussuri
- vars:
- branch_override: stable/ussuri
- network_api_extensions_common: *api_extensions_ussuri
-
-- 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-dynamic-routing-ussuri
- parent: neutron-tempest-plugin-dynamic-routing
- override-checkout: stable/ussuri
- vars:
- branch_override: stable/ussuri
- network_api_extensions_common: *api_extensions_ussuri
-
-- 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
- 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/.*$
-
-- 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_ussuri
-
-- 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
-
- 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/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