- job:
    name: neutron-tempest-plugin-api-rocky
    nodeset: openstack-single-node-xenial
    parent: neutron-tempest-plugin-base
    description: |
      This job run on py2 for stable/rocky gate.
    override-checkout: stable/rocky
    required-projects: &required-projects-rocky
      - openstack/neutron
      - name: openstack/neutron-tempest-plugin
        override-checkout: 0.9.0
      - openstack/tempest
    vars: &api_vars_rocky
      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
      tempest_concurrency: 4
      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
        - ext-gw-mode
        - external-net
        - extra_dhcp_opt
        - extraroute
        - fip-port-details
        - flavors
        - floating-ip-port-forwarding
        - ip-substring-filtering
        - l3-flavors
        - l3-ha
        - l3_agent_scheduler
        - logging
        - metering
        - multi-provider
        - net-mtu
        - net-mtu-writable
        - network-ip-availability
        - network_availability_zone
        - pagination
        - port-mac-address-regenerate
        - port-security
        - port-security-groups-filtering
        - project-id
        - provider
        - qos
        - qos-fip
        - quotas
        - quota_details
        - rbac-policies
        - router
        - router_availability_zone
        - security-group
        - segment
        - service-type
        - sorting
        - standard-attr-description
        - standard-attr-revisions
        - standard-attr-segment
        - standard-attr-timestamp
        - standard-attr-tag
        - subnet_allocation
        - subnet-service-types
        - trunk
        - trunk-details
      network_api_extensions_tempest:
        - dvr
      devstack_localrc:
        NEUTRON_DEPLOY_MOD_WSGI: false
        USE_PYTHON3: false
        NETWORK_API_EXTENSIONS: "{{ (network_api_extensions_common + network_api_extensions_tempest) | join(',') }}"
        TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        ML2_L3_PLUGIN: router
      devstack_local_conf:
        post-config:
          /$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
    # NOTE(gmann): This job run on py2 for stable/rocky gate.
    branches:
      - stable/rocky

- job:
    name: neutron-tempest-plugin-api-rocky
    nodeset: openstack-single-node-xenial
    parent: neutron-tempest-plugin-base
    description: |
      This job run on py3 for other than stable/rocky gate
      which is nothing but neutron-tempest-pluign master gate.
    override-checkout: stable/rocky
    required-projects: *required-projects-rocky
    vars:
      <<: *api_vars_rocky
      devstack_localrc:
        USE_PYTHON3: True
    branches: ^(?!stable/rocky).*$

- job:
    name: neutron-tempest-plugin-scenario-openvswitch-rocky
    parent: neutron-tempest-plugin-base
    description: |
      This job run on py2 for stable/rocky gate.
    nodeset: openstack-single-node-xenial
    timeout: 10000
    override-checkout: stable/rocky
    required-projects: *required-projects-rocky
    vars: &scenario_vars_rocky
      tempest_test_regex: "\
          (^neutron_tempest_plugin.scenario)|\
          (^tempest.api.compute.servers.test_attach_interfaces)|\
          (^tempest.api.compute.servers.test_multiple_create)"
      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:
        USE_PYTHON3: false
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
        TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
        # NOTE(slaweq) some tests are not running fine with ubuntu minimal on
        # Rocky
        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:
          $NEUTRON_CONF:
            DEFAULT:
              enable_dvr: false
              l3_ha: true
          /$NEUTRON_CORE_PLUGIN_CONF:
            agent:
              tunnel_types: vxlan,gre
            ovs:
              tunnel_bridge: br-tun
              bridge_mappings: public:br-ex
          $NEUTRON_L3_CONF:
            DEFAULT:
              # NOTE(slaweq): on Xenial keepalived don't knows this option yet
              keepalived_use_no_track: False
        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
      # NOTE(bcafarel): filtering out unstable tests or tests with known
      # issues in the used pinned version for this EM branch
      tempest_black_regex: &rocky_tempest_exclude "\
          (^neutron_tempest_plugin.scenario.admin.test_floatingip.FloatingIpTestCasesAdmin.test_two_vms_fips)|\
          (^neutron_tempest_plugin.scenario.test_floatingip.FloatingIPQosTest.test_qos)|\
          (^neutron_tempest_plugin.scenario.test_internal_dns.InternalDNSTest.test_dns_domain_and_name)|\
          (^neutron_tempest_plugin.scenario.test_port_forwardings.PortForwardingTestJSON.test_port_forwarding_to_2_servers)|\
          (^neutron_tempest_plugin.scenario.test_ports.PortsTest.test_previously_used_port)|\
          (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_ip_prefix)|\
          (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_multiple_ports_portrange_remote)|\
          (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_multiple_ports_secgroup_inheritance)|\
          (^neutron_tempest_plugin.scenario.test_security_groups.NetworkSecGroupTest.test_remote_group)|\
          (^neutron_tempest_plugin.scenario.test_trunk.TrunkTest.test_subport_connectivity)|\
          (^tempest.api.compute.servers.test_attach_interfaces.AttachInterfacesTestJSON.test_reassign_port_between_servers)|\
          (^tempest.api.compute.servers.test_attach_interfaces.AttachInterfacesUnderV243Test.test_add_remove_fixed_ip)"
    branches:
      - stable/rocky
    irrelevant-files: &openvswitch-scenario-irrelevant-files
      - ^(test-|)requirements.txt$
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^tools/.*$
      - ^tox.ini$
      - ^neutron/agent/windows/.*$
      - ^neutron/plugins/ml2/drivers/linuxbridge/.*$
      - ^neutron/plugins/ml2/drivers/macvtap/.*$
      - ^neutron/plugins/ml2/drivers/mech_sriov/.*$

- job:
    name: neutron-tempest-plugin-scenario-openvswitch-rocky
    parent: neutron-tempest-plugin-openvswitch
    nodeset: openstack-single-node-xenial
    description: |
      This job run on py3 for other than stable/rocky gate
      which is nothing but neutron-tempest-pluign master gate.
    override-checkout: stable/rocky
    required-projects: *required-projects-rocky
    vars:
      <<: *scenario_vars_rocky
      devstack_localrc:
        USE_PYTHON3: True
        ADVANCED_INSTANCE_TYPE: ds512M
    branches: ^(?!stable/rocky).*$
    irrelevant-files: *openvswitch-scenario-irrelevant-files

- job:
    name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky
    parent: neutron-tempest-plugin-base
    nodeset: openstack-single-node-xenial
    timeout: 10000
    description: |
      This job run on py2 for stable/rocky gate.
    override-checkout: stable/rocky
    required-projects: *required-projects-rocky
    vars: &openvswitch_vars_rocky
      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:
        USE_PYTHON3: false
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
        Q_AGENT: openvswitch
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
        # NOTE(slaweq) some tests are not running fine with ubuntu minimal on
        # Rocky
        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:
          $NEUTRON_CONF:
            DEFAULT:
              enable_dvr: false
              l3_ha: true
          /$NEUTRON_CORE_PLUGIN_CONF:
            agent:
              tunnel_types: vxlan,gre
            ovs:
              tunnel_bridge: br-tun
              bridge_mappings: public:br-ex
            securitygroup:
              firewall_driver: iptables_hybrid
          $NEUTRON_L3_CONF:
            DEFAULT:
              # NOTE(slaweq): on Xenial keepalived don't knows this option yet
              keepalived_use_no_track: False
        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
      tempest_black_regex: *rocky_tempest_exclude
    branches:
      - stable/rocky
    irrelevant-files: &iptables_hybrid_irrelevant_files
      - ^(test-|)requirements.txt$
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/unit/.*$
      - ^neutron/tests/fullstack/.*
      - ^neutron/tests/functional/.*
      - ^tools/.*$
      - ^tox.ini$
      - ^neutron/agent/linux/openvswitch_firewall/.*$
      - ^neutron/agent/windows/.*$
      - ^neutron/plugins/ml2/drivers/linuxbridge/.*$
      - ^neutron/plugins/ml2/drivers/macvtap/.*$
      - ^neutron/plugins/ml2/drivers/mech_sriov/.*$

- job:
    name: neutron-tempest-plugin-scenario-openvswitch-iptables_hybrid-rocky
    parent: neutron-tempest-plugin-base
    nodeset: openstack-single-node-xenial
    timeout: 10000
    description: |
      This job run on py3 for other than stable/rocky gate
      which is nothing but neutron-tempest-pluign master gate.
    override-checkout: stable/rocky
    required-projects: *required-projects-rocky
    vars:
      <<: *openvswitch_vars_rocky
      devstack_localrc:
        USE_PYTHON3: True
        ADVANCED_INSTANCE_TYPE: ds512M
    branches: ^(?!stable/rocky).*$
    irrelevant-files: *iptables_hybrid_irrelevant_files

- job:
    name: neutron-tempest-plugin-scenario-linuxbridge-rocky
    parent: neutron-tempest-plugin-base
    timeout: 10000
    description: |
      This job run on py2 for stable/rocky gate.
    nodeset: openstack-single-node-xenial
    roles:
      - zuul: openstack/neutron
    override-checkout: stable/rocky
    required-projects: *required-projects-rocky
    vars: &linuxbridge_vars_rocky
      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
      devstack_localrc:
        USE_PYTHON3: false
        Q_AGENT: linuxbridge
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
        TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
        # NOTE(slaweq) some tests are not running fine with ubuntu minimal on
        # Rocky
        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:
          $NEUTRON_CONF:
            DEFAULT:
              enable_dvr: false
            AGENT:
              debug_iptables_rules: true
          /$NEUTRON_CORE_PLUGIN_CONF:
            ml2:
              type_drivers: flat,vlan,local,vxlan
          $NEUTRON_L3_CONF:
            DEFAULT:
              # NOTE(slaweq): on Xenial keepalived don't knows this option yet
              keepalived_use_no_track: False
        test-config:
          # NOTE: ignores linux bridge's trunk delete on bound port test
          # for rocky branch (as https://review.opendev.org/#/c/605589/
          # fix will not apply for rocky branch)
          $TEMPEST_CONFIG:
            neutron_plugin_options:
              available_type_drivers: flat,vlan,local,vxlan
              q_agent: None
      tempest_black_regex: *rocky_tempest_exclude
    branches:
      - stable/rocky

- job:
    name: neutron-tempest-plugin-scenario-linuxbridge-rocky
    parent: neutron-tempest-plugin-base
    nodeset: openstack-single-node-xenial
    timeout: 10000
    description: |
      This job run on py3 for other than stable/rocky gate
      which is nothing but neutron-tempest-pluign master gate.
    roles:
      - zuul: openstack/neutron
    override-checkout: stable/rocky
    required-projects: *required-projects-rocky
    vars:
      <<: *linuxbridge_vars_rocky
      devstack_localrc:
        USE_PYTHON3: True
        Q_AGENT: linuxbridge
        NETWORK_API_EXTENSIONS: "{{ network_api_extensions | join(',') }}"
        TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
        ADVANCED_INSTANCE_TYPE: ds512M
    branches: ^(?!stable/rocky).*$

- job:
    name: neutron-tempest-plugin-dvr-multinode-scenario-rocky
    parent: tempest-multinode-full
    description: |
      This job run on py2 for stable/rocky gate.
    nodeset: openstack-two-node-xenial
    override-checkout: stable/rocky
    roles:
      - zuul: openstack/devstack
    required-projects: *required-projects-rocky
    pre-run: playbooks/dvr-multinode-scenario-pre-run.yaml
    voting: false
    vars: &multinode_scenario_vars_rocky
      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: false
        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/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
        BUILD_TIMEOUT: 784
        TEMPEST_PLUGINS: /opt/stack/neutron-tempest-plugin
      devstack_plugins:
        neutron: https://opendev.org/openstack/neutron.git
        neutron-tempest-plugin: https://opendev.org/openstack/neutron-tempest-plugin.git
      tempest_plugins:
        - neutron-tempest-plugin
      devstack_services:
        tls-proxy: false
        tempest: true
        neutron-dns: true
        neutron-qos: true
        neutron-segments: true
        neutron-trunk: true
        neutron-log: true
        neutron-port-forwarding: true
        # Cinder 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
          "/$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
      tempest_black_regex: *rocky_tempest_exclude
    branches:
      - stable/rocky
    group-vars: &multinode_scenario_group_vars_rocky
      subnode:
        devstack_services:
          tls-proxy: false
          q-agt: true
          q-l3: true
          q-meta: true
          neutron-qos: true
          neutron-trunk: true
          neutron-log: true
          neutron-port-forwarding: true
          # 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
        devstack_local_conf:
          post-config:
            $NEUTRON_CONF:
              DEFAULT:
                router_distributed: True
            "/$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-dvr-multinode-scenario-rocky
    parent: tempest-multinode-full
    nodeset: openstack-two-node-xenial
    description: |
      This job run on py3 for other than stable/rocky gate
      which is nothing but neutron-tempest-pluign master gate.
    override-checkout: stable/rocky
    vars:
      <<: *multinode_scenario_vars_rocky
      devstack_localrc:
        USE_PYTHON3: True
    required-projects: *required-projects-rocky
    group-vars:
      <<: *multinode_scenario_group_vars_rocky
      subnode:
        devstack_localrc:
          USE_PYTHON3: True
    branches: ^(?!stable/rocky).*$

- job:
    name: neutron-tempest-plugin-designate-scenario-rocky
    parent: neutron-tempest-plugin-designate-scenario
    description: |
      This job run on py2 for stable/rocky gate.
    nodeset: openstack-single-node-xenial
    override-checkout: stable/rocky
    required-projects:
      - openstack/neutron
      - name: openstack/neutron-tempest-plugin
        override-checkout: 0.9.0
      - name: openstack/designate-tempest-plugin
        override-checkout: 0.7.0
      - openstack/tempest
    vars: &designate_scenario_vars_rocky
      network_api_extensions_common: *api_extensions
      devstack_localrc:
        USE_PYTHON3: false
        TEMPEST_PLUGINS: '"/opt/stack/designate-tempest-plugin /opt/stack/neutron-tempest-plugin"'
        ADVANCED_INSTANCE_TYPE: ds512M
      # NOTE(bcafarel): filtering out unstable tests or tests with known
      # issues in the used pinned version for this EM branch
      tempest_black_regex: "(^neutron_tempest_plugin.scenario.test_dns_integration.DNSIntegrationAdminTests.test_port_on_special_network)"
    branches:
      - stable/rocky

- job:
    name: neutron-tempest-plugin-designate-scenario-rocky
    parent: neutron-tempest-plugin-designate-scenario
    nodeset: openstack-single-node-xenial
    description: |
      This job run on py3 for other than stable/rocky gate
      which is nothing but neutron-tempest-plugin master gate.
    override-checkout: stable/rocky
    required-projects: *required-projects-rocky
    vars:
      <<: *designate_scenario_vars_rocky
      devstack_localrc:
        USE_PYTHON3: True
    branches: ^(?!stable/rocky).*$
