- job-template:
    name: '{pipeline}-tempest-dsvm-ec2api{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
          # NOTE(sdague): which of tempest / neutron should be run
          # here is pretty up for grabs, but this can be adjusted over
          # time.
          export DEVSTACK_GATE_TEMPEST=1
          # Construct a regex to limiting scope of tempest
          export DEVSTACK_GATE_TEMPEST_REGEX="tempest.thirdparty.boto"
          export DEVSTACK_GATE_NEUTRON=1
          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 the
          # our project repository. This makes zuul do the right
          # reference magic for testing changes.
          export PROJECTS="stackforge/ec2-api $PROJECTS"
          # note the actual url here is somewhat irrelevant because it
          # caches in nodepool, however make it a valid url for
          # documentation purposes.
          export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api git://git.openstack.org/stackforge/ec2-api"

          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}-functional-neutron-dsvm-ec2api{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_NEUTRON=1
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          export PROJECTS="stackforge/ec2-api $PROJECTS"
          export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api git://git.openstack.org/stackforge/ec2-api"

          function post_test_hook {{
              source $BASE/new/devstack/accrc/admin/admin
              cd /opt/stack/new/ec2-api/
              ./ec2api/tests/contrib/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}-functional-nova-network-dsvm-ec2api{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_NEUTRON=0
          export BRANCH_OVERRIDE={branch-override}
          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
          fi
          export PROJECTS="stackforge/ec2-api $PROJECTS"
          export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api git://git.openstack.org/stackforge/ec2-api"

          function post_test_hook {{
              source $BASE/new/devstack/accrc/admin/admin
              cd /opt/stack/new/ec2-api/
              ./ec2api/tests/contrib/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:
    name: 'gate-rally-dsvm-ec2-api-fakevirt'
    node: 'bare-precise || bare-trusty'

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

    builders:
      - link-logs
      - devstack-checkout
      - shell: |
          #!/bin/bash -xe
          export PROJECTS="stackforge/ec2-api $PROJECTS"
          export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api git://git.openstack.org/stackforge/ec2-api"
          export DEVSTACK_GATE_VIRT_DRIVER=fake
          export DEVSTACK_GATE_NEUTRON=1
          export DEVSTACK_GATE_TIMEOUT=120

          export RALLY_SCENARIO=ec2-api-fakevirt

          export PROJECTS="stackforge/rally $PROJECTS"
          export CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler
          export ENABLED_SERVICES=rally

          function pre_test_hook {
              # Install rally-devstack integration
              cp -r $BASE/new/rally/contrib/devstack/* $BASE/new/devstack/
          }
          export -f pre_test_hook

          function post_test_hook {
              $BASE/new/rally/tests/ci/rally-gate.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
      - rally-plot