- job:
    name: neutron-tempest-plugin-api-ussuri
    parent: neutron-tempest-plugin-base
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects: &required-projects-ussuri
      - openstack/neutron
      - name: openstack/neutron-tempest-plugin
        override-checkout: 1.6.0
      - 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
        # Neutron services
        q-agt: true
        q-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
      branch_override: stable/ussuri
      tempest_test_regex: ^neutron_tempest_plugin\.api
      # 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
        - 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
        -
      devstack_localrc:
        NEUTRON_DEPLOY_MOD_WSGI: false
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        ML2_L3_PLUGIN: router
        # NOTE(bcafarel) guestmount binary not available on host OS
        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: ds512M
        ADVANCED_INSTANCE_USER: ubuntu
        CUSTOMIZE_IMAGE: false
      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
            ml2:
              type_drivers: flat,geneve,vlan,gre,local,vxlan
        test-config:
          $TEMPEST_CONFIG:
            neutron_plugin_options:
              available_type_drivers: flat,geneve,vlan,gre,local,vxlan


- job:
    name: neutron-tempest-plugin-scenario-openvswitch-ussuri
    parent: neutron-tempest-plugin-openvswitch
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects: *required-projects-ussuri
    vars:
      branch_override: stable/ussuri
      tempest_test_regex: "\
          (^neutron_tempest_plugin.scenario)|\
          (^tempest.api.compute.servers.test_attach_interfaces)|\
          (^tempest.api.compute.servers.test_multiple_create)"
      network_api_extensions: *api_extensions
      network_available_features: *available_features
      devstack_localrc:
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
      devstack_local_conf:
        post-config:
          $NEUTRON_L3_CONF:
            DEFAULT:
              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
              keepalived_use_no_track: False
        test-config:
          $TEMPEST_CONFIG:
            network-feature-enabled:
              available_features: ""
            neutron_plugin_options:
              ipv6_metadata: False


- job:
    name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-ussuri
    parent: neutron-tempest-plugin-openvswitch-iptables_hybrid
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects: *required-projects-ussuri
    vars:
      branch_override: stable/ussuri
      tempest_test_regex: "\
          (^neutron_tempest_plugin.scenario)|\
          (^tempest.api.compute.servers.test_attach_interfaces)|\
          (^tempest.api.compute.servers.test_multiple_create)"
      network_api_extensions: *api_extensions
      network_available_features: *available_features
      devstack_localrc:
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
      devstack_local_conf:
        post-config:
          $NEUTRON_L3_CONF:
            DEFAULT:
              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
              keepalived_use_no_track: False
        test-config:
          $TEMPEST_CONFIG:
            network-feature-enabled:
              available_features: ""
            neutron_plugin_options:
              ipv6_metadata: False

- job:
    name: neutron-tempest-plugin-scenario-linuxbridge-ussuri
    parent: neutron-tempest-plugin-linuxbridge
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects: *required-projects-ussuri
    vars:
      branch_override: stable/ussuri
      tempest_test_regex: "\
          (^neutron_tempest_plugin.scenario)|\
          (^tempest.api.compute.servers.test_attach_interfaces)|\
          (^tempest.api.compute.servers.test_multiple_create)"
      network_api_extensions: *api_extensions
      network_available_features: *available_features
      devstack_localrc:
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
      devstack_local_conf:
        post-config:
          $NEUTRON_L3_CONF:
            DEFAULT:
              # NOTE(slaweq): on Bionic keepalived don't knows this option yet
              keepalived_use_no_track: False
        test-config:
          $TEMPEST_CONFIG:
            network-feature-enabled:
              available_features: ""
            neutron_plugin_options:
              ipv6_metadata: False

- job:
    name: neutron-tempest-plugin-scenario-ovn-ussuri
    parent: neutron-tempest-plugin-ovn
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects: *required-projects-ussuri
    vars:
      branch_override: stable/ussuri
      tempest_test_regex: "\
          (^neutron_tempest_plugin.scenario)|\
          (^tempest.api.compute.servers.test_attach_interfaces)|\
          (^tempest.api.compute.servers.test_multiple_create)"
      network_api_extensions: *api_extensions
      # 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:
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
        # 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
        # TODO(skaplons): v2.13.1 is incompatible with kernel 4.15.0-118, sticking to commit hash until new v2.13 tag is created
        OVS_BRANCH: 0047ca3a0290f1ef954f2c76b31477cf4b9755f5
        OVN_BRANCH: "v20.03.0"
        # NOTE(slaweq): IGMP Snooping requires OVN 20.12
        OVN_IGMP_SNOOPING_ENABLE: False
      devstack_local_conf:
        test-config:
          $TEMPEST_CONFIG:
            neutron_plugin_options:
              is_igmp_snooping_enabled: False

- job:
    name: neutron-tempest-plugin-dvr-multinode-scenario-ussuri
    parent: neutron-tempest-plugin-dvr-multinode-scenario
    nodeset: openstack-two-node-bionic
    override-checkout: stable/ussuri
    required-projects: *required-projects-ussuri
    vars:
      network_api_extensions_common: *api_extensions
      branch_override: stable/ussuri

- job:
    name: neutron-tempest-plugin-designate-scenario-ussuri
    parent: neutron-tempest-plugin-designate-scenario
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects:
      - openstack/neutron
      - name: openstack/neutron-tempest-plugin
        override-checkout: 1.6.0
      - openstack/tempest
      - openstack/designate-tempest-plugin
    vars:
      branch_override: stable/ussuri
      network_api_extensions_common: *api_extensions

- job:
    name: neutron-tempest-plugin-sfc-ussuri
    parent: neutron-tempest-plugin-sfc
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects: *required-projects-ussuri
    vars:
      branch_override: stable/ussuri
      network_api_extensions_common: *api_extensions

- job:
    name: neutron-tempest-plugin-bgpvpn-bagpipe-ussuri
    parent: neutron-tempest-plugin-bgpvpn-bagpipe
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects: *required-projects-ussuri
    vars:
      branch_override: stable/ussuri
      network_api_extensions: *api_extensions

- job:
    name: neutron-tempest-plugin-fwaas-ussuri
    parent: neutron-tempest-plugin-base
    nodeset: openstack-single-node-bionic
    timeout: 10800
    override-checkout: stable/ussuri
    required-projects:
      - openstack/neutron-fwaas
      - openstack/neutron
      - name: openstack/neutron-tempest-plugin
        override-checkout: 1.6.0
      - openstack/tempest
    vars:
      branch_override: stable/ussuri
      tempest_test_regex: ^neutron_tempest_plugin\.fwaas
      devstack_plugins:
        neutron-fwaas: https://opendev.org/openstack/neutron-fwaas.git
        neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git
      network_api_extensions_common: *api_extensions
      network_api_extensions_fwaas:
        - fwaas_v2
      devstack_localrc:
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_fwaas) | join(',') }}"

- job:
    name: neutron-tempest-plugin-dynamic-routing-ussuri
    parent: neutron-tempest-plugin-dynamic-routing
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects: *required-projects-ussuri
    vars:
      branch_override: stable/ussuri
      network_api_extensions_common: *api_extensions

- job:
    name: neutron-tempest-plugin-vpnaas-ussuri
    parent: neutron-tempest-plugin-vpnaas
    nodeset: openstack-single-node-bionic
    override-checkout: stable/ussuri
    required-projects: *required-projects-ussuri
    vars:
      branch_override: stable/ussuri
      network_api_extensions_common: *api_extensions
