- 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/neutron
      - openstack/neutron-tempest-plugin
      - openstack/tempest
    vars:
      tempest_concurrency: 3  # out of 4
      tox_envlist: all
      # 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.api)|\
          (^neutron_tempest_plugin.scenario)|\
          (^tempest.api.compute.servers.test_attach_interfaces)|\
          (^tempest.api.compute.servers.test_multiple_create)"
      devstack_localrc:
        USE_PYTHON3: true
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
        PHYSICAL_NETWORK: public
        IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/focal/release/ubuntu-20.04-minimal-cloudimg-amd64.img
        CIRROS_VERSION: 0.5.1
        DEFAULT_IMAGE_NAME: cirros-0.5.1-x86_64-uec
        DEFAULT_IMAGE_FILE_NAME: cirros-0.5.1-x86_64-uec.tar.gz
        ADVANCED_IMAGE_NAME: ubuntu-20.04-minimal-cloudimg-amd64
        ADVANCED_INSTANCE_TYPE: ntp_image_256M
        ADVANCED_INSTANCE_USER: ubuntu
        CUSTOMIZE_IMAGE: true
        BUILD_TIMEOUT: 784
        # TODO(lucasagomes): Re-enable MOD_WSGI after
        # https://bugs.launchpad.net/neutron/+bug/1912359 is implemented
        NEUTRON_DEPLOY_MOD_WSGI: false
        # TODO(ralonsoh): remove OVN_BUILD_FROM_SOURCE once the OS packages
        # include at least OVN v20.12.0.
        OVN_BUILD_FROM_SOURCE: True
        OVN_BRANCH: "v21.03.0"
        OVS_BRANCH: "8dc1733eaea866dce033b3c44853e1b09bf59fc7"
      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
      # 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-group
        - address-scope
        - agent
        - allowed-address-pairs
        - auto-allocated-topology
        - availability_zone
        - binding
        - default-subnetpools
        - dhcp_agent_scheduler
        - dns-domain-ports
        - dns-integration
        - dns-integration-domain-keywords
        - 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-ext-ndp-proxy
        - l3-flavors
        - l3-ha
        - l3-ndp-proxy
        - l3_agent_scheduler
        - metering
        - multi-provider
        - net-mtu
        - net-mtu-writable
        - network-ip-availability
        - network_availability_zone
        - network-segment-range
        - pagination
        - port-device-profile
        - port-resource-request
        - port-resource-request-groups
        - port-mac-address-regenerate
        - port-security
        - port-security-groups-filtering
        - project-id
        - provider
        - qos
        - qos-fip
        - quotas
        - quota_details
        - rbac-address-group
        - rbac-address-scope
        - rbac-policies
        - rbac-security-groups
        - rbac-subnetpool
        - router
        - router_availability_zone
        - security-group
        - security-groups-remote-address-group
        - segment
        - service-type
        - sorting
        - standard-attr-description
        - standard-attr-revisions
        - standard-attr-segment
        - standard-attr-tag
        - standard-attr-timestamp
        - stateful-security-group
        - subnet_allocation
        - subnet-dns-publish-fixed-ip
        - subnet-service-types
        - subnetpool-prefix-ops
        - tag-ports-during-bulk-creation
        - trunk
        - trunk-details
        - uplink-status-propagation
      devstack_services:
        tempest: true
        neutron-dns: true
        neutron-log: 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
        neutron-ndp-proxy: true
        br-ex-tcpdump: true
        br-int-flows: true
        # Cinder services
        c-api: false
        c-bak: false
        c-sch: false
        c-vol: false
        cinder: false
        # We don't need Swift to be run in the Neutron jobs
        s-account: false
        s-container: false
        s-object: false
        s-proxy: false
      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
            network_log:
              local_output_log_base: /tmp/test_log.log
          $NEUTRON_L3_CONF:
            agent:
              availability_zone: nova
          $NEUTRON_DHCP_CONF:
            agent:
              availability_zone: nova
        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:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^.*\.conf\.sample$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^tools/.*$
      - ^tox.ini$
      - ^neutron/agent/.*$
      - ^neutron/privileged/.*$
      - ^neutron_lib/tests/unit/.*$
      - ^neutron_tempest_plugin/scenario/.*$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

- job:
    name: neutron-tempest-plugin-openvswitch
    parent: neutron-tempest-plugin-base-nested-switch
    timeout: 10000
    vars:
      configure_swap_size: 2048
      devstack_services:
        # Disable OVN services
        br-ex-tcpdump: false
        br-int-flows: false
        ovn-controller: false
        ovn-northd: false
        ovs-vswitchd: false
        ovsdb-server: false
        q-ovn-metadata-agent: false
        # Neutron services
        neutron-local-ip-static: true
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
      network_api_extensions_openvswitch:
        - local_ip
        - qos-bw-minimum-ingress
      network_available_features: &available_features
        - ipv6_metadata
      devstack_localrc:
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_openvswitch) | join(',') }}"
      devstack_local_conf:
        post-config:
          $NEUTRON_CONF:
            DEFAULT:
              enable_dvr: false
              l3_ha: 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:
              tunnel_types: vxlan,gre
            ovs:
              tunnel_bridge: br-tun
              bridge_mappings: public:br-ex
              openflow_processed_per_port: True
        test-config:
          $TEMPEST_CONFIG:
            network-feature-enabled:
              available_features: "{{ network_available_features | join(',') }}"
            neutron_plugin_options:
              available_type_drivers: flat,vlan,local,vxlan
              firewall_driver: openvswitch
    irrelevant-files: &openvswitch-scenario-irrelevant-files
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^.*\.conf\.sample$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^tools/.*$
      - ^tox.ini$
      - ^neutron/agent/ovn/.*$
      - ^neutron/agent/windows/.*$
      - ^neutron/plugins/ml2/drivers/linuxbridge/.*$
      - ^neutron/plugins/ml2/drivers/macvtap/.*$
      - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
      - ^neutron/plugins/ml2/drivers/ovn/.*$
      - ^neutron/services/ovn_l3/.*$
      - ^neutron/services/logapi/drivers/ovn/.*$
      - ^neutron/services/portforwarding/drivers/ovn/.*$
      - ^neutron/services/qos/drivers/linuxbridge/.*$
      - ^neutron/services/qos/drivers/ovn/.*$
      - ^neutron/services/trunk/drivers/linuxbridge/.*$
      - ^neutron/services/trunk/drivers/ovn/.*$
      - ^neutron/cmd/ovn/.*$
      - ^neutron/common/ovn/.*$
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

- job:
    name: neutron-tempest-plugin-openvswitch-iptables_hybrid
    parent: neutron-tempest-plugin-base-nested-switch
    timeout: 10000
    vars:
      configure_swap_size: 2048
      devstack_services:
        # Disable OVN services
        br-ex-tcpdump: false
        br-int-flows: false
        ovn-controller: false
        ovn-northd: false
        ovs-vswitchd: false
        ovsdb-server: false
        q-ovn-metadata-agent: false
        # Neutron services
        neutron-local-ip: true
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
      network_api_extensions_openvswitch:
        - local_ip
        - logging
      network_available_features: *available_features
      # TODO(slaweq): remove trunks subport_connectivity test from blacklist
      # when bug https://bugs.launchpad.net/neutron/+bug/1838760 will be fixed
      # TODO(akatz): remove established tcp session verification test when the
      # bug https://bugzilla.redhat.com/show_bug.cgi?id=1965036 will be fixed
      tempest_exclude_regex: "\
          (^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\
          (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_established_tcp_session_after_re_attachinging_sg)"
      devstack_localrc:
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_openvswitch) | join(',') }}"
      devstack_local_conf:
        post-config:
          $NEUTRON_CONF:
            DEFAULT:
              enable_dvr: false
              l3_ha: 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:
              tunnel_types: vxlan,gre
            ovs:
              tunnel_bridge: br-tun
              bridge_mappings: public:br-ex
            securitygroup:
              firewall_driver: iptables_hybrid
        test-config:
          $TEMPEST_CONFIG:
            network-feature-enabled:
              available_features: "{{ network_available_features | join(',') }}"
            neutron_plugin_options:
              available_type_drivers: flat,vlan,local,vxlan
              firewall_driver: iptables_hybrid
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^.*\.conf\.sample$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^tools/.*$
      - ^tox.ini$
      - ^neutron/agent/linux/openvswitch_firewall/.*$
      - ^neutron/agent/ovn/.*$
      - ^neutron/agent/windows/.*$
      - ^neutron/plugins/ml2/drivers/linuxbridge/.*$
      - ^neutron/plugins/ml2/drivers/macvtap/.*$
      - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
      - ^neutron/plugins/ml2/drivers/ovn/.*$
      - ^neutron/services/ovn_l3/.*$
      - ^neutron/services/logapi/drivers/ovn/.*$
      - ^neutron/services/portforwarding/drivers/ovn/.*$
      - ^neutron/services/qos/drivers/linuxbridge/.*$
      - ^neutron/services/qos/drivers/ovn/.*$
      - ^neutron/services/trunk/drivers/linuxbridge/.*$
      - ^neutron/services/trunk/drivers/ovn/.*$
      - ^neutron/cmd/ovn/.*$
      - ^neutron/common/ovn/.*$
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

# TODO(slaweq): remove that job's definition as soon as new job
# "neutron-tempest-plugin-openvswitch-iptables_hybrid" will be used in the
# neutron repo as a parent for a
# "neutron-ovs-tempest-plugin-scenario-iptables_hybrid-nftables" job
- job:
    name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
    parent: neutron-tempest-plugin-openvswitch-iptables_hybrid

- job:
    name: neutron-tempest-plugin-openvswitch-distributed-dhcp
    parent: neutron-tempest-plugin-openvswitch
    timeout: 10000
    vars:
      # NOTE: DHCP extra options and dns services aren't supported with
      # distributed DHCP L2 agent extension
      tempest_exclude_regex: "\
          (^neutron_tempest_plugin.scenario.test_dhcp.DHCPTest.test_extra_dhcp_opts)|\
          (^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)"
      devstack_services:
        q-dhcp: false
        q-distributed-dhcp: true

- job:
    name: neutron-tempest-plugin-openvswitch-iptables_hybrid-distributed-dhcp
    parent: neutron-tempest-plugin-openvswitch-iptables_hybrid
    timeout: 10000
    vars:
      # NOTE: DHCP extra options and dns services aren't supported with
      # distributed DHCP L2 agent extension
      tempest_exclude_regex: "\
          (^neutron_tempest_plugin.scenario.test_dhcp.DHCPTest.test_extra_dhcp_opts)|\
          (^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)"
      devstack_services:
        q-dhcp: false
        q-distributed-dhcp: true

- job:
    name: neutron-tempest-plugin-linuxbridge
    parent: neutron-tempest-plugin-base-nested-switch
    timeout: 10000
    roles:
      - zuul: openstack/neutron
    pre-run: playbooks/linuxbridge-scenario-pre-run.yaml
    vars:
      configure_swap_size: 2048
      devstack_services:
        # Disable OVN services
        br-ex-tcpdump: false
        br-int-flows: false
        ovn-controller: false
        ovn-northd: false
        ovs-vswitchd: false
        ovsdb-server: false
        q-ovn-metadata-agent: false
        # Neutron services
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
        # SG logging isn't supported by linuxbridge backend
        neutron-log: false
      network_api_extensions_linuxbridge:
        - vlan-transparent
      network_available_features: *available_features
      # TODO(eolivare): remove VLAN Transparency tests from blacklist
      # when bug https://bugs.launchpad.net/neutron/+bug/1907548 will be fixed
      # TODO(slaweq): remove
      # test_established_tcp_session_after_re_attachinging_sg from the
      # exclude regex when bug https://bugs.launchpad.net/neutron/+bug/1936911
      # will be fixed
      # TODO(slaweq) remove test_floatingip_port_details from the exclude
      # regex when bug https://bugs.launchpad.net/neutron/+bug/1799790 will be
      # fixed
      tempest_exclude_regex: "\
          (^neutron_tempest_plugin.scenario.test_vlan_transparency.VlanTransparencyTest)|\
          (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_established_tcp_session_after_re_attachinging_sg)|\
          (^neutron_tempest_plugin.scenario.test_floatingip.FloatingIPPortDetailsTest.test_floatingip_port_details)"
      devstack_localrc:
        Q_AGENT: linuxbridge
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_linuxbridge) | join(',') }}"
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch,linuxbridge
      devstack_local_conf:
        post-config:
          $NEUTRON_CONF:
            DEFAULT:
              enable_dvr: false
              vlan_transparent: true
              l3_ha: true
            AGENT:
              debug_iptables_rules: true
            EXPERIMENTAL:
              linuxbridge: 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
              mechanism_drivers: linuxbridge
        test-config:
          $TEMPEST_CONFIG:
            network-feature-enabled:
              available_features: "{{ network_available_features | join(',') }}"
            neutron_plugin_options:
              available_type_drivers: flat,vlan,local,vxlan
              q_agent: linuxbridge
              firewall_driver: iptables
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^.*\.conf\.sample$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^tools/.*$
      - ^tox.ini$
      - ^neutron/agent/linux/openvswitch_firewall/.*$
      - ^neutron/agent/ovn/.*$
      - ^neutron/agent/windows/.*$
      - ^neutron/plugins/ml2/drivers/openvswitch/.*$
      - ^neutron/plugins/ml2/drivers/macvtap/.*$
      - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
      - ^neutron/plugins/ml2/drivers/ovn/.*$
      - ^neutron/services/ovn_l3/.*$
      - ^neutron/services/logapi/drivers/openvswitch/.*$
      - ^neutron/services/logapi/drivers/ovn/.*$
      - ^neutron/services/portforwarding/drivers/ovn/.*$
      - ^neutron/services/qos/drivers/openvswitch/.*$
      - ^neutron/services/qos/drivers/ovn/.*$
      - ^neutron/services/trunk/drivers/openvswitch/.*$
      - ^neutron/services/trunk/drivers/ovn/.*$
      - ^neutron/cmd/ovn/.*$
      - ^neutron/common/ovn/.*$
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

# TODO(slaweq): remove that job's definition as soon as new job
# "neutron-tempest-plugin-linuxbridge" will be used in the neutron repo as
# a parent for a "neutron-linuxbridge-tempest-plugin-scenario-nftables" job
- job:
    name: neutron-tempest-plugin-scenario-linuxbridge
    parent: neutron-tempest-plugin-linuxbridge

- job:
    name: neutron-tempest-plugin-ovn
    parent: neutron-tempest-plugin-base-nested-switch
    timeout: 10800
    vars:
      network_api_extensions_ovn:
        - vlan-transparent
      # TODO(jlibosva): Remove the NetworkWritableMtuTest test from the list
      # once east/west fragmentation is supported in core OVN
      tempest_exclude_regex: "\
          (^neutron_tempest_plugin.scenario.test_mtu.NetworkWritableMtuTest)"
      devstack_localrc:
        Q_AGENT: ovn
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_ovn) | 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
        # NOTE(slaweq): In the job with OVN backend we can't use Ubuntu minimal
        # image because kernel in that image don't supports MULTICAST traffic
        # thus multicast scenario test with IGMP snooping enabled would fail
        IMAGE_URLS: https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img
        ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64
        ADVANCED_INSTANCE_TYPE: ntp_image_384M
        ADVANCED_INSTANCE_USER: ubuntu
        CUSTOMIZE_IMAGE: false
        ENABLE_CHASSIS_AS_GW: true
        OVN_L3_CREATE_PUBLIC_NETWORK: true
        OVN_DBS_LOG_LEVEL: dbg
        ENABLE_TLS: True
        OVN_IGMP_SNOOPING_ENABLE: True
        # TODO(eolivare): Remove OVN_BUILD_FROM_SOURCE once vlan-transparency
        # is included in an ovn released version
        OVN_BUILD_FROM_SOURCE: True
        OVN_BRANCH: "v21.06.0"
        OVS_BRANCH: "a4b04276ab5934d087669ff2d191a23931335c87"
        OVS_SYSCONFDIR: "/usr/local/etc/openvswitch"
      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
        q-qos: true
        # Cinder services
        c-api: false
        c-bak: false
        c-sch: false
        c-vol: false
        cinder: false
        s-account: false
        s-container-sync: false
        s-container: false
        s-object: false
        s-proxy: false
      devstack_local_conf:
        post-config:
          $NEUTRON_CONF:
            DEFAULT:
              enable_dvr: false
              vlan_transparent: true
          /$NEUTRON_CORE_PLUGIN_CONF:
            ml2:
              type_drivers: local,flat,vlan,geneve
        test-config:
          $TEMPEST_CONFIG:
            network-feature-enabled:
              available_features: ""
            neutron_plugin_options:
              available_type_drivers: local,flat,vlan,geneve
              is_igmp_snooping_enabled: True
              firewall_driver: ovn
      zuul_copy_output:
        '{{ devstack_base_dir }}/data/ovs': 'logs'
        '{{ devstack_base_dir }}/data/ovn': 'logs'
        '{{ devstack_log_dir }}/ovsdb-server-nb.log': 'logs'
        '{{ devstack_log_dir }}/ovsdb-server-sb.log': 'logs'
        '/var/log/ovn': 'logs'
        '/var/log/openvswitch': 'logs'
        '/var/lib/ovn': 'logs'
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^.*\.conf\.sample$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^tools/.*$
      - ^tox.ini$
      - ^neutron/agent/dhcp/.*$
      - ^neutron/agent/l2/.*$
      - ^neutron/agent/l3/.*$
      - ^neutron/agent/metadata/.*$
      - ^neutron/agent/windows/.*$
      - ^neutron/agent/dhcp_agent.py
      - ^neutron/agent/l3_agent.py
      - ^neutron/agent/metadata_agent.py
      - ^neutron/agent/resource_cache.py
      - ^neutron/agent/rpc.py
      - ^neutron/agent/securitygroup_rpc.py
      - ^neutron/plugins/ml2/drivers/linuxbridge/.*$
      - ^neutron/plugins/ml2/drivers/openvswitch/.*$
      - ^neutron/plugins/ml2/drivers/macvtap/.*$
      - ^neutron/plugins/ml2/drivers/mech_sriov/.*$
      - ^neutron/services/qos/drivers/linuxbridge/.*$
      - ^neutron/services/qos/drivers/openvswitch/.*$
      - ^neutron/services/trunk/drivers/linuxbridge/.*$
      - ^neutron/services/trunk/drivers/openvswitch/.*$
      - ^neutron/scheduler/.*$
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

# TODO(slaweq): remove that job's definition as soon as new job
# "neutron-tempest-plugin-ovn" will be used in the neutron-lib repo as
# instead of old "neutron-tempest-plugin-api" job
- job:
    name: neutron-tempest-plugin-api
    parent: neutron-tempest-plugin-ovn

- 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/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
        CIRROS_VERSION: 0.5.1
        DEFAULT_IMAGE_NAME: cirros-0.5.1-x86_64-uec
        DEFAULT_IMAGE_FILE_NAME: cirros-0.5.1-x86_64-uec.tar.gz
        IMAGE_URLS: https://cloud-images.ubuntu.com/minimal/releases/focal/release/ubuntu-20.04-minimal-cloudimg-amd64.img
        ADVANCED_IMAGE_NAME: ubuntu-20.04-minimal-cloudimg-amd64
        ADVANCED_INSTANCE_TYPE: ntp_image_256M
        ADVANCED_INSTANCE_USER: ubuntu
        CUSTOMIZE_IMAGE: true
        BUILD_TIMEOUT: 784
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
      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: true
        tempest: true
        # Disable OVN services
        br-ex-tcpdump: false
        br-int-flows: false
        ovn-controller: false
        ovn-northd: false
        ovs-vswitchd: false
        ovsdb-server: false
        q-ovn-metadata-agent: false
        # Neutron services
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
        neutron-dns: true
        neutron-qos: true
        neutron-segments: true
        neutron-trunk: true
        neutron-log: true
        neutron-port-forwarding: true
        # Cinder services
        c-api: false
        c-bak: false
        c-sch: false
        c-vol: false
        cinder: false
        # We don't need Swift to be run in the Neutron jobs
        s-account: false
        s-container: false
        s-object: false
        s-proxy: false
      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:
            network-feature-enabled:
              available_features: *available_features
            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
              firewall_driver: openvswitch
    group-vars:
      subnode:
        devstack_services:
          tls-proxy: true
          br-ex-tcpdump: false
          br-int-flows: false
          # Disable OVN services
          ovn-controller: false
          ovn-northd: false
          ovs-vswitchd: false
          ovsdb-server: false
          q-ovn-metadata-agent: false
          # Neutron services
          q-agt: true
          q-l3: true
          q-meta: true
          neutron-qos: true
          neutron-trunk: true
          neutron-log: true
          neutron-port-forwarding: true
          # Cinder services
          c-bak: false
          c-vol: false
          # We don't need Swift to be run in the Neutron jobs
          s-account: false
          s-container: false
          s-object: false
          s-proxy: false
        devstack_localrc:
          USE_PYTHON3: true
          Q_AGENT: openvswitch
          Q_ML2_TENANT_NETWORK_TYPE: vxlan
          Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        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: *openvswitch-scenario-irrelevant-files

- job:
    name: neutron-tempest-plugin-designate-scenario
    parent: neutron-tempest-plugin-base-nested-switch
    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
        # 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_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:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^.*\.conf\.sample$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^tools/.*$
      - ^tox.ini$
      - ^neutron/agent/.*$
      - ^neutron/cmd/.*$
      - ^neutron/privileged/.*$
      - ^neutron/plugins/ml2/drivers/.*$
      - ^neutron/scheduler/.*$
      - ^neutron/services/(?!externaldns).*$
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

- job:
    name: neutron-tempest-plugin-sfc
    parent: neutron-tempest-plugin-base
    timeout: 10800
    required-projects:
      - openstack/networking-sfc
      - openstack/neutron
      - openstack/neutron-tempest-plugin
      - openstack/tempest
    vars:
      devstack_services:
        # Disable OVN services
        br-ex-tcpdump: false
        br-int-flows: false
        ovn-controller: false
        ovn-northd: false
        ovs-vswitchd: false
        ovsdb-server: false
        q-ovn-metadata-agent: false
        # Enable Neutron services that are not used by OVN
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
      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:
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        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
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^.*\.conf\.sample$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

- job:
    name: neutron-tempest-plugin-bgpvpn-bagpipe
    parent: neutron-tempest-plugin-base
    required-projects:
      - openstack/networking-bagpipe
      - openstack/networking-bgpvpn
    vars:
      devstack_services:
        # Disable OVN services
        br-ex-tcpdump: false
        br-int-flows: false
        ovn-controller: false
        ovn-northd: false
        ovs-vswitchd: false
        ovsdb-server: false
        q-ovn-metadata-agent: false
        # Enable Neutron services that are not used by OVN
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
      tempest_test_regex: ^neutron_tempest_plugin\.bgpvpn
      network_api_extensions_bgpvpn:
        - bgpvpn
        - bgpvpn-routes-control
      devstack_localrc:
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        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_common + 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
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^.*\.conf\.sample$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

- 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_bgp:
        - bgp
        - bgp_dragent_scheduler
        - bgp_4byte_asn
      devstack_localrc:
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_bgp) | join(',') }}"
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
      devstack_services:
        # Disable OVN services
        br-ex-tcpdump: false
        br-int-flows: false
        ovn-controller: false
        ovn-northd: false
        ovs-vswitchd: false
        ovsdb-server: false
        q-ovn-metadata-agent: false
        # Neutron services
        q-agt: true
        q-dhcp: true
        q-meta: true
        q-metering: true
        q-l3: true
        neutron-dr: true
        neutron-dr-agent: true
      tempest_concurrency: 1
      tempest_test_regex: ^neutron_tempest_plugin\.neutron_dynamic_routing
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^.*\.conf\.sample$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|sfc|tap_as_a_service|vpnaas).*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

- 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_concurrency: 4
      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_fwaas:
        - fwaas_v2
      devstack_localrc:
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_fwaas) | join(',') }}"
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
      devstack_services:
        # Disable OVN services
        br-ex-tcpdump: false
        br-int-flows: false
        ovn-controller: false
        ovn-northd: false
        q-ovn-metadata-agent: false
        # Neutron services
        q-agt: true
        q-dhcp: true
        q-meta: true
        q-metering: true
        q-l3: true
        neutron-log: false
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^.*\.conf\.sample$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

- job:
    name: neutron-tempest-plugin-vpnaas
    parent: neutron-tempest-plugin-base
    timeout: 3900
    required-projects:
      - 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(',') }}"
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
      devstack_services:
        # Disable OVN services
        br-ex-tcpdump: false
        br-int-flows: false
        ovn-controller: false
        ovn-northd: false
        ovs-vswitchd: false
        ovsdb-server: false
        q-ovn-metadata-agent: false
        # Neutron services
        q-agt: true
        q-dhcp: true
        q-meta: true
        q-metering: true
        q-l3: true
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^.*\.conf\.sample$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml

- job:
    name: neutron-tempest-plugin-tap-as-a-service
    parent: neutron-tempest-plugin-base
    description: |
      Perform setup common to all tap-as-a-service tempest tests
    roles:
      - zuul: openstack/devstack
    required-projects:
      - openstack/devstack-gate
      - openstack/neutron
      - openstack/neutron-tempest-plugin
      - openstack/tap-as-a-service
      - openstack/tempest
    vars:
      tempest_test_regex: ^neutron_tempest_plugin\.tap_as_a_service
      tox_envlist: all
      network_api_extensions_tempest:
        - taas
        - taas-vlan-filter
      devstack_localrc:
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
        IMAGE_URLS: https://cloud-images.ubuntu.com/releases/bionic/release/ubuntu-18.04-server-cloudimg-amd64.img
        ADVANCED_IMAGE_NAME: ubuntu-18.04-server-cloudimg-amd64
        ADVANCED_INSTANCE_TYPE: ntp_image_384M
        ADVANCED_INSTANCE_USER: ubuntu
        CUSTOMIZE_IMAGE: false
        BUILD_TIMEOUT: 784
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan,vlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
      devstack_local_conf:
        post-config:
          /$NEUTRON_CORE_PLUGIN_CONF:
            AGENT:
              tunnel_types: vxlan
            ml2_type_vlan:
              network_vlan_ranges: public
        test-config:
          $TEMPEST_CONFIG:
            neutron_plugin_options:
              image_is_advanced: true
              advanced_image_flavor_ref: d1
            taas:
              provider_physical_network: public
              provider_segmentation_id: 100
            image_feature_enabled:
              api_v2: true
      devstack_plugins:
        neutron: git://opendev.org/openstack/neutron.git
        neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git
        tap-as-a-service: git://opendev.org/openstack/tap-as-a-service.git
      devstack_services:
        # Disable OVN services
        ovn-controller: false
        ovn-northd: false
        ovs-vswitchd: false
        ovsdb-server: false
        q-ovn-metadata-agent: false
        # Enable Neutron services that are not used by OVN
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
        br-ex-tcpdump: true
        br-int-flows: true
        base: false
        key: true
        mysql: true
        rabbit: true
        g-api: true
        g-reg: true
        n-api: true
        n-cond: true
        n-cpu: true
        n-crt: true
        n-sch: true
        placement-api: true
        n-api-meta: true
        q-svc: true
        quantum: true
        taas: true
        taas_openvswitch_agent: true
        tempest: true
        dstat: true
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - lower-constraints.txt
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^.*\.conf\.sample$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^neutron_tempest_plugin/api/test_.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      - ^vagrant/.*$
      - ^zuul.d/(?!(project)).*\.yaml
