project-config/jenkins/jobs/tempest-jobs.yaml

112 lines
3.4 KiB
YAML

- job-group:
name: 'lib-forward-testing-{name}'
jobs:
- '{pipeline}-tempest-dsvm-neutron-src-{name}-{node}{suffix}':
pipeline: gate
node:
- ubuntu-trusty
- ubuntu-xenial
suffix: ''
branch-override: default
- job-group:
name: 'stable-compat-jobs-{name}'
jobs:
- '{pipeline}-tempest-dsvm-neutron-src-{name}-{node}{suffix}':
pipeline: gate
node: ubuntu-xenial
suffix: '-newton'
branch-override: stable/newton
- '{pipeline}-tempest-dsvm-neutron-src-{name}-{node}{suffix}':
pipeline: gate
node: ubuntu-xenial
suffix: '-ocata'
branch-override: stable/ocata
- job-template:
name: '{pipeline}-tempest-dsvm-cinder-v1-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 180
- timestamps
builders:
- print-template-name:
template-name: "{template-name}"
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
TEMPEST_VOLUME_API_V1=True
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_REGEX="volume"
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}-tempest-plugin-sanity-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 30
- timestamps
builders:
- zuul-git-prep
- install-distro-packages
- revoke-sudo
- shell: |
#!/bin/bash -eux
cd $WORKSPACE
# retrieve a list of projects having tempest plugins
# generate-tempest-plugins-list.sh is an executable script.
PROJECT_LIST="$(./tools/generate-tempest-plugins-list.sh)"
# function to clone project using zuul-cloner
function clone_project() {{
/usr/zuul-env/bin/zuul-cloner --cache-dir /opt/git \
git://git.openstack.org \
openstack/"$1"
}}
# Clone projects having tempest plugins
for project in $PROJECT_LIST; do
clone_project $project
done
virtualenv $WORKSPACE/.venv
export TVENV="$WORKSPACE/tools/with_venv.sh"
$TVENV pip install .
# Install other tempest plugins projects
for project in $PROJECT_LIST; do
$TVENV pip install $WORKSPACE/openstack/$project
# Check for test-requirements.txt file in a project then install it.
if [[ -e $WORKSPACE/openstack/$project/test-requirements.txt ]]; then
$TVENV pip install -r $WORKSPACE/openstack/$project/test-requirements.txt
fi
done
# Create tempest workspace
$TVENV tempest init $WORKSPACE/tempest_sanity
cd $WORKSPACE/tempest_sanity
$TVENV tempest list-plugins
$TVENV tempest run -l
publishers:
- console-log