- job: name: neutron-tempest-plugin parent: devstack-tempest abstract: true description: | Perform setup common to all Neutron tempest tests roles: - zuul: openstack/devstack required-projects: - openstack/devstack-gate - openstack/neutron - openstack/neutron-tempest-plugin - openstack/tempest vars: tempest_concurrency: 4 tox_envlist: all network_api_extensions_common: &api_extensions_master - address-scope - agent - allowed-address-pairs - auto-allocated-topology - availability_zone - binding - default-subnetpools - dhcp_agent_scheduler - dns-domain-ports - dns-integration - empty-string-filtering - expose-port-forwarding-in-fip - expose-l3-conntrack-helper - ext-gw-mode - external-net - extra_dhcp_opt - extraroute - extraroute-atomic - filter-validation - fip-port-details - flavors - floating-ip-port-forwarding - floatingip-pools - ip-substring-filtering - l3-conntrack-helper - l3-flavors - l3-ha - l3_agent_scheduler - logging - metering - multi-provider - net-mtu - net-mtu-writable - network-ip-availability - network_availability_zone - network-segment-range - pagination - port-resource-request - port-mac-address-regenerate - port-security - port-security-groups-filtering - project-id - provider - qos - qos-bw-minimum-ingress - qos-fip - quotas - quota_details - rbac-address-scope - rbac-policies - rbac-security-groups - rbac-subnetpool - router - router-admin-state-down-before-update - router_availability_zone - security-group - segment - service-type - sorting - standard-attr-description - standard-attr-revisions - standard-attr-segment - standard-attr-tag - standard-attr-timestamp - subnet_allocation - subnet-dns-publish-fixed-ip - subnetpool-prefix-ops - tag-ports-during-bulk-creation - trunk - trunk-details - uplink-status-propagation network_api_extensions_tempest: - dvr devstack_localrc: USE_PYTHON3: true NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}" devstack_plugins: neutron: https://opendev.org/openstack/neutron.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git tempest_plugins: - neutron-tempest-plugin devstack_services: tls-proxy: false tempest: true neutron-dns: true neutron-qos: true neutron-segments: true neutron-trunk: true neutron-uplink-status-propagation: true neutron-network-segment-range: true neutron-port-forwarding: true neutron-conntrack-helper: true neutron-tag-ports-during-bulk-creation: true devstack_local_conf: post-config: $NEUTRON_CONF: QUOTAS: quota_router: 100 quota_floatingip: 500 quota_security_group: 150 quota_security_group_rule: 1000 # NOTE(slaweq): We can get rid of this hardcoded absolute path when # devstack-tempest job will be switched to use lib/neutron instead of # lib/neutron-legacy /$NEUTRON_CORE_PLUGIN_CONF: ml2: type_drivers: flat,geneve,vlan,gre,local,vxlan ml2_type_vlan: network_vlan_ranges: foo:1:10 ml2_type_vxlan: vni_ranges: 1:2000 ml2_type_gre: tunnel_id_ranges: 1:1000 $NEUTRON_L3_CONF: agent: availability_zone: nova $NEUTRON_DHCP_CONF: agent: availability_zone: nova /etc/neutron/api-paste.ini: composite:neutronapi_v2_0: use: call:neutron.auth:pipeline_factory noauth: cors request_id catch_errors osprofiler extensions neutronapiapp_v2_0 keystone: cors request_id catch_errors osprofiler authtoken keystonecontext extensions neutronapiapp_v2_0 test-config: $TEMPEST_CONFIG: neutron_plugin_options: provider_vlans: foo, agent_availability_zone: nova image_is_advanced: true available_type_drivers: flat,geneve,vlan,gre,local,vxlan provider_net_base_segm_id: 1 irrelevant-files: &tempest-irrelevant-files - ^(test-|)requirements.txt$ - ^releasenotes/.*$ - ^doc/.*$ - ^setup.cfg$ - ^.*\.rst$ - ^neutron/locale/.*$ - ^neutron/tests/unit/.*$ - ^tools/.*$ - ^tox.ini$ - job: name: neutron-tempest-plugin-api parent: neutron-tempest-plugin vars: tempest_test_regex: ^neutron_tempest_plugin\.api devstack_services: neutron-log: true devstack_local_conf: post-config: # NOTE(slaweq): We can get rid of this hardcoded absolute path when # devstack-tempest job will be switched to use lib/neutron instead of # lib/neutron-legacy /$NEUTRON_CORE_PLUGIN_CONF: AGENT: tunnel_types: gre,vxlan network_log: local_output_log_base: /tmp/test_log.log - job: name: neutron-tempest-plugin-api-queens nodeset: openstack-single-node-xenial parent: neutron-tempest-plugin-api override-checkout: stable/queens required-projects: - openstack/devstack-gate - openstack/neutron - name: openstack/neutron-tempest-plugin override-checkout: 0.3.0 - openstack/tempest vars: branch_override: stable/queens # TODO(slaweq): find a way to put this list of extensions in # neutron repository and keep it different per branch, # then it could be removed from here network_api_extensions_common: &api_extensions_queens - address-scope - agent - allowed-address-pairs - auto-allocated-topology - availability_zone - binding - default-subnetpools - dhcp_agent_scheduler - dns-domain-ports - dns-integration - ext-gw-mode - external-net - extra_dhcp_opt - extraroute - flavors - ip-substring-filtering - l3-flavors - l3-ha - l3_agent_scheduler - logging - metering - multi-provider - net-mtu - net-mtu-writable - network-ip-availability - network_availability_zone - pagination - port-security - project-id - provider - qos - qos-fip - quotas - quota_details - rbac-policies - router - router_availability_zone - security-group - segment - service-type - sorting - standard-attr-description - standard-attr-revisions - standard-attr-timestamp - standard-attr-tag - subnet_allocation - trunk - trunk-details network_api_extensions_tempest: - dvr devstack_localrc: USE_PYTHON3: false NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}" TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin - job: name: neutron-tempest-plugin-api-rocky nodeset: openstack-single-node-xenial parent: neutron-tempest-plugin-api description: | This job run on py2 for stable/rocky gate. override-checkout: stable/rocky required-projects: &required-projects-rocky - openstack/devstack-gate - openstack/neutron - name: openstack/neutron-tempest-plugin override-checkout: 0.9.0 - openstack/tempest vars: &api_vars_rocky branch_override: stable/rocky # TODO(slaweq): find a way to put this list of extensions in # neutron repository and keep it different per branch, # then it could be removed from here network_api_extensions_common: &api_extensions_rocky - address-scope - agent - allowed-address-pairs - auto-allocated-topology - availability_zone - binding - default-subnetpools - dhcp_agent_scheduler - dns-domain-ports - dns-integration - empty-string-filtering - expose-port-forwarding-in-fip - ext-gw-mode - external-net - extra_dhcp_opt - extraroute - fip-port-details - flavors - floating-ip-port-forwarding - ip-substring-filtering - l3-flavors - l3-ha - l3_agent_scheduler - logging - metering - multi-provider - net-mtu - net-mtu-writable - network-ip-availability - network_availability_zone - pagination - port-mac-address-regenerate - port-security - port-security-groups-filtering - project-id - provider - qos - qos-fip - quotas - quota_details - rbac-policies - router - router_availability_zone - security-group - segment - service-type - sorting - standard-attr-description - standard-attr-revisions - standard-attr-segment - standard-attr-timestamp - standard-attr-tag - subnet_allocation - trunk - trunk-details network_api_extensions_tempest: - dvr devstack_localrc: USE_PYTHON3: false NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}" TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin # NOTE(gmann): This job run on py2 for stable/rocky gate. branches: - stable/rocky - job: name: neutron-tempest-plugin-api-rocky nodeset: openstack-single-node-xenial parent: neutron-tempest-plugin-api description: | This job run on py3 for other than stable/rocky gate which is nothing but neutron-tempest-pluign master gate. override-checkout: stable/rocky required-projects: *required-projects-rocky vars: <<: *api_vars_rocky devstack_localrc: USE_PYTHON3: True branches: ^(?!stable/rocky).*$ - job: name: neutron-tempest-plugin-api-stein parent: neutron-tempest-plugin-api override-checkout: stable/stein vars: branch_override: stable/stein # TODO(slaweq): find a way to put this list of extensions in # neutron repository and keep it different per branch, # then it could be removed from here network_api_extensions_common: &api_extensions_stein - address-scope - agent - allowed-address-pairs - auto-allocated-topology - availability_zone - binding - default-subnetpools - dhcp_agent_scheduler - dns-domain-ports - dns-integration - empty-string-filtering - expose-port-forwarding-in-fip - ext-gw-mode - external-net - extra_dhcp_opt - extraroute - filter-validation - fip-port-details - flavors - floatingip-pools - floating-ip-port-forwarding - ip-substring-filtering - l3-flavors - l3-ha - l3_agent_scheduler - logging - metering - multi-provider - net-mtu - net-mtu-writable - network-ip-availability - network_availability_zone - network-segment-range - pagination - port-resource-request - port-mac-address-regenerate - port-security - port-security-groups-filtering - project-id - provider - qos - qos-bw-minimum-ingress - qos-fip - quotas - quota_details - rbac-policies - rbac-security-groups - router - router_availability_zone - security-group - segment - service-type - sorting - standard-attr-description - standard-attr-revisions - standard-attr-segment - standard-attr-tag - standard-attr-timestamp - subnet_allocation - trunk - trunk-details - uplink-status-propagation network_api_extensions_tempest: - dvr devstack_localrc: NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}" - job: name: neutron-tempest-plugin-api-train parent: neutron-tempest-plugin-api override-checkout: stable/train vars: branch_override: stable/train # TODO(slaweq): find a way to put this list of extensions in # neutron repository and keep it different per branch, # then it could be removed from here network_api_extensions_common: &api_extensions_train - address-scope - agent - allowed-address-pairs - auto-allocated-topology - availability_zone - binding - default-subnetpools - dhcp_agent_scheduler - dns-domain-ports - dns-integration - empty-string-filtering - expose-port-forwarding-in-fip - expose-l3-conntrack-helper - ext-gw-mode - external-net - extra_dhcp_opt - extraroute - extraroute-atomic - filter-validation - fip-port-details - flavors - floating-ip-port-forwarding - floatingip-pools - ip-substring-filtering - l3-conntrack-helper - l3-flavors - l3-ha - l3_agent_scheduler - logging - metering - multi-provider - net-mtu - net-mtu-writable - network-ip-availability - network_availability_zone - network-segment-range - pagination - port-resource-request - port-mac-address-regenerate - port-security - port-security-groups-filtering - project-id - provider - qos - qos-bw-minimum-ingress - qos-fip - quotas - quota_details - rbac-policies - rbac-security-groups - router - router-admin-state-down-before-update - router_availability_zone - security-group - segment - service-type - sorting - standard-attr-description - standard-attr-revisions - standard-attr-segment - standard-attr-tag - standard-attr-timestamp - subnet_allocation - subnetpool-prefix-ops - trunk - trunk-details - uplink-status-propagation network_api_extensions_tempest: - dvr devstack_localrc: NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}" - job: name: neutron-tempest-plugin-scenario parent: neutron-tempest-plugin abstract: true description: | Perform setup common to all tempest scenario test jobs. vars: # NOTE(slaweq): in case of some tests, which requires advanced image, # default test timeout set to 1200 seconds may be not enough if job is # run on slow node tempest_test_timeout: 2400 tempest_test_regex: ^neutron_tempest_plugin\.scenario devstack_localrc: PHYSICAL_NETWORK: default IMAGE_URLS: https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1 ADVANCED_INSTANCE_TYPE: ds512M ADVANCED_INSTANCE_USER: ubuntu BUILD_TIMEOUT: 784 devstack_services: cinder: true - job: name: neutron-tempest-plugin-scenario-openvswitch parent: neutron-tempest-plugin-scenario timeout: 10000 vars: network_api_extensions: *api_extensions_master devstack_localrc: Q_AGENT: openvswitch NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: enable_dvr: false # NOTE(slaweq): We can get rid of this hardcoded absolute path when # devstack-tempest job will be switched to use lib/neutron instead of # lib/neutron-legacy /$NEUTRON_CORE_PLUGIN_CONF: agent: tunnel_types: vxlan,gre ovs: tunnel_bridge: br-tun bridge_mappings: public:br-ex test-config: $TEMPEST_CONFIG: neutron_plugin_options: available_type_drivers: flat,vlan,local,vxlan - job: name: neutron-tempest-plugin-scenario-openvswitch-queens parent: neutron-tempest-plugin-scenario-openvswitch nodeset: openstack-single-node-xenial override-checkout: stable/queens required-projects: - openstack/devstack-gate - openstack/neutron - name: openstack/neutron-tempest-plugin override-checkout: 0.3.0 - openstack/tempest vars: branch_override: stable/queens network_api_extensions: *api_extensions_queens # TODO(slaweq): remove trunks subport_connectivity test from blacklist # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed # NOTE(bcafarel): remove DNS test as queens pinned version does not have # fix for https://bugs.launchpad.net/neutron/+bug/1826419 tempest_black_regex: "\ (^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\ (^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)" devstack_localrc: USE_PYTHON3: false NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin - job: name: neutron-tempest-plugin-scenario-openvswitch-rocky parent: neutron-tempest-plugin-scenario-openvswitch description: | This job run on py2 for stable/rocky gate. nodeset: openstack-single-node-xenial override-checkout: stable/rocky required-projects: *required-projects-rocky vars: &scenario_vars_rocky branch_override: stable/rocky network_api_extensions: *api_extensions_rocky devstack_localrc: USE_PYTHON3: false NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin # NOTE(bcafarel): newer tests, unstable on rocky branch tempest_black_regex: "\ (^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\ (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_multiple_ports_portrange_remote)" branches: - stable/rocky - job: name: neutron-tempest-plugin-scenario-openvswitch-rocky parent: neutron-tempest-plugin-scenario-openvswitch nodeset: openstack-single-node-xenial description: | This job run on py3 for other than stable/rocky gate which is nothing but neutron-tempest-pluign master gate. override-checkout: stable/rocky required-projects: *required-projects-rocky vars: <<: *scenario_vars_rocky devstack_localrc: USE_PYTHON3: True branches: ^(?!stable/rocky).*$ - job: name: neutron-tempest-plugin-scenario-openvswitch-stein parent: neutron-tempest-plugin-scenario-openvswitch override-checkout: stable/stein vars: branch_override: stable/stein network_api_extensions: *api_extensions_stein devstack_localrc: NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" - job: name: neutron-tempest-plugin-scenario-openvswitch-train parent: neutron-tempest-plugin-scenario-openvswitch override-checkout: stable/train vars: branch_override: stable/train network_api_extensions: *api_extensions_train devstack_localrc: NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" - job: name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid parent: neutron-tempest-plugin-scenario timeout: 10000 vars: network_api_extensions: *api_extensions_master # TODO(slaweq): remove trunks subport_connectivity test from blacklist # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed tempest_black_regex: "(^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)" devstack_localrc: Q_AGENT: openvswitch NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: enable_dvr: false # NOTE(slaweq): We can get rid of this hardcoded absolute path when # devstack-tempest job will be switched to use lib/neutron instead of # lib/neutron-legacy /$NEUTRON_CORE_PLUGIN_CONF: agent: tunnel_types: vxlan,gre ovs: tunnel_bridge: br-tun bridge_mappings: public:br-ex securitygroup: firewall_driver: iptables_hybrid test-config: $TEMPEST_CONFIG: neutron_plugin_options: available_type_drivers: flat,vlan,local,vxlan - job: name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid nodeset: openstack-single-node-xenial description: | This job run on py2 for stable/rocky gate. override-checkout: stable/rocky required-projects: *required-projects-rocky vars: &openvswitch_vars_rocky branch_override: stable/rocky network_api_extensions: *api_extensions_rocky devstack_localrc: USE_PYTHON3: false NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin # TODO(bcafarel): remove trunks subport_connectivity test from blacklist # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed # NOTE(bcafarel): other are newer tests, unstable on rocky branch tempest_black_regex: "\ (^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\ (^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\ (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_multiple_ports_portrange_remote)" branches: - stable/rocky - job: name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid nodeset: openstack-single-node-xenial description: | This job run on py3 for other than stable/rocky gate which is nothing but neutron-tempest-pluign master gate. override-checkout: stable/rocky required-projects: *required-projects-rocky vars: <<: *openvswitch_vars_rocky devstack_localrc: USE_PYTHON3: True branches: ^(?!stable/rocky).*$ - job: name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-stein parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid override-checkout: stable/stein vars: branch_override: stable/stein network_api_extensions: *api_extensions_stein devstack_localrc: NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" - job: name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-train parent: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid override-checkout: stable/train vars: branch_override: stable/train network_api_extensions: *api_extensions_train devstack_localrc: NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" - job: name: neutron-tempest-plugin-scenario-linuxbridge parent: neutron-tempest-plugin-scenario timeout: 10000 vars: network_api_extensions: *api_extensions_master devstack_localrc: Q_AGENT: linuxbridge NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: enable_dvr: false AGENT: debug_iptables_rules: true # NOTE(slaweq): We can get rid of this hardcoded absolute path when # devstack-tempest job will be switched to use lib/neutron instead of # lib/neutron-legacy /$NEUTRON_CORE_PLUGIN_CONF: ml2: type_drivers: flat,vlan,local,vxlan test-config: $TEMPEST_CONFIG: neutron_plugin_options: available_type_drivers: flat,vlan,local,vxlan q_agent: linuxbridge - job: name: neutron-tempest-plugin-scenario-linuxbridge-queens parent: neutron-tempest-plugin-scenario-linuxbridge nodeset: openstack-single-node-xenial override-checkout: stable/queens required-projects: - openstack/devstack-gate - openstack/neutron - name: openstack/neutron-tempest-plugin override-checkout: 0.3.0 - openstack/tempest vars: branch_override: stable/queens network_api_extensions: *api_extensions_queens # NOTE(bcafarel): remove DNS test as queens pinned version does not have # fix for https://bugs.launchpad.net/neutron/+bug/1826419 tempest_black_regex: "\ (^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)" devstack_localrc: USE_PYTHON3: false NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin devstack_local_conf: test-config: # NOTE: ignores linux bridge's trunk delete on bound port test # for queens branch (as https://review.opendev.org/#/c/605589/ # fix will not apply for queens branch) $TEMPEST_CONFIG: neutron_plugin_options: q_agent: None - job: name: neutron-tempest-plugin-scenario-linuxbridge-rocky parent: neutron-tempest-plugin-scenario-linuxbridge description: | This job run on py2 for stable/rocky gate. nodeset: openstack-single-node-xenial override-checkout: stable/rocky required-projects: *required-projects-rocky vars: &linuxbridge_vars_rocky branch_override: stable/rocky network_api_extensions: *api_extensions_rocky devstack_localrc: USE_PYTHON3: false NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin devstack_local_conf: test-config: # NOTE: ignores linux bridge's trunk delete on bound port test # for rocky branch (as https://review.opendev.org/#/c/605589/ # fix will not apply for rocky branch) $TEMPEST_CONFIG: neutron_plugin_options: q_agent: None # NOTE(bcafarel): newer tests, unstable on rocky branch tempest_black_regex: "\ (^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\ (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_multiple_ports_portrange_remote)" branches: - stable/rocky - job: name: neutron-tempest-plugin-scenario-linuxbridge-rocky parent: neutron-tempest-plugin-scenario-linuxbridge nodeset: openstack-single-node-xenial description: | This job run on py3 for other than stable/rocky gate which is nothing but neutron-tempest-pluign master gate. override-checkout: stable/rocky required-projects: *required-projects-rocky vars: <<: *linuxbridge_vars_rocky devstack_localrc: USE_PYTHON3: True branches: ^(?!stable/rocky).*$ - job: name: neutron-tempest-plugin-scenario-linuxbridge-stein parent: neutron-tempest-plugin-scenario-linuxbridge override-checkout: stable/stein vars: branch_override: stable/stein network_api_extensions: *api_extensions_stein devstack_localrc: NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" - job: name: neutron-tempest-plugin-scenario-linuxbridge-train parent: neutron-tempest-plugin-scenario-linuxbridge override-checkout: stable/train vars: branch_override: stable/train network_api_extensions: *api_extensions_train devstack_localrc: NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" - job: name: neutron-tempest-plugin-dvr-multinode-scenario parent: tempest-multinode-full description: | Perform setup for Neutron tempest tests in multinode with DVR scenario roles: - zuul: openstack/devstack required-projects: - openstack/devstack-gate - openstack/neutron - openstack/neutron-tempest-plugin - openstack/tempest pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml voting: false vars: tempest_concurrency: 4 tox_envlist: all tempest_test_regex: ^neutron_tempest_plugin\.scenario # NOTE(slaweq): in case of some tests, which requires advanced image, # default test timeout set to 1200 seconds may be not enough if job is # run on slow node tempest_test_timeout: 2400 network_api_extensions_common: *api_extensions_master network_api_extensions_dvr: - dvr devstack_localrc: USE_PYTHON3: true NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_dvr) | join(',') }}" PHYSICAL_NETWORK: default IMAGE_URLS: https://cloud-images.ubuntu.com/releases/xenial/release/ubuntu-16.04-server-cloudimg-amd64-disk1.img ADVANCED_IMAGE_NAME: ubuntu-16.04-server-cloudimg-amd64-disk1 ADVANCED_INSTANCE_TYPE: ds512M ADVANCED_INSTANCE_USER: ubuntu BUILD_TIMEOUT: 784 devstack_plugins: neutron: https://opendev.org/openstack/neutron.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git tempest_plugins: - neutron-tempest-plugin devstack_services: tls-proxy: false tempest: true neutron-dns: true neutron-qos: true neutron-segments: true neutron-trunk: true neutron-log: true neutron-port-forwarding: true cinder: true devstack_local_conf: post-config: $NEUTRON_CONF: quotas: quota_router: 100 quota_floatingip: 500 quota_security_group: 100 quota_security_group_rule: 1000 DEFAULT: router_distributed: True # NOTE(slaweq): We can get rid of this hardcoded absolute path when # devstack-tempest job will be switched to use lib/neutron instead of # lib/neutron-legacy "/$NEUTRON_CORE_PLUGIN_CONF": ml2: type_drivers: flat,geneve,vlan,gre,local,vxlan mechanism_drivers: openvswitch,l2population ml2_type_vlan: network_vlan_ranges: foo:1:10 ml2_type_vxlan: vni_ranges: 1:2000 ml2_type_gre: tunnel_id_ranges: 1:1000 agent: enable_distributed_routing: True l2_population: True tunnel_types: vxlan,gre ovs: tunnel_bridge: br-tun bridge_mappings: public:br-ex $NEUTRON_L3_CONF: DEFAULT: agent_mode: dvr_snat agent: availability_zone: nova $NEUTRON_DHCP_CONF: agent: availability_zone: nova "/etc/neutron/api-paste.ini": "composite:neutronapi_v2_0": use: "call:neutron.auth:pipeline_factory" noauth: "cors request_id catch_errors osprofiler extensions neutronapiapp_v2_0" keystone: "cors request_id catch_errors osprofiler authtoken keystonecontext extensions neutronapiapp_v2_0" test-config: $TEMPEST_CONFIG: neutron_plugin_options: provider_vlans: foo, agent_availability_zone: nova image_is_advanced: true available_type_drivers: flat,geneve,vlan,gre,local,vxlan l3_agent_mode: dvr_snat group-vars: subnode: devstack_services: tls-proxy: false q-agt: true q-l3: true q-meta: true neutron-qos: true neutron-trunk: true neutron-log: true neutron-port-forwarding: true devstack_localrc: USE_PYTHON3: true devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: router_distributed: True # NOTE(slaweq): We can get rid of this hardcoded absolute path when # devstack-tempest job will be switched to use lib/neutron instead of # lib/neutron-legacy "/$NEUTRON_CORE_PLUGIN_CONF": agent: enable_distributed_routing: True l2_population: True tunnel_types: vxlan,gre ovs: tunnel_bridge: br-tun bridge_mappings: public:br-ex $NEUTRON_L3_CONF: DEFAULT: agent_mode: dvr_snat agent: availability_zone: nova irrelevant-files: *tempest-irrelevant-files - job: name: neutron-tempest-plugin-dvr-multinode-scenario-queens parent: neutron-tempest-plugin-dvr-multinode-scenario nodeset: openstack-two-node-xenial override-checkout: stable/queens required-projects: - openstack/devstack-gate - openstack/neutron - name: openstack/neutron-tempest-plugin override-checkout: 0.3.0 - openstack/tempest vars: branch_override: stable/queens network_api_extensions_common: *api_extensions_queens # TODO(slaweq): remove trunks subport_connectivity test from blacklist # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed # NOTE(bcafarel): remove DNS test as queens pinned version does not have # fix for https://bugs.launchpad.net/neutron/+bug/1826419 tempest_black_regex: "\ (^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\ (^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)" devstack_localrc: USE_PYTHON3: false TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin - job: name: neutron-tempest-plugin-dvr-multinode-scenario-rocky parent: neutron-tempest-plugin-dvr-multinode-scenario description: | This job run on py2 for stable/rocky gate. nodeset: openstack-two-node-xenial override-checkout: stable/rocky required-projects: *required-projects-rocky vars: &multinode_scenario_vars_rocky branch_override: stable/rocky network_api_extensions_common: *api_extensions_rocky devstack_localrc: USE_PYTHON3: false TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin # NOTE(bcafarel): newer tests, unstable on rocky branch tempest_black_regex: "\ (^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\ (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_multiple_ports_portrange_remote)" branches: - stable/rocky - job: name: neutron-tempest-plugin-dvr-multinode-scenario-rocky parent: neutron-tempest-plugin-dvr-multinode-scenario nodeset: openstack-two-node-xenial description: | This job run on py3 for other than stable/rocky gate which is nothing but neutron-tempest-pluign master gate. override-checkout: stable/rocky vars: <<: *multinode_scenario_vars_rocky devstack_localrc: USE_PYTHON3: True required-projects: *required-projects-rocky group-vars: subnode: devstack_localrc: USE_PYTHON3: True branches: ^(?!stable/rocky).*$ - job: name: neutron-tempest-plugin-dvr-multinode-scenario-stein parent: neutron-tempest-plugin-dvr-multinode-scenario override-checkout: stable/stein vars: network_api_extensions_common: *api_extensions_stein branch_override: stable/stein - job: name: neutron-tempest-plugin-dvr-multinode-scenario-train parent: neutron-tempest-plugin-dvr-multinode-scenario override-checkout: stable/train vars: network_api_extensions_common: *api_extensions_train branch_override: stable/train - job: name: neutron-tempest-plugin-designate-scenario parent: neutron-tempest-plugin-scenario description: Neutron designate integration scenario required-projects: - openstack/designate - openstack/designate-dashboard - openstack/designate-tempest-plugin timeout: 3600 vars: devstack_localrc: DESIGNATE_BACKEND_DRIVER: bind9 Q_AGENT: openvswitch # In this job advanced image is not needed, so it's name should be # empty ADVANCED_IMAGE_NAME: "" devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: enable_dvr: false # NOTE(slaweq): We can get rid of this hardcoded absolute path when # devstack-tempest job will be switched to use lib/neutron instead of # lib/neutron-legacy /$NEUTRON_CORE_PLUGIN_CONF: agent: tunnel_types: vxlan,gre ovs: tunnel_bridge: br-tun bridge_mappings: public:br-ex devstack_plugins: designate: https://opendev.org/openstack/designate.git devstack_services: cinder: false designate: true tempest_plugins: - designate-tempest-plugin - neutron-tempest-plugin tempest_test_regex: ^neutron_tempest_plugin\.scenario\.test_dns_integration irrelevant-files: *tempest-irrelevant-files - job: name: neutron-tempest-plugin-designate-scenario-queens parent: neutron-tempest-plugin-designate-scenario nodeset: openstack-single-node-xenial override-checkout: stable/queens required-projects: - openstack/devstack-gate - openstack/neutron - name: openstack/neutron-tempest-plugin override-checkout: 0.3.0 - name: openstack/designate-tempest-plugin override-checkout: 0.7.0 - openstack/tempest vars: branch_override: stable/queens network_api_extensions_common: *api_extensions_queens # NOTE(bcafarel): remove DNS test as queens pinned version does not have # fix for https://bugs.launchpad.net/neutron/+bug/1826419 tempest_black_regex: "\ (^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)" devstack_localrc: USE_PYTHON3: false TEMPEST_PLUGINS: '"/opt/stack/designate-tempest-plugin /opt/stack/neutron-tempest-plugin"' - job: name: neutron-tempest-plugin-designate-scenario-rocky parent: neutron-tempest-plugin-designate-scenario description: | This job run on py2 for stable/rocky gate. nodeset: openstack-single-node-xenial override-checkout: stable/rocky required-projects: - openstack/devstack-gate - openstack/neutron - name: openstack/neutron-tempest-plugin override-checkout: 0.9.0 - name: openstack/designate-tempest-plugin override-checkout: 0.7.0 - openstack/tempest vars: &designate_scenario_vars_rocky branch_override: stable/rocky network_api_extensions_common: *api_extensions_rocky devstack_localrc: USE_PYTHON3: false TEMPEST_PLUGINS: '"/opt/stack/designate-tempest-plugin /opt/stack/neutron-tempest-plugin"' branches: - stable/rocky - job: name: neutron-tempest-plugin-designate-scenario-rocky parent: neutron-tempest-plugin-designate-scenario nodeset: openstack-single-node-xenial description: | This job run on py3 for other than stable/rocky gate which is nothing but neutron-tempest-plugin master gate. override-checkout: stable/rocky required-projects: *required-projects-rocky vars: <<: *designate_scenario_vars_rocky devstack_localrc: USE_PYTHON3: True branches: ^(?!stable/rocky).*$ - job: name: neutron-tempest-plugin-designate-scenario-stein parent: neutron-tempest-plugin-designate-scenario override-checkout: stable/stein required-projects: - openstack/devstack-gate - openstack/neutron - openstack/neutron-tempest-plugin - name: openstack/designate-tempest-plugin override-checkout: 0.7.0 - openstack/tempest vars: branch_override: stable/stein network_api_extensions_common: *api_extensions_stein - job: name: neutron-tempest-plugin-designate-scenario-train parent: neutron-tempest-plugin-designate-scenario override-checkout: stable/train vars: branch_override: stable/train network_api_extensions_common: *api_extensions_train - job: name: neutron-tempest-plugin-sfc parent: neutron-tempest-plugin timeout: 10800 required-projects: - openstack/devstack-gate - openstack/networking-sfc - openstack/neutron - openstack/neutron-tempest-plugin - openstack/tempest vars: tempest_test_regex: ^neutron_tempest_plugin\.sfc devstack_plugins: networking-sfc: https://opendev.org/openstack/networking-sfc neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin network_api_extensions_sfc: - flow_classifier - sfc devstack_localrc: NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_sfc) | join(',') }}" # TODO(bcafarel): tests still fail from time to time in parallel # https://bugs.launchpad.net/neutron/+bug/1851500 # https://bugs.launchpad.net/networking-sfc/+bug/1660366 tempest_concurrency: 1 - job: name: neutron-tempest-plugin-sfc-train parent: neutron-tempest-plugin-sfc override-checkout: stable/train vars: branch_override: stable/train network_api_extensions_common: *api_extensions_train - job: name: neutron-tempest-plugin-bgpvpn-bagpipe parent: neutron-tempest-plugin required-projects: - openstack/networking-bagpipe - openstack/networking-bgpvpn vars: tempest_test_regex: ^neutron_tempest_plugin\.bgpvpn network_api_extensions: *api_extensions_master network_api_extensions_bgpvpn: - bgpvpn - bgpvpn-routes-control devstack_localrc: NETWORKING_BGPVPN_DRIVER: "BGPVPN:BaGPipe:networking_bgpvpn.neutron.services.service_drivers.bagpipe.bagpipe_v2.BaGPipeBGPVPNDriver:default" BAGPIPE_DATAPLANE_DRIVER_IPVPN: "ovs" BAGPIPE_BGP_PEERS: "-" NETWORK_API_EXTENSIONS: "{{ (network_api_extensions + network_api_extensions_bgpvpn) | join(',') }}" devstack_plugins: networking-bgpvpn: https://git.openstack.org/openstack/networking-bgpvpn networking-bagpipe: https://git.openstack.org/openstack/networking-bagpipe - job: name: neutron-tempest-plugin-bgpvpn-bagpipe-train parent: neutron-tempest-plugin-bgpvpn-bagpipe override-checkout: stable/train vars: branch_override: stable/train network_api_extensions: *api_extensions_train - job: name: neutron-tempest-plugin-fwaas parent: neutron-tempest-plugin timeout: 10800 required-projects: - openstack/devstack-gate - openstack/neutron-fwaas - openstack/neutron - openstack/neutron-tempest-plugin - openstack/tempest vars: tempest_test_regex: ^neutron_tempest_plugin\.fwaas devstack_plugins: neutron-fwaas: https://opendev.org/openstack/neutron-fwaas.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git network_api_extensions_common: *api_extensions_master network_api_extensions_fwaas: - fwaas_v2 devstack_localrc: NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_fwaas) | join(',') }}" - job: name: neutron-tempest-plugin-fwaas-train parent: neutron-tempest-plugin-fwaas override-checkout: stable/train vars: branch_override: stable/train network_api_extensions_common: *api_extensions_train - job: name: neutron-tempest-plugin-dynamic-routing parent: neutron-tempest-plugin description: | Perform setup common to all Neutron dynamic routing tempest tests required-projects: - openstack/neutron - openstack/neutron-dynamic-routing - openstack/os-ken - openstack/tempest pre-run: playbooks/dynamic-routing-pre-run.yaml vars: devstack_plugins: neutron-dynamic-routing: https://opendev.org/openstack/neutron-dynamic-routing neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin network_api_extensions_common: *api_extensions_master network_api_extensions_bgp: - bgp - bgp_dragent_scheduler - bgp_4byte_asn devstack_localrc: NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_bgp) | join(',') }}" devstack_services: neutron-dr: true neutron-dr-agent: true q-l3: true tempest_concurrency: 1 tempest_test_regex: ^neutron_tempest_plugin\.neutron_dynamic_routing - job: name: neutron-tempest-plugin-vpnaas parent: neutron-tempest-plugin timeout: 3900 required-projects: - openstack/devstack-gate - openstack/neutron - openstack/neutron-vpnaas - openstack/neutron-tempest-plugin - openstack/tempest vars: tempest_test_regex: ^neutron_tempest_plugin\.vpnaas devstack_plugins: neutron-vpnaas: https://opendev.org/openstack/neutron-vpnaas.git neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git network_api_extensions_common: *api_extensions_master network_api_extensions_vpnaas: - vpnaas devstack_localrc: IPSEC_PACKAGE: strongswan NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_vpnaas) | join(',') }}" irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^neutron_vpnaas/tests/unit/.*$ - ^releasenotes/.*$ - project-template: name: neutron-tempest-plugin-jobs check: jobs: - neutron-tempest-plugin-api - neutron-tempest-plugin-designate-scenario - neutron-tempest-plugin-dvr-multinode-scenario - neutron-tempest-plugin-scenario-linuxbridge - neutron-tempest-plugin-scenario-openvswitch - neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid gate: jobs: - neutron-tempest-plugin-api - neutron-tempest-plugin-scenario-linuxbridge - neutron-tempest-plugin-scenario-openvswitch - neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid - project-template: name: neutron-tempest-plugin-jobs-queens check: jobs: - neutron-tempest-plugin-api-queens - neutron-tempest-plugin-designate-scenario-queens - neutron-tempest-plugin-dvr-multinode-scenario-queens - neutron-tempest-plugin-scenario-linuxbridge-queens - neutron-tempest-plugin-scenario-openvswitch-queens gate: jobs: - neutron-tempest-plugin-api-queens - project-template: name: neutron-tempest-plugin-jobs-rocky check: jobs: - neutron-tempest-plugin-api-rocky - neutron-tempest-plugin-designate-scenario-rocky - neutron-tempest-plugin-dvr-multinode-scenario-rocky - neutron-tempest-plugin-scenario-linuxbridge-rocky - neutron-tempest-plugin-scenario-openvswitch-rocky - neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky gate: jobs: - neutron-tempest-plugin-api-rocky - project-template: name: neutron-tempest-plugin-jobs-stein check: jobs: - neutron-tempest-plugin-api-stein - neutron-tempest-plugin-designate-scenario-stein - neutron-tempest-plugin-dvr-multinode-scenario-stein - neutron-tempest-plugin-scenario-linuxbridge-stein - neutron-tempest-plugin-scenario-openvswitch-stein - neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-stein gate: jobs: - neutron-tempest-plugin-api-stein - project-template: name: neutron-tempest-plugin-jobs-train check: jobs: - neutron-tempest-plugin-api-train - neutron-tempest-plugin-designate-scenario-train - neutron-tempest-plugin-dvr-multinode-scenario-train - neutron-tempest-plugin-scenario-linuxbridge-train - neutron-tempest-plugin-scenario-openvswitch-train - neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-train gate: jobs: - neutron-tempest-plugin-api-train - project: templates: - build-openstack-docs-pti - neutron-tempest-plugin-jobs - neutron-tempest-plugin-jobs-stein - neutron-tempest-plugin-jobs-train - check-requirements - tempest-plugin-jobs - release-notes-jobs-python3 check: jobs: - neutron-tempest-plugin-sfc - neutron-tempest-plugin-sfc-train - neutron-tempest-plugin-bgpvpn-bagpipe - neutron-tempest-plugin-bgpvpn-bagpipe-train - neutron-tempest-plugin-fwaas: # TODO(slaweq): switch it to be voting when bug # https://bugs.launchpad.net/neutron/+bug/1858645 will be fixed voting: false - neutron-tempest-plugin-fwaas-train: # TODO(slaweq): switch it to be voting when bug # https://bugs.launchpad.net/neutron/+bug/1858645 will be fixed voting: false - neutron-tempest-plugin-dynamic-routing - neutron-tempest-plugin-vpnaas gate: jobs: - neutron-tempest-plugin-sfc - neutron-tempest-plugin-bgpvpn-bagpipe # TODO(slaweq): bring it back to gate queue # https://bugs.launchpad.net/neutron/+bug/1858645 will be fixed # - neutron-tempest-plugin-fwaas - neutron-tempest-plugin-dynamic-routing