- 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}'