project-config/jenkins/jobs/rally.yaml

795 lines
23 KiB
YAML

- job-template:
name: 'gate-rally-install-{node}'
node: '{node}'
builders:
- link-logs
- gerrit-git-prep
- shell: "tests/ci/test_install.sh"
publishers:
- console-log
- publisher:
name: rally-verify
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'rally-verify/**'
keep-hierarchy: true
copy-after-failure: true
- target: 'logs/$LOG_PATH'
source: 'rally-verify/extra/index.html'
keep-heirarchy: false
copy-after-failure: true
- publisher:
name: rally-plot
publishers:
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'rally-plot/**'
keep-hierarchy: true
copy-after-failure: true
- target: 'logs/$LOG_PATH'
source: 'rally-plot/extra/index.html'
keep-heirarchy: false
copy-after-failure: true
- builder:
name: devstack-rally-gate
builders:
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack/rally $PROJECTS"
export PROJECTS="openstack/ceilometer $PROJECTS"
export PROJECTS="openstack/aodh $PROJECTS"
export CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler
export DEVSTACK_GATE_NEUTRON={neutron}
export DEVSTACK_GATE_IRONIC={ironic}
export DEVSTACK_GATE_ZAQAR={zaqar}
export DEVSTACK_GATE_TEMPEST_LARGE_OPS={large_ops}
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_TIMEOUT=120
export RALLY_SCENARIO={scenario}
DEVSTACK_LOCAL_CONFIG="enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin aodh git://git.openstack.org/openstack/aodh"
DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin rally git://git.openstack.org/openstack/rally"
DEVSTACK_LOCAL_CONFIG+=$'\n'"CINDER_ENABLE_V1_API=True"
ENABLED_SERVICES=sahara,key,horizon,
ENABLED_SERVICES+=cinder,c-api,c-vol,c-sch,c-bak,
ENABLED_SERVICES+=g-api,g-reg,
ENABLED_SERVICES+=heat,h-api,h-api-cfn,h-api-cw,h-eng,
ENABLED_SERVICES+=n-api,n-crt,n-obj,n-cpu,n-sch,n-cond,
ENABLED_SERVICES+=s-proxy,s-account,s-container,s-object,
ENABLED_SERVICES+=ceilometer-acompute,ceilometer-acentral,ceilometer-api,
ENABLED_SERVICES+=ceilometer-anotification,ceilometer-collector,
ENABLED_SERVICES+=aodh-api,aodh-evaluator,aodh-notifier,
if [ $DEVSTACK_GATE_NEUTRON -ne 1 ]; then
ENABLED_SERVICES+=n-net,n-api-meta,
fi
if [ $DEVSTACK_GATE_IRONIC -ne 0 ]; then
ENABLED_SERVICES+=ironic,ir-api,ir-cond,
fi
if [ $DEVSTACK_GATE_ZAQAR -ne 0 ]; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin zaqar git://git.openstack.org/openstack/zaqar"
fi
export ENABLED_SERVICES
export DEVSTACK_LOCAL_CONFIG
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
- builder:
name: devstack-designate-rally-gate
builders:
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack/rally $PROJECTS"
export PROJECTS="openstack/ceilometer $PROJECTS"
export PROJECTS="openstack/aodh $PROJECTS"
export PROJECTS="openstack/designate $PROJECTS"
export PROJECTS="openstack/python-designateclient $PROJECTS"
export PROJECTS="openstack/designate-dashboard $PROJECTS"
export CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler
export DEVSTACK_GATE_NEUTRON={neutron}
export DEVSTACK_GATE_TEMPEST_LARGE_OPS={large_ops}
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_TIMEOUT=120
export RALLY_SCENARIO={scenario}
ENABLED_SERVICES=ceilometer-acompute,ceilometer-acentral,ceilometer-api,
ENABLED_SERVICES+=ceilometer-anotification,ceilometer-collector,
ENABLED_SERVICES+=aodh-api,aodh-alarm-evaluator,aodh-alarm-notifier,
ENABLED_SERVICES+=designate,designate-api,designate-central,designate-sink,designate-mdns,
export ENABLED_SERVICES
DEVSTACK_LOCAL_CONFIG="enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin aodh git://git.openstack.org/openstack/aodh"
DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin rally git://git.openstack.org/openstack/rally"
export DEVSTACK_LOCAL_CONFIG
if [[ "stable/kilo stable/liberty" =~ $ZUUL_BRANCH ]]; then
# Kilo/Liberty version uses the older 'hooks' approach to adding
# the Designate plugin
function gate_hook {{
cd /opt/stack/new/designate/contrib/devstack
./gate_hook.sh
}}
export -f gate_hook
function pre_test_hook {{
cd /opt/stack/new/designate/contrib/devstack
./pre_test_hook.sh
}}
export -f pre_test_hook
function post_test_hook {{
$BASE/new/rally/tests/ci/rally-gate.sh
}}
export -f post_test_hook
else
# Otherwise, enable the Designate devstack plugin.
DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin designate git://git.openstack.org/openstack/designate"
export DEVSTACK_LOCAL_CONFIG
function gate_hook {{
cd /opt/stack/new/designate/devstack/gate
./gate_hook.sh
}}
export -f gate_hook
function post_test_hook {{
$BASE/new/rally/tests/ci/rally-gate.sh
}}
export -f post_test_hook
fi
cp devstack-gate/devstack-vm-gate-wrap.sh ./safe-devstack-vm-gate-wrap.sh
./safe-devstack-vm-gate-wrap.sh
- builder:
name: devstack-manila-rally-gate-multibackend
builders:
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack/python-manilaclient openstack/rally $PROJECTS"
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_TIMEOUT=60
export RALLY_SCENARIO={scenario}
export DEVSTACK_LOCAL_CONFIG="enable_plugin manila git://git.openstack.org/openstack/manila"
# Keep localrc to be able to set some vars in pre_test_hook
export KEEP_LOCALRC=1
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin rally git://git.openstack.org/openstack/rally"
function pre_test_hook {{
# Install manila-devstack integration
# 'dhss' means 'drivers handle share servers'
source $BASE/new/manila/contrib/ci/pre_test_hook.sh {dhss}
}}
export -f pre_test_hook
function post_test_hook {{
source $BASE/new/manila/contrib/ci/common.sh
manila_wait_for_drivers_init /etc/manila/manila.conf
$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
- job:
name: 'gate-rally-dsvm-manila-multibackend'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 65
- timestamps
builders:
- devstack-manila-rally-gate-multibackend:
scenario: 'rally-manila'
dhss: '1'
publishers:
- devstack-logs
- console-log
- rally-plot
- job:
name: 'gate-rally-dsvm-manila-multibackend-no-ss'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 65
- timestamps
builders:
- devstack-manila-rally-gate-multibackend:
scenario: 'rally-manila-no-ss'
dhss: '0'
publishers:
- devstack-logs
- console-log
- rally-plot
- builder:
name: devstack-murano-rally-gate
builders:
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack/rally $PROJECTS"
export PROJECTS="openstack/murano $PROJECTS"
export PROJECTS="openstack/murano-dashboard $PROJECTS"
export PROJECTS="openstack/python-muranoclient $PROJECTS"
export DEVSTACK_GATE_NEUTRON={neutron}
export DEVSTACK_GATE_TEMPEST_LARGE_OPS={large_ops}
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_TIMEOUT=120
export RALLY_SCENARIO={scenario}
ENABLED_SERVICES=h-api,h-api-cfn,h-api-cw,h-eng,heat,
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
if [[ $ZUUL_BRANCH =~ "kilo" ]]; then
# Kilo version uses 'hooks' approach that requires explicit
# enabling of services.
# todo(freerunner): Remove this ugly workaround when kilo support will be
# todo(freerunner): dropped off.
ENABLED_SERVICES+=,murano,murano-api,murano-engine
else
# Enable murano devstack plugin. Provided repo should be cloned by zuul before devstack run
# and below provided link should not be used.
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin murano git://git.openstack.org/openstack/murano"
fi
export ENABLED_SERVICES
function pre_test_hook {{
# Install murano-devstack integration
cd /opt/stack/new/murano/functionaltests
./pre_test_hook.sh
}}
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
- builder:
name: devstack-mistral-rally-gate
builders:
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack/rally $PROJECTS"
export PROJECTS="openstack/mistral $PROJECTS"
export PROJECTS="openstack/mistral-dashboard $PROJECTS"
export PROJECTS="openstack/python-mistralclient $PROJECTS"
export DEVSTACK_GATE_NEUTRON={neutron}
export DEVSTACK_GATE_TEMPEST_LARGE_OPS={large_ops}
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_TIMEOUT=120
export RALLY_SCENARIO={scenario}
export ENABLED_SERVICES=h-api,h-api-cfn,h-api-cw,h-eng,heat,
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin mistral https://git.openstack.org/openstack/mistral"
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
- job-template:
name: 'gate-rally-dsvm-ironic-{name}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-ironic'
neutron: '1'
ironic: '1'
zaqar: '0'
large_ops: '0'
publishers:
- devstack-logs
- console-log
- rally-plot
- builder:
name: devstack-cue-rally-gate
builders:
- link-logs
- net-info
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="openstack/rally $PROJECTS"
export PROJECTS="openstack/cue openstack/python-cueclient openstack/cue-dashboard $PROJECTS"
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TIMEOUT=100
export DEVSTACK_GATE_TEMPEST=0
export DEVSTACK_GATE_EXERCISES=0
export RALLY_SCENARIO={scenario}
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
function pre_test_hook {{
# Install cue-devstack integration
cd /opt/stack/new/cue/tests
./pre_test_hook.sh {broker}
}}
export -f pre_test_hook
function gate_hook {{
cd /opt/stack/new/cue/tests
./gate_hook.sh {broker}
}}
export -f gate_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
- job-template:
name: 'gate-rally-dsvm-murano-{name}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-murano-rally-gate:
scenario: '{name}-murano'
neutron: '1'
large_ops: '0'
publishers:
- devstack-logs
- console-log
- rally-plot
- job-template:
name: 'gate-rally-dsvm-mistral-{name}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-mistral-rally-gate:
scenario: '{name}-mistral'
neutron: '0'
large_ops: '0'
publishers:
- devstack-logs
- console-log
- rally-plot
- job-template:
name: 'gate-rally-dsvm-cue-{broker}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-cue-rally-gate:
scenario: '{broker}-scenarios'
broker: '{broker}'
publishers:
- devstack-logs
- console-log
- rally-plot
- job-template:
name: 'gate-rally-dsvm-designate-{name}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-designate-rally-gate:
scenario: '{name}-designate'
neutron: '0'
large_ops: '0'
publishers:
- devstack-logs
- console-log
- rally-plot
- job-template:
name: 'gate-rally-dsvm-{name}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}'
ironic: '0'
neutron: '0'
zaqar: '0'
large_ops: '0'
publishers:
- devstack-logs
- console-log
- rally-plot
- job-template:
name: 'gate-rally-dsvm-neutron-{name}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-neutron'
ironic: '0'
neutron: '1'
zaqar: '0'
large_ops: '0'
publishers:
- devstack-logs
- console-log
- rally-plot
- job-template:
name: 'gate-rally-dsvm-fakevirt-{name}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-fakevirt'
ironic: '0'
neutron: '0'
zaqar: '0'
large_ops: '10'
publishers:
- devstack-logs
- console-log
- rally-plot
- job-template:
name: 'gate-rally-dsvm-zaqar-{name}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-zaqar'
ironic: '0'
neutron: '0'
zaqar: '1'
large_ops: '0'
publishers:
- devstack-logs
- console-log
- rally-plot
- job-template:
name: 'gate-rally-dsvm-rally-{service}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-rally-gate:
scenario: '{service}'
ironic: '0'
neutron: '{neutron}'
zaqar: '0'
large_ops: '0'
publishers:
- devstack-logs
- console-log
- rally-plot
- job-template:
name: 'gate-{name}-integrate-dsvm-rally'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-{name}-rally-gate
publishers:
- devstack-logs
- console-log
- rally-plot
- job:
name: 'gate-rally-dsvm-cli'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 60
builders:
- link-logs
- devstack-checkout
- shell: |
#/bin/bash -xe
export PROJECTS="openstack/rally $PROJECTS"
export DEVSTACK_GATE_NEUTRON=1
DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
DEVSTACK_LOCAL_CONFIG+=$'\n'"CINDER_ENABLE_V1_API=True"
export DEVSTACK_LOCAL_CONFIG
function post_test_hook {
cd $BASE/new/rally
sudo -H -u stack tox -ecli -v
EXIT_CODE=$?
cp -r $BASE/new/rally/rally-cli-output-files $WORKSPACE/
return $EXIT_CODE
}
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
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'results.html.gz'
copy-after-failure: true
- target: 'logs/$LOG_PATH'
source: 'rally-cli-output-files/**'
keep-hierarchy: true
copy-after-failure: true
- job-template:
name: 'gate-rally-dsvm-verify-{mode}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 120
builders:
- devstack-rally-verify:
mode: '{mode}'
compare: '{compare}'
ceilometer: '{ceilometer}'
heat: '{heat}'
neutron: '{neutron}'
sahara: '{sahara}'
publishers:
- devstack-logs
- console-log
- rally-verify
- builder:
name: devstack-rally-verify
builders:
- link-logs
- devstack-checkout
- shell: |
#/bin/bash -xe
export PROJECTS="openstack/rally $PROJECTS"
export DEVSTACK_GATE_CEILOMETER={ceilometer}
export DEVSTACK_GATE_HEAT={heat}
export DEVSTACK_GATE_NEUTRON={neutron}
export DEVSTACK_GATE_SAHARA={sahara}
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_TIMEOUT=120
export RALLY_DO_COMPARE={compare}
DEVSTACK_LOCAL_CONFIG=$"enable_plugin rally git://git.openstack.org/openstack/rally"
DEVSTACK_LOCAL_CONFIG+=$'\n'"CINDER_ENABLE_V1_API=True"
ENABLED_SERVICES=key,horizon,
ENABLED_SERVICES+=cinder,c-api,c-vol,c-sch,c-bak,
ENABLED_SERVICES+=g-api,g-reg,
ENABLED_SERVICES+=n-api,n-crt,n-obj,n-cpu,n-sch,n-cond,
ENABLED_SERVICES+=s-proxy,s-account,s-container,s-object,
if [ $DEVSTACK_GATE_NEUTRON -ne 1 ]; then
ENABLED_SERVICES+=n-net,n-api-meta,
else
ENABLED_SERVICES+=q-svc,q-dhcp,q-meta,q-agt,q-l3,
export DISABLED_SERVICES=n-net
fi
if [ $DEVSTACK_GATE_CEILOMETER -ne 0 ]; then
export CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler
export PROJECTS="openstack/ceilometer $PROJECTS"
export PROJECTS="openstack/aodh $PROJECTS"
DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer"
DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin aodh git://git.openstack.org/openstack/aodh"
ENABLED_SERVICES+=ceilometer-acompute,ceilometer-acentral,ceilometer-api,
ENABLED_SERVICES+=ceilometer-anotification,ceilometer-collector,
ENABLED_SERVICES+=aodh-api,aodh-evaluator,aodh-notifier,
fi
if [ $DEVSTACK_GATE_HEAT -ne 0 ]; then
ENABLED_SERVICES+=heat,h-api,h-api-cfn,h-api-cw,h-eng,
fi
if [ $DEVSTACK_GATE_SAHARA -ne 0 ]; then
ENABLED_SERVICES+=sahara,
fi
export ENABLED_SERVICES
export DEVSTACK_LOCAL_CONFIG
function post_test_hook {{
if [ $RALLY_DO_COMPARE -ne 0 ]; then
$BASE/new/rally/tests/ci/rally_verify.py --mode '{mode}' --compare
else
$BASE/new/rally/tests/ci/rally_verify.py --mode '{mode}'
fi
}}
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-verify
- builder:
name: devstack-monasca-rally-gate
builders:
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PYTHONUNBUFFERED=true
services=key,mysql,rabbit,n-api,n-cond,n-cpu,n-crt,n-obj,n-sch,g-api,g-reg,q-agt,q-dhcp,q-l3,q-lbaas,q-meta,q-svc
export OVERRIDE_ENABLED_SERVICES=$services
export PROJECTS="openstack/rally $PROJECTS"
export PROJECTS="openstack/monasca-api $PROJECTS"
export PROJECTS="openstack/python-monascaclient $PROJECTS"
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_TIMEOUT=120
export RALLY_SCENARIO={scenario}
export DEVSTACK_LOCAL_CONFIG="enable_plugin monasca-api git://git.openstack.org/openstack/monasca-api"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin rally git://git.openstack.org/openstack/rally"
function pre_test_hook {{
source $BASE/new/monasca-api/devstack/pre_test_hook.sh
}}
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
- job-template:
name: 'gate-rally-dsvm-monasca-{name}'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 125
- timestamps
builders:
- devstack-monasca-rally-gate:
scenario: '{name}-monasca'
publishers:
- devstack-logs
- console-log
- rally-plot