- job:
    name: neutron-ovs-rally-task
    parent: rally-task-neutron
    timeout: 10800
    vars:
      devstack_localrc:
        MYSQL_GATHER_PERFORMANCE: false
        USE_PYTHON3: true
        OSPROFILER_COLLECTOR: redis
        OSPROFILER_HMAC_KEYS: "neutron-hmac-key-used-in-zuul-ci"
        Q_ML2_TENANT_NETWORK_TYPE: vxlan
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
        Q_AGENT: openvswitch
        KEYSTONE_ADMIN_ENDPOINT: true
      rally_task: rally-jobs/task-neutron.yaml
      devstack_plugins:
        osprofiler: https://opendev.org/openstack/osprofiler
        rally-openstack: https://opendev.org/openstack/rally-openstack
        neutron: https://opendev.org/openstack/neutron
      devstack_services:
        neutron-trunk: true
        # Cinder services
        c-api: false
        c-bak: false
        c-sch: false
        c-vol: false
        cinder: false
        # Swift services
        s-account: false
        s-container: false
        s-object: false
        s-proxy: false
        # 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-dhcp: true
        q-l3: true
        q-meta: true
        q-metering: true
        q-svc: true
      devstack_local_conf:
        post-config:
          $NEUTRON_CONF:
            DEFAULT:
              enable_code_profiling: True
    required-projects:
      - openstack/rally
      - openstack/rally-openstack
      - openstack/osprofiler
    irrelevant-files:
      - ^\.pylintrc$
      - ^test-requirements.txt$
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.conf\.sample$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^plugin.spec$
      - ^tools/ovn_migration/.*$
      - ^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/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      # Ignore everything except for zuul.d/project.yaml
      - ^zuul.d/base.yaml
      - ^zuul.d/grenade.yaml
      - ^zuul.d/job-templates.yaml
      - ^zuul.d/rally.yaml
      - ^zuul.d/tempest-multinode.yaml
      - ^zuul.d/tempest-singlenode.yaml

- job:
    name: neutron-ovn-rally-task
    parent: rally-task-at-devstack
    required-projects:
      - name: openstack/devstack
      - name: openstack/rally
      - name: openstack/rally-openstack
    irrelevant-files:
      - ^\.pylintrc$
      - ^test-requirements.txt$
      - ^releasenotes/.*$
      - ^doc/.*$
      - ^setup.cfg$
      - ^.*\.conf\.sample$
      - ^.*\.rst$
      - ^neutron/locale/.*$
      - ^neutron/tests/.*$
      - ^tools/.*$
      - ^tox.ini$
      - ^plugin.spec$
      - ^tools/ovn_migration/.*$
      - ^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/.*$
      - ^roles/.*functional.*$
      - ^playbooks/.*functional.*$
      # Ignore everything except for zuul.d/project.yaml
      - ^zuul.d/base.yaml
      - ^zuul.d/grenade.yaml
      - ^zuul.d/job-templates.yaml
      - ^zuul.d/rally.yaml
      - ^zuul.d/tempest-multinode.yaml
      - ^zuul.d/tempest-singlenode.yaml
    vars:
      devstack_plugins:
        neutron: https://opendev.org/openstack/neutron
        rally-openstack: https://opendev.org/openstack/rally-openstack
      zuul_copy_output:
        '{{ devstack_base_dir }}/data/ovs': 'logs'
      extensions_to_txt:
        db: true
      devstack_services:
        ovn-northd: true
        ovn-controller: true
        ovs-vswitchd: true
        ovsdb-server: true
        q-ovn-metadata-agent: true
        br-ex-tcpdump: true
        br-int-flows: true
        q-dhcp: false
        q-l3: false
        q-agt: false
        q-meta: false
        q-metering: false
        q-dns: true
        # Cinder services
        c-api: false
        c-bak: false
        c-sch: false
        c-vol: false
        cinder: false
        # Swift services
        s-account: false
        s-container: false
        s-object: false
        s-proxy: false
      devstack_localrc:
        MYSQL_GATHER_PERFORMANCE: false
        Q_AGENT: ovn
        ML2_L3_PLUGIN: ovn-router,trunk
        Q_ML2_PLUGIN_MECHANISM_DRIVERS: ovn,logger
        Q_ML2_TENANT_NETWORK_TYPE: geneve
        USE_PYTHON3: true
        PHYSICAL_NETWORK: public
        Q_USE_PROVIDERNET_FOR_PUBLIC: true
        ENABLE_CHASSIS_AS_GW: true
        OVN_L3_CREATE_PUBLIC_NETWORK: true
        KEYSTONE_ADMIN_ENDPOINT: true
        OVN_BUILD_FROM_SOURCE: True
        # TODO(ihrachys): switch back to a tagged version when it's released
        # OVN_BRANCH: "v22.03.3"
        OVN_BRANCH: "36e3ab9b47e93af0599a818e9d6b2930e49473f0"
        OVS_BRANCH: "2410b95597fcec5f733caf77febdb46f4ffacd27"
      devstack_local_conf:
        post-config:
          "${RALLY_CONF_DIR}/${RALLY_CONF_FILE}":
            openstack:
              neutron_bind_l2_agent_types: "OVN Controller Gateway agent"
      rally_task: rally-jobs/task-neutron.yaml
    timeout: 9000

