project-config/jenkins/jobs/ec2-api.yaml
Andrey Pavlov 6645cbf752 ec2-api job: limit tempest workers for testing
because ec2-api functional tests are very aggressive then
four workers can exceed quotas. but two workers should work well
as we saw in the past.

Change-Id: I1b1b735c5f3eb5af308d7de55e4de89ed0161a13
2015-12-08 06:39:30 +00:00

194 lines
6.6 KiB
YAML

- job-template:
name: '{pipeline}-tempest-dsvm-ec2api{job-suffix}'
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="openstack/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/openstack/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-{network}-dsvm-ec2api{job-suffix}'
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 TEMPEST_CONCURRENCY=2
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
export PROJECTS="openstack/ec2-api $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api git://git.openstack.org/openstack/ec2-api"
if [ "{network}" = "neutron" ] ; then
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-vpnaas git://git.openstack.org/openstack/neutron-vpnaas"
else
export DEVSTACK_GATE_NEUTRON=0
fi
if [ "$ZUUL_BRANCH" = "stable/kilo" ] ; then
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
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
else
export DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
export DEVSTACK_GATE_TEMPEST_REGEX="ec2api.tests.functional"
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:
name: 'ec2-api-functional-neutron-dsvm-full'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 185
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TIMEOUT=180
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export DEVSTACK_GATE_NEUTRON=1
export PROJECTS="openstack/ec2-api $PROJECTS"
export PROJECTS="openstack/swift3 $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api git://git.openstack.org/openstack/ec2-api"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-vpnaas git://git.openstack.org/openstack/neutron-vpnaas"
export ENABLED_SERVICES+=,swift3
export RUN_LONG_TESTS=1
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: 'ec2-api-rally-dsvm-fakevirt'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack/ec2-api $PROJECTS"
export PROJECTS="openstack/rally $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin ec2-api git://git.openstack.org/openstack/ec2-api"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin rally git://git.openstack.org/openstack/rally"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-vpnaas git://git.openstack.org/openstack/neutron-vpnaas"
export DEVSTACK_GATE_VIRT_DRIVER=fake
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export DEVSTACK_GATE_TIMEOUT=120
# Switch on tempest because m1.nano is created only for tempest...
export DEVSTACK_GATE_TEMPEST=1
export RALLY_SCENARIO=ec2-api-fakevirt
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 {
# run needed preparation steps for third-party project
if [ -f $BASE/new/ec2-api/rally-scenarios/post_test_hook.sh ] ; then
$BASE/new/ec2-api/rally-scenarios/post_test_hook.sh
fi
$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