- 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-scenario-ovn parent: neutron-tempest-plugin-scenario timeout: 10000 vars: network_api_extensions: *api_extensions # TODO(haleyb): Remove this blacklist when # https://bugs.launchpad.net/neutron/+bug/1881558 is fixed. tempest_black_regex: "(?:neutron_tempest_plugin.scenario.test_ipv6.IPv6Test)" devstack_localrc: Q_AGENT: ovn NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}" Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger Q_ML2_PLUGIN_TYPE_DRIVERS: local,flat,vlan,geneve Q_ML2_TENANT_NETWORK_TYPE: geneve Q_USE_PROVIDERNET_FOR_PUBLIC: true PHYSICAL_NETWORK: public ENABLE_CHASSIS_AS_GW: true OVN_L3_CREATE_PUBLIC_NETWORK: true OVN_DBS_LOG_LEVEL: dbg # TODO(mjozefcz): Stop compiling OVS modules when meter action in kernel # will be released in Ubuntu Bionic. # More info: https://mail.openvswitch.org/pipermail/ovs-discuss/2018-December/048009.html OVN_BUILD_MODULES: True ENABLE_TLS: True OVN_IGMP_SNOOPING_ENABLE: True devstack_services: br-ex-tcpdump: true br-int-flows: true q-ovn-metadata-agent: true ovn-controller: true ovn-northd: true ovs-vswitchd: true ovsdb-server: true q-agt: false q-dhcp: false q-l3: false q-meta: false q-metering: false s-account: false s-container-sync: false s-container: false s-object: false s-proxy: false tls-proxy: true q-qos: true devstack_local_conf: post-config: $NEUTRON_CONF: DEFAULT: enable_dvr: false /$NEUTRON_CORE_PLUGIN_CONF: ml2: type_drivers: local,flat,vlan,geneve test-config: $TEMPEST_CONFIG: neutron_plugin_options: available_type_drivers: local,flat,vlan,geneve is_igmp_snooping_enabled: True - 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-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: *tempest-irrelevant-files