- 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-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-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-device-profile
        - port-resource-request
        - port-resource-request-groups
        - 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-group
        - rbac-address-scope
        - rbac-policies
        - rbac-security-groups
        - rbac-subnetpool
        - router
        - router-admin-state-down-before-update
        - 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
      network_api_extensions_tempest:
        - dvr
      network_available_features: &available_features
        - ipv6_metadata
      tempest_test_regex: ^neutron_tempest_plugin\.api
      devstack_services:
        neutron-log: true
      devstack_localrc:
        # 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"
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions_common | join(',') }}"
      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
    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/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.yaml$

- job:
    name: neutron-tempest-plugin-scenario-openvswitch
    parent: neutron-tempest-plugin-scenario-nested-switch
    timeout: 10000
    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
        # Neutron services
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
      network_api_extensions: *api_extensions
      network_available_features: *available_features
      devstack_localrc:
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions | 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
        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_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.yaml$

- job:
    name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid
    parent: neutron-tempest-plugin-scenario-nested-switch
    timeout: 10000
    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
        # Neutron services
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
      network_api_extensions: *api_extensions
      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 | 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_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.yaml$

- job:
    name: neutron-tempest-plugin-scenario-openvswitch-distributed-dhcp
    parent: neutron-tempest-plugin-scenario-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-scenario-openvswitch-iptables_hybrid-distributed-dhcp
    parent: neutron-tempest-plugin-scenario-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-scenario-linuxbridge
    parent: neutron-tempest-plugin-scenario-nested-switch
    timeout: 10000
    roles:
      - zuul: openstack/neutron
    pre-run: playbooks/linuxbridge-scenario-pre-run.yaml
    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
        # Neutron services
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
      network_api_extensions: *api_extensions
      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
      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)"
      devstack_localrc:
        Q_AGENT: linuxbridge
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions + 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
          # 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_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.yaml$

- job:
    name: neutron-tempest-plugin-scenario-ovn
    parent: neutron-tempest-plugin-scenario-nested-switch
    timeout: 10800
    vars:
      network_api_extensions: *api_extensions
      network_api_extensions_ovn:
        - vlan-transparent
      # TODO(haleyb): Remove IPv6Test from blacklist when
      # https://bugs.launchpad.net/neutron/+bug/1881558 is fixed.
      # TODO(slaweq): Remove test_trunk_subport_lifecycle test from the
      # blacklist when bug https://bugs.launchpad.net/neutron/+bug/1885900 will
      # be fixed
      # 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_ipv6.IPv6Test)|\
          (^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_trunk_subport_lifecycle)|\
          (^neutron_tempest_plugin.scenario.test_mtu.NetworkWritableMtuTest)"
      devstack_localrc:
        Q_AGENT: ovn
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions + 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
        PHYSICAL_NETWORK: public
        # 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: "branch-2.15"
        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'
    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/scheduler/.*$
      - ^neutron_tempest_plugin/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.yaml$

- 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-scenario-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/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.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
      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:
        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/(bgpvpn|fwaas|neutron_dynamic_routing|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.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: *api_extensions
      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 + 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/(fwaas|neutron_dynamic_routing|sfc|tap_as_a_service|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.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_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(',') }}"
        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/(bgpvpn|fwaas|sfc|tap_as_a_service|vpnaas).*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.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/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|tap_as_a_service).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.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_common: *api_extensions
      network_api_extensions_tempest:
        - taas
        - taas-vlan-filter
      devstack_localrc:
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
        DOWNLOAD_DEFAULT_IMAGES: false
        IMAGE_URLS: "http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-i386-disk.img,https://cloud-images.ubuntu.com/minimal/releases/focal/release/ubuntu-20.04-minimal-cloudimg-amd64.img"
        DEFAULT_IMAGE_NAME: cirros-0.3.4-i386-disk
        ADVANCED_IMAGE_NAME: ubuntu-20.04-minimal-cloudimg-amd64
        BUILD_TIMEOUT: 784
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
      devstack_local_conf:
        post-config:
          /$NEUTRON_CORE_PLUGIN_CONF:
            AGENT:
              tunnel_types: vxlan,gre
        test-config:
          $TEMPEST_CONFIG:
            taas_plugin_options:
              advanced_image_ref: ubuntu-20.04-minimal-cloudimg-amd64
              advanced_image_ssh_user: ubuntu
              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/(bgpvpn|fwaas|neutron_dynamic_routing|sfc|vpnaas).*$
      - ^neutron_tempest_plugin/services/bgp/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^rally-jobs/.*$
      - ^vagrant/.*$
      - ^zuul.d/(queens|rocky|stein|train|ussuri)_jobs.yaml$
      - ^zuul.d/base-nested-switch.yaml$
