- job-template:
    name: '{pipeline}-tempest-dsvm-dragonflow{branch-designator}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 125
      - timestamps

    builders:
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TIMEOUT=120
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_TEMPEST=0

          s="rabbit,mysql,key,n-cpu,n-api,n-crt,n-obj,n-cond,n-sch"
          s+=",n-cauth,neutron,q-svc,q-df-l3,q-df-agt,q-dhcp,q-meta,cinder"
          s+=",g-api,g-reg,c-api,c-vol,c-sch,c-bak"
          export OVERRIDE_ENABLED_SERVICES="$s"

          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          # Because we are testing a non standard project, add
          # our project repository. This makes zuul do the right
          # reference magic for testing changes.
          export PROJECTS="stackforge/dragonflow $PROJECTS"

          export DEVSTACK_LOCAL_CONFIG="enable_plugin dragonflow https://git.openstack.org/stackforge/dragonflow"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"Q_ENABLE_DRAGONFLOW=True"
          export DEVSTACK_LOCAL_CONFIG+=$'\n'"ML2_L3_PLUGIN=dragonflow.neutron.services.l3.l3_controller_plugin.ControllerL3ServicePlugin"

          # Keep localrc to be able to set some vars in pre_test_hook
          export KEEP_LOCALRC=1

          cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
          ./safe-devstack-vm-gate-wrap.sh

    publishers:
      - devstack-logs
      - console-log