- job:
    name: gate-heat-templates-dsvm
    node: 'devstack-precise || devstack-trusty'

    wrappers:
      - build-timeout:
          timeout: 120
      - timestamps

    builders:
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export OVERRIDE_ENABLED_SERVICES=key,mysql,rabbit,h-api,h-api-cfn,h-api-cw,h-eng,heat
          export DEVSTACK_GATE_TIMEOUT=120
          export DEVSTACK_GATE_TEMPEST=0
          export DEVSTACK_GATE_EXERCISES=0
          export PROJECTS="openstack/heat-templates $PROJECTS"
          function post_test_hook {
              source $BASE/new/devstack/openrc && \
              python $BASE/new/heat-templates/tools/validate-templates $BASE/new/heat-templates
          }
          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:
    name: 'heat-templates-buildimages'
    node: 'bare-trusty'

    builders:
      - link-logs
      - net-info
      - gerrit-git-prep
      - diskimage-builder-install
      - shell: |
          hot/software-config/test-image/build-heat-test-image.sh

    publishers:
      - scp:
          site: 'tarballs.openstack.org'
          files:
            - source: 'fedora-heat-test-image.qcow2'
              target: 'tarballs/heat-test-image'
              keep-hierarchy: false
              copy-after-failure: false
      - console-log

- job-template:
    name: '{pipeline}-heat-dsvm-functional-{datastore}{branch-designator}'
    node: '{node}'

    wrappers:
      - build-timeout:
          timeout: 75
      - timestamps

    builders:
      - link-logs
      - net-info
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PYTHONUNBUFFERED=true
          export OVERRIDE_ENABLED_SERVICES=c-api,c-bak,c-sch,c-vol,cinder,dstat,g-api,g-reg,h-api,h-api-cfn,h-api-cw,h-eng,heat,key,mysql,n-api,n-cond,n-cpu,n-crt,n-obj,n-sch,q-agt,q-dhcp,q-l3,q-meta,q-metering,q-svc,q-vpn,quantum,rabbit,s-account,s-container,s-object,s-proxy,q-lbaas,ceilometer-acompute,ceilometer-acentral,ceilometer-collector,ceilometer-api,ceilometer-anotification,ceilometer-alarm-evaluator,ceilometer-alarm-notifier
          export HEAT_BUILD_PIP_MIRROR=True
          export DEVSTACK_GATE_TIMEOUT=70
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_TEMPEST=0
          export DEVSTACK_GATE_EXERCISES=0
          export DEVSTACK_GATE_INSTALL_TESTONLY=1
          export KEEP_LOCALRC=1
          if [ "{datastore}" == "postgres" ] ; then
              export DEVSTACK_GATE_POSTGRES=1
          fi

          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi


          function pre_test_hook {{
              cd /opt/stack/new/heat/heat_integrationtests
              ./pre_test_hook.sh
          }}
          export -f pre_test_hook

          function post_test_hook {{
              cd /opt/stack/new/heat/heat_integrationtests
              ./post_test_hook.sh
          }}
          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}-tempest-dsvm-heat{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=1
          export DEVSTACK_GATE_TEMPEST_REGEX="orchestration"
          export DEVSTACK_GATE_HEAT=1
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          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


- job-template:
   name: '{pipeline}-heatclient-dsvm-functional{branch-designator}'
   node: '{node}'

   wrappers:
     - build-timeout:
         timeout: 65
     - timestamps

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

         function post_test_hook {{
             # Configure and run functional tests
             $BASE/new/python-heatclient/heatclient/tests/functional/hooks/post_test_hook.sh
         }}
         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