- job:
    name: networking-sfc-functional
    parent: neutron-functional
    vars:
        project_name: networking-sfc

- job:
    name: networking-sfc-tempest
    parent: neutron-tempest-plugin-sfc
    files: ^.*$
    irrelevant-files:
      - ^(test-|)requirements.txt$
      - ^setup.cfg$

- job:
    name: networking-sfc-tempest-multinode
    parent: networking-sfc-tempest
    nodeset: openstack-two-node-noble
    pre-run: playbooks/multinode-scenario-pre-run.yaml
    roles:
      - zuul: openstack/devstack
    vars:
      devstack_localrc:
        PHYSICAL_NETWORK: default
      tempest_plugins:
        - neutron-tempest-plugin
      devstack_services:
        tempest: true
        neutron-dns: true
        neutron-qos: true
        neutron-segments: true
        neutron-trunk: true
        neutron-log: true
      devstack_local_conf:
        post-config:
          $NEUTRON_CONF:
            quotas:
              quota_router: 100
              quota_floatingip: 500
              quota_security_group: 100
              quota_security_group_rule: 1000
          "/$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:
              l2_population: True
              tunnel_types: vxlan,gre
            ovs:
              tunnel_bridge: br-tun
              bridge_mappings: public:br-ex
          $NEUTRON_L3_CONF:
            agent:
              availability_zone: nova
          $NEUTRON_DHCP_CONF:
            agent:
              availability_zone: nova
          "/etc/neutron/api-paste.ini":
            "composite:neutronapi_v2_0":
              use: "call:neutron.auth:pipeline_factory"
              noauth: "cors request_id catch_errors osprofiler extensions neutronapiapp_v2_0"
              keystone: "cors request_id catch_errors osprofiler authtoken keystonecontext extensions neutronapiapp_v2_0"
        test-config:
          $TEMPEST_CONFIG:
            neutron_plugin_options:
              provider_vlans: foo,
              agent_availability_zone: nova
              available_type_drivers: flat,geneve,vlan,gre,local,vxlan
    group-vars:
      subnode:
        devstack_localrc:
          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
          # Disable Cinder services
          c-bak: false
          c-vol: 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
          neutron-qos: true
          neutron-trunk: true
          neutron-log: true
        devstack_local_conf:
          post-config:
            "/$NEUTRON_CORE_PLUGIN_CONF":
              agent:
                l2_population: True
                tunnel_types: vxlan,gre
              ovs:
                tunnel_bridge: br-tun
                bridge_mappings: public:br-ex
            $NEUTRON_L3_CONF:
              agent:
                availability_zone: nova

- job:
    name: networking-sfc-tempest-periodic
    parent: networking-sfc-tempest
    branches: master
