- job-template:
    name: '{pipeline}-{injectedlib}-dsvm-{name}{job-suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 100
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export PROJECTS="{injectedrepo} $PROJECTS"
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi

          function gate_hook {{
              cd /opt/stack/new/$(basename {injectedrepo})
              remaining_time
              timeout -s 9 ${{REMAINING_TIME}}m ./tools/run_cross_tests.sh /opt/stack/new/{name} py27
          }}
          export -f gate_hook

          function post_test_hook {{
              cd /opt/stack/new/{name}
              mv nose_results.html $WORKSPACE/logs
              mv testr_results.html.gz $WORKSPACE/logs
              mv .testrepository/tmp* $WORKSPACE/logs
              mv testrepository.subunit $WORKSPACE/logs
          }}
          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}-oslo.messaging-dsvm-functional-{version}-{driver}{ostype}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 100
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true

          function post_test_hook {{
              cd /opt/stack/new/oslo.messaging/oslo_messaging/tests/functional/gate
              ./post_test_hook.sh {driver} {version}
          }}
          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:
      - test-results
      - devstack-logs
      - console-log

# NOTE(dhellmann): This job group is not used, but I retained it as an
# example of properly using the template defined above.
#
# - job-group:
#     name: oslotest-cross-test
#
#     injectedlib: oslotest
#     injectedrepo: openstack/oslotest
#
#     jobs:
#       - '{pipeline}-{injectedlib}-dsvm-{name}{job-suffix}':
#           pipeline: check
#           node: ubuntu-trusty
#           job-suffix: ''
#           branch-override: default
#       - '{pipeline}-{injectedlib}-dsvm-{name}{job-suffix}':
#           pipeline: gate
#           node: ubuntu-trusty
#           job-suffix: ''
#           branch-override: default