- job-template:
    name: '{pipeline}-oslo.messaging-dsvm-functional-{version}-{driver}-{node}{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

          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

# A Template to run a oslo.messaging devstack-plugin with oslo.messaging
# code picked up from source
- job-template:
    name: '{pipeline}-oslo.messaging-src-dsvm-full-{plugin}-{config}-{node}{suffix}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 180
      - timestamps

    builders:
      - print-template-name:
          template-name: "{template-name}"
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export DEVSTACK_GATE_TEMPEST=1
          export DEVSTACK_GATE_TEMPEST_FULL=1
          export PROJECTS="{plugin-repo} $PROJECTS"
          export DEVSTACK_LOCAL_CONFIG="enable_plugin devstack-plugin-{plugin} git://git.openstack.org/{plugin-repo}"
          export DEVSTACK_PROJECT_FROM_GIT="oslo.messaging"

          if [ "{plugin}" == "amqp1" ]; then
              # The AMQP 1.0 plugin supports a couple of different message bus configurations
              # 'hybrid' - use RabbitMQ for Notifications, qdrouterd for RPC
              # 'dual' - use qpidd for Notifications, qdrouterd for RPC
              # default: use qpidd for Notifications and for RPC
              case "{config}" in
                hybrid)
                    export DEVSTACK_LOCAL_CONFIG+=$'\n'"AMQP1_SERVICE=qpid-hybrid"
                    ;;
                dual)
                    export DEVSTACK_LOCAL_CONFIG+=$'\n'"AMQP1_SERVICE=qpid-dual"
                    ;;
              esac
          fi

          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