project-config/jenkins/jobs/mistral.yaml
Renat Akhmerov 7cf8942984 Add a simple version of Mistral HA gate
The idea of the new gate is to run tests on multi-node Mistral w/o
Devstack and Tempest at all. For now the gate configuration is
very primitive and just calls two scripts from the mistral repo
so that we could debug more easily by sending patchsets to Mistral
with changes made against these scripts. Once they work it'll be
better to create a builder within the Jenkins Mistral configuration.

Change-Id: I898e125d37a31a00e972be5962a49af2a6076acd
2017-07-21 10:46:43 +00:00

103 lines
3.0 KiB
YAML

- job-template:
name: '{pipeline}-{component}-devstack-dsvm{special}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 70
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_NEUTRON=1
if [ "{component}" = "python-mistralclient" ] ; then
# This puts the repo in PROJECTS
export DEVSTACK_PROJECT_FROM_GIT="python-mistralclient"
else
export PROJECTS="openstack/python-mistralclient $PROJECTS"
fi
export ENABLED_SERVICES=heat,h-api,h-api-cfn,h-api-cw,h-eng,tempest
export PROJECTS="openstack/heat $PROJECTS"
export PROJECTS="openstack/mistral $PROJECTS"
export PROJECTS="openstack/mistral-dashboard $PROJECTS"
export DEVSTACK_LOCAL_CONFIG="enable_plugin mistral https://git.openstack.org/openstack/mistral"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
if [ "{special}" == "-non-apache" ]; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"MISTRAL_USE_MOD_WSGI=False"
fi
if [ "{special}" == "-kombu" ]; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"MISTRAL_RPC_IMPLEMENTATION=kombu"
fi
function post_test_hook {{
cd /opt/stack/new/{component}/functionaltests
./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}-mistral-ha-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 70
- timestamps
builders:
- link-logs
- net-info
- zuul-git-prep
- install-distro-packages
- shell: |
# TODO: this is a temporary solution that puts all installation
# code into a script residing in mistral repo just for more
# convenient debugging (since we'll be able to send patchsets to
# mistral with "check experimental" and trigger the gate). After
# it's ready it'll be better to create a special builder in this
# file.
ha_gate/install.sh
ha_gate/run_tests.sh
publishers:
- console-log
- job:
name: gate-mistral-docker-buildimage
node: ubuntu-xenial
builders:
- link-logs
- net-info
- zuul-git-prep
- install-distro-packages
- shell: |
./docker_image_build.sh
publishers:
- scp:
site: 'tarballs.openstack.org'
files:
- source: 'mistral-docker.tar.gz'
target: 'tarballs/mistral/images'
keep-hierarchy: false
copy-after-failure: false
- console-log