project-config/jenkins/jobs/heat.yaml
Kien Nguyen c351e66399 Add topology flag to Heat job template
At the time, Heat only has grenade singlenode gate job. This patch
set will add topology flag to Heat job template, so with just single
template we have 2 jobs (singlenode/multinode) for upgrade testing.

Partials-Implements: blueprint heat-rolling-upgrades
Change-Id: I1e00afa4ecd7ecdb4cc2a39620d54b69b68d124e
2017-08-01 09:06:49 +07:00

242 lines
8.3 KiB
YAML

- job:
name: gate-heat-templates-dsvm
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
enable_plugin heat git://git.openstack.org/openstack/heat
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_EXERCISES=0
function post_test_hook {
cd $BASE/new/heat-templates/tools
./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}-heat-dsvm-functional-{engine}-{datastore}-{lbaasversion}{special}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
services=rabbit,tempest,mysql,dstat,key
services+=,n-api,n-api-meta,n-cpu,n-cond,n-sch,n-crt
# placement services mandatory for nova from ocata
if [[ "stable/newton" != $ZUUL_BRANCH ]]; then
services+=,placement-api,placement-client
fi
services+=,g-api,g-reg
services+=,c-sch,c-api,c-vol,c-bak
services+=,q-svc,q-dhcp,q-meta,q-agt,q-l3
if [ "{special}" == "-py35" ] ; then
export DEVSTACK_GATE_USE_PYTHON3=True
# Swift does not work so skip s-* for python3x for now
else
export DEVSTACK_GATE_USE_PYTHON3=False
services+=,s-proxy,s-object,s-container,s-account
fi
if [[ ! "stable/newton stable/ocata" =~ $ZUUL_BRANCH ]]; then
services+=,q-trunk
fi
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export DEVSTACK_PROJECT_FROM_GIT=python-heatclient
export KEEP_LOCALRC=1
export PROJECTS="openstack/ceilometer $PROJECTS"
export PROJECTS="openstack/aodh $PROJECTS"
export PROJECTS="openstack/zaqar $PROJECTS"
export PROJECTS="openstack/python-zaqarclient $PROJECTS"
export PROJECTS="openstack/neutron $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin aodh git://git.openstack.org/openstack/aodh"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin zaqar git://git.openstack.org/openstack/zaqar"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron git://git.openstack.org/openstack/neutron"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
if [ "{lbaasversion}" = "lbaasv2" ]; then
# Enable LBaaS V2 plugin
export PROJECTS="openstack/neutron-lbaas $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas"
# enabling lbaas plugin does not enable the lbaasv2 service, explicitly enable it
services+=,q-lbaasv2
export PROJECTS="openstack/barbican $PROJECTS"
export PROJECTS="openstack/python-barbicanclient $PROJECTS"
export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin barbican https://git.openstack.org/openstack/barbican"
# the lbaas v2 driver choice is in the gate pre test hook
else
services+=,q-lbaas
fi
export OVERRIDE_ENABLED_SERVICES=$services
if [ "{datastore}" == "postgres" ] ; then
export DEVSTACK_GATE_POSTGRES=1
fi
if [ "{engine}" == "orig" ] ; then
export DISABLE_CONVERGENCE=true
fi
export BRANCH_OVERRIDE={branch-override}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
if [ "{special}" == "-identity-v3-only" ] ; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_IDENTITY_V2=False"
fi
if [ "{special}" == "-non-apache" ] ; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"HEAT_USE_MOD_WSGI=False"
fi
if [ "{special}" == "-amqp1" ] ; then
export PROJECTS="openstack/devstack-plugin-amqp1 $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"export AMQP1_SERVICE=qpid-hybrid"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin devstack-plugin-amqp1 git://git.openstack.org/openstack/devstack-plugin-amqp1"
export DEVSTACK_PROJECT_FROM_GIT="oslo.messaging,$DEVSTACK_PROJECT_FROM_GIT"
fi
function pre_test_hook {{
cd /opt/stack/new/heat/heat_integrationtests
source ./pre_test_hook.sh
}}
export -f pre_test_hook
function post_test_hook {{
cd /opt/stack/new/heat/heat_integrationtests
source ./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}-heatclient-dsvm-functional-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 70
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
enable_plugin heat git://git.openstack.org/openstack/heat
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
export BRANCH_OVERRIDE={branch-override}
export DEVSTACK_PROJECT_FROM_GIT=python-heatclient
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
- job-template:
name: '{pipeline}-grenade-dsvm-heat{topology}-{node-release}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- link-logs
- net-info
- devstack-checkout
- local_conf:
conf: |
[[local|localrc]]
enable_plugin heat git://git.openstack.org/openstack/heat
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack-dev/grenade $PROJECTS"
export PYTHONUNBUFFERED=true
export GRENADE_PLUGINRC="enable_grenade_plugin heat https://git.openstack.org/openstack/heat"
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export DEVSTACK_GATE_GRENADE=pullup
export BRANCH_OVERRIDE={branch-override}
export TOPOLOGY={topology}
if [ "$BRANCH_OVERRIDE" != "default" ] ; then
export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
fi
# Default topology is all-in-one (aio)
if [ "$TOPOLOGY" == "-multinode" ] ; then
export DEVSTACK_GATE_TOPOLOGY="multinode"
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