project-config/jenkins/jobs/rally.yaml

730 lines
21 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 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}
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+=ceilometer-alarm-evaluator,ceilometer-alarm-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
export ENABLED_SERVICES
# TODO(mrostecki): Remove this if statement after implementing
# Devstack plugin in Rally.
if [ -d $BASE/new/rally/devstack ]; then
# New-style Devstack integration
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
else
# Old-style Devstack integration
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
fi
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/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+=ceilometer-alarm-evaluator,ceilometer-alarm-notifier,
ENABLED_SERVICES+=designate,designate-api,designate-central,designate-sink,designate-mdns,
export ENABLED_SERVICES
# TODO(mrostecki): Remove this if statement after implementing
# Devstack plugin in Rally.
if [ -d $BASE/new/rally/devstack ]; then
# New-style Devstack integration
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
function pre_test_hook {{
# Install designate-devstack integration
cd /opt/stack/new/designate/contrib/devstack
./pre_test_hook.sh
}}
else
# Old-style Devstack integration
ENABLED_SERVICES+=rally,
function pre_test_hook {{
# Install rally-devstack integration
cp -r $BASE/new/rally/contrib/devstack/* $BASE/new/devstack/
# Install designate-devstack integration
cd /opt/stack/new/designate/contrib/devstack
./pre_test_hook.sh
}}
fi
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-manila-rally-gate-multibackend
builders:
- link-logs
- devstack-checkout
- shell: |
#!/bin/bash -xe
export PROJECTS="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
# TODO(mrostecki): Remove this if statement after implementing
# Devstack plugin in Rally.
if [ -d $BASE/new/rally/devstack ]; then
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}
}}
else
# Old-style Devstack integration
export ENABLED_SERVICES=rally,
function pre_test_hook {{
# Install rally-devstack integration
cp -r $BASE/new/rally/contrib/devstack/* $BASE/new/devstack/
# Install manila-devstack integration
# 'dhss' means 'drivers handle share servers'
source $BASE/new/manila/contrib/ci/pre_test_hook.sh {dhss}
}}
fi
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:
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,
ENABLED_SERVICES+=murano,murano-api,murano-engine,
export ENABLED_SERVICES
# TODO(mrostecki): Remove this if statement after implementing
# Devstack plugin in Rally.
if [ -d $BASE/new/rally/devstack ]; then
# New-style Devstack integration
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
function pre_test_hook {{
# Install murano-devstack integration
cd /opt/stack/new/murano/functionaltests
./pre_test_hook.sh
}}
else
# Old-style Devstack integration
ENABLED_SERVICES+=rally,
function pre_test_hook {{
# Install rally-devstack integration
cp -r $BASE/new/rally/contrib/devstack/* $BASE/new/devstack/
# Install murano-devstack integration
cd /opt/stack/new/murano/functionaltests
./pre_test_hook.sh
}}
fi
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=mistral,h-api,h-api-cfn,h-api-cw,h-eng,heat,
# TODO(mrostecki): Remove this if statement after implementing
# Devstack plugin in Rally.
if [ -d $BASE/new/rally/devstack ]; then
# New-style Devstack integration
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
function pre_test_hook {{
# Install mistral-devstack integration
cd /opt/stack/new/mistral/functionaltests
./pre_test_hook.sh
}}
else
# Old-style Devstack integration
ENABLED_SERVICES+=rally,
function pre_test_hook {{
# Install rally-devstack integration
cp -r $BASE/new/rally/contrib/devstack/* $BASE/new/devstack/
# Install mistral-devstack integration
cd /opt/stack/new/mistral/functionaltests
./pre_test_hook.sh
}}
fi
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-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 ENABLED_SERVICES=rally
export PYTHONUNBUFFERED=true
export DEVSTACK_GATE_TIMEOUT=100
export DEVSTACK_GATE_INSTALL_TESTONLY=1
export DEVSTACK_GATE_TEMPEST=1
export DEVSTACK_GATE_TEMPEST_NOTESTS=1
export PROJECTS="stackforge/cue stackforge/python-cueclient $PROJECTS"
function pre_test_hook {
cd /opt/stack/new/cue/tests
./pre_test_hook.sh rabbitmq
# Install rally-devstack integration
cp -r $BASE/new/rally/contrib/devstack/* $BASE/new/devstack/
}
export -f pre_test_hook
function post_test_hook {
$BASE/new/rally/tests/ci/rally-gate.py
}
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-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: '0'
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"
# TODO(mrostecki): Remove this if statement after implementing
# Devstack plugin in Rally.
if [ -d $BASE/new/rally/devstack ]; then
# New-style Devstack integration
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
else
# Old-style Devstack integration
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
fi
function post_test_hook {
cd $BASE/new/rally
sudo -H -u stack tox -ecli -v
EXIT_CODE=$?
.tox/cli/bin/python /usr/local/jenkins/slave_scripts/subunit2html.py .testrepository/subunit.log $WORKSPACE/results.html
gzip -9 $WORKSPACE/results.html
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:
name: 'gate-rally-dsvm-verify'
node: 'devstack-precise || devstack-trusty'
wrappers:
- build-timeout:
timeout: 120
builders:
- link-logs
- devstack-checkout
- shell: |
#/bin/bash -xe
export PROJECTS="openstack/rally $PROJECTS"
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_TIMEOUT=120
# TODO(mrostecki): Remove this if statement after implementing
# Devstack plugin in Rally.
if [ -d $BASE/new/rally/devstack ]; then
# New-style Devstack integration
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
else
# Old-style Devstack integration
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
fi
function post_test_hook {
$BASE/new/rally/tests/ci/rally-verify.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-verify
- job-group:
name: rally-jobs
jobs:
- 'gate-rally-dsvm-{name}'
- 'gate-rally-dsvm-designate-{name}'
- 'gate-rally-dsvm-ironic-{name}'
- 'gate-rally-dsvm-murano-{name}'
- 'gate-rally-dsvm-mistral-{name}'
- 'gate-rally-dsvm-neutron-{name}'
- 'gate-rally-dsvm-fakevirt-{name}'
- 'gate-rally-dsvm-zaqar-{name}'