- job-template:
    name: '{pipeline}-neutron-dsvm-functional{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_TEMPEST=0
          export DEVSTACK_GATE_EXERCISES=0
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi

          function post_test_hook {{
              $BASE/new/devstack/unstack.sh
              # TODO(HenryG): this isn't actually passed through sudo
              export OS_SUDO_TESTING=1
              cd $BASE/new/neutron
              # Run tests as the stack user to allow sudo.
              sudo chown -R stack:stack $BASE/new/neutron
              echo 'Defaults:stack !requiretty' | sudo tee /etc/sudoers.d/00_no_tty
              echo "Running neutron functional test suite"
              sudo -H -u stack tox -e functional
          }}
          export -f post_test_hook
          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

- job-template:
    name: '{pipeline}-neutron-dsvm-functional{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_TEMPEST=0
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi

          function post_test_hook {{
              $BASE/new/devstack/unstack.sh
              # TODO(HenryG): this isn't actually passed through sudo
              export OS_SUDO_TESTING=1
              cd $BASE/new/neutron
              # Run tests as the stack user to allow sudo.
              sudo chown -R stack:stack $BASE/new/neutron
              echo 'Defaults:stack !requiretty' | sudo tee /etc/sudoers.d/00_no_tty
              echo "Running neutron functional test suite"
              sudo -H -u stack tox -e functional
          }}
          export -f post_test_hook
          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

Fix neutron func job to install neutron and deps
Fix neutron func job to install neutron and deps

The neutron functional job wasn't installing neutron, which meant the
sudo config necessary to run the job was not available.  It is also
necessary to have devstack install testonly dependencies to ensure that
functional tests can support the same dependencies as the unit tests.

Change-Id: Iee212995f4c27d55466c753ddca6aace4ffcf35e
Partial-bug: #1336172
