project-config/jenkins/jobs/rally.yaml

1247 lines
36 KiB
YAML

- job-template:
name: 'gate-rally-install-{node}'
node: '{node}'
builders:
- link-logs
- gerrit-git-prep
- install-distro-packages
- 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 DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_NEUTRON_EXTENSIONS={neutron_extensions}
export DEVSTACK_GATE_IRONIC={ironic}
export DEVSTACK_GATE_ZAQAR={zaqar}
export DEVSTACK_GATE_SENLIN={senlin}
export DEVSTACK_GATE_WATCHER={watcher}
export DEVSTACK_GATE_MAGNUM={magnum}
export DEVSTACK_GATE_HEAT={heat}
export DEVSTACK_GATE_SWIFT={swift}
export DEVSTACK_GATE_TELEMETRY={telemetry}
export DEVSTACK_GATE_TEMPEST_LARGE_OPS={large_ops}
export DEVSTACK_GATE_EXERCISES=0
export DEVSTACK_GATE_PREPOPULATE_USERS={prepopulate_users}
export DEVSTACK_GATE_USE_PYTHON3={py35}
export USE_KEYSTONE_V2API={keystone_use_v2api}
export RALLY_SCENARIO={scenario}
if [ $USE_KEYSTONE_V2API -eq 1 ]; then
export IDENTITY_API_VERSION=2.0
else
export IDENTITY_API_VERSION=3
fi
DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
DEVSTACK_LOCAL_CONFIG+=$'\n'"CINDER_ENABLE_V1_API=True"
DEVSTACK_LOCAL_CONFIG+=$'\n'"IDENTITY_API_VERSION=$IDENTITY_API_VERSION"
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-cpu,n-sch,n-cond,
if [ $DEVSTACK_GATE_SWIFT -ne 1 ]; then
ENABLED_SERVICES+=s-proxy,s-account,s-container,s-object,
fi
if [ $DEVSTACK_GATE_HEAT -ne 0 ]; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat https://git.openstack.org/openstack/heat"
fi
export PROJECTS="openstack/neutron $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron git://git.openstack.org/openstack/neutron"
if [ $DEVSTACK_GATE_NEUTRON_EXTENSIONS -ne 0 ]; then
export PROJECTS="openstack/neutron-lbaas $PROJECTS"
export PROJECTS="openstack/octavia $PROJECTS"
export PROJECTS="openstack/neutron-fwaas $PROJECTS"
export PROJECTS="openstack/diskimage-builder $PROJECTS"
export PROJECTS="openstack/tripleo-image-elements $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-lbaas git://git.openstack.org/openstack/neutron-lbaas"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin octavia https://git.openstack.org/openstack/octavia"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-fwaas https://git.openstack.org/openstack/neutron-fwaas"
export ENABLED_SERVICES+=q-lbaasv2,octavia,o-cw,o-hk,o-hm,o-api,q-fwaas,
fi
if [ $DEVSTACK_GATE_IRONIC -ne 0 ]; then
export PROJECTS="openstack/ironic $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin ironic git://git.openstack.org/openstack/ironic"
fi
if [ $DEVSTACK_GATE_ZAQAR -ne 0 ]; then
export PROJECTS="openstack/python-zaqarclient $PROJECTS"
export PROJECTS="openstack/zaqar-ui $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin zaqar git://git.openstack.org/openstack/zaqar"
fi
if [ $DEVSTACK_GATE_SENLIN -ne 0 ]; then
export PROJECTS="openstack/senlin $PROJECTS"
export PROJECTS="openstack/python-senlinclient $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin senlin git://git.openstack.org/openstack/senlin"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service sl-api sl-eng"
fi
if [ $DEVSTACK_GATE_WATCHER -ne 0 ]; then
export PROJECTS="openstack/watcher $PROJECTS"
export PROJECTS="openstack/python-watcherclient $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin watcher git://git.openstack.org/openstack/watcher"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_service watcher-api watcher-decision-engine watcher-applier"
fi
if [ $DEVSTACK_GATE_MAGNUM -ne 0 ]||[ $RALLY_SCENARIO = "magnum" ]; then
export PROJECTS="openstack/magnum $PROJECTS"
export PROJECTS="openstack/python-magnumclient $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin magnum https://git.openstack.org/openstack/magnum"
fi
if [ $DEVSTACK_GATE_TELEMETRY -ne 0 ]; then
export PROJECTS="openstack/ceilometer $PROJECTS"
export PROJECTS="openstack/aodh $PROJECTS"
# panko exists for Newton+ only
if [[ ! "stable/mitaka" =~ $ZUUL_BRANCH ]]; then
export PROJECTS="openstack/panko $PROJECTS"
fi
export CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler
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"
# panko exists for Newton+ only
if [[ ! "stable/mitaka" =~ $ZUUL_BRANCH ]]; then
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin panko git://git.openstack.org/openstack/panko"
fi
export ENABLED_SERVICES+=ceilometer-acompute,ceilometer-acentral,ceilometer-api,
export ENABLED_SERVICES+=ceilometer-anotification,ceilometer-collector,
export ENABLED_SERVICES+=aodh-api,aodh-evaluator,aodh-notifier,
# panko exists for Newton+ only
if [[ ! "stable/mitaka" =~ $ZUUL_BRANCH ]]; then
export ENABLED_SERVICES+=panko-api,
fi
fi
export ENABLED_SERVICES
export DEVSTACK_LOCAL_CONFIG
if [[ "$ZUUL_PROJECT" = "openstack/neutron" ]]; then
function gate_hook {{
bash -xe $BASE/new/neutron/neutron/tests/contrib/gate_hook.sh rally {scenario}
}}
export -f gate_hook
fi
function post_test_hook {{
$BASE/new/rally/tests/ci/rally-gate.sh
}}
export -f post_test_hook
if [[ "$DEVSTACK_GATE_USE_PYTHON3" = "True" ]]; then
# Switch off glance->swift communication as swift fails under py3.x
function pre_test_hook {{
local localconf=$BASE/new/devstack/local.conf
echo "[[post-config|\$GLANCE_API_CONF]]" >> $localconf
echo "[glance_store]" >> $localconf
echo "default_store=file" >> $localconf
}}
export -f pre_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-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 RALLY_SCENARIO={scenario}
export IDENTITY_API_VERSION=3
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
# 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
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"
# Run only manila services, because only main manila functionality
# will be tested with 'dummy' share driver that does not use real
# storage back ends. Also, it will speed up devstack installation.
export OVERRIDE_ENABLED_SERVICES=key,mysql,rabbit
export IDENTITY_API_VERSION=3
export DEVSTACK_GATE_NEUTRON=1
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'
# 'driver' is codename of shar driver in manila
# that is used for proper configuration of storage backend.
source $BASE/new/manila/contrib/ci/pre_test_hook.sh {dhss} {driver} 'multibackend'
}}
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: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 70
- timestamps
builders:
- devstack-manila-rally-gate-multibackend:
scenario: 'rally-manila'
dhss: '1'
driver: 'dummy'
publishers:
- devstack-logs
- rally-plot
- console-log
- job:
name: 'gate-rally-dsvm-manila-multibackend-no-ss'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 70
- timestamps
builders:
- devstack-manila-rally-gate-multibackend:
scenario: 'rally-manila-no-ss'
dhss: '0'
driver: 'dummy'
publishers:
- devstack-logs
- rally-plot
- console-log
- 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 PROJECTS="openstack/heat $PROJECTS"
export PROJECTS="openstack/python-heatclient $PROJECTS"
export DEVSTACK_GATE_TEMPEST_LARGE_OPS={large_ops}
export DEVSTACK_GATE_EXERCISES=0
export RALLY_SCENARIO={scenario}
export IDENTITY_API_VERSION=3
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat"
# 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"
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_TEMPEST_LARGE_OPS={large_ops}
export DEVSTACK_GATE_EXERCISES=0
export RALLY_SCENARIO={scenario}
export IDENTITY_API_VERSION=3
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: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-ironic'
neutron_extensions: '0'
ironic: '1'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '0'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- 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_TEMPEST=0
export DEVSTACK_GATE_EXERCISES=0
export RALLY_SCENARIO={scenario}
export DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
export IDENTITY_API_VERSION=3
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}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-murano-rally-gate:
scenario: '{name}-murano'
neutron_extensions: '0'
large_ops: '0'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-mistral-{name}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-mistral-rally-gate:
scenario: '{name}-mistral'
large_ops: '0'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-cue-{broker}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 110
- timestamps
builders:
- devstack-cue-rally-gate:
scenario: '{broker}-scenarios-gate'
broker: '{broker}'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-designate-{name}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-designate-rally-gate:
scenario: '{name}-designate'
neutron: '0'
large_ops: '0'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-{name}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '{swift}'
heat: '0'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-neutron-{name}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-neutron'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '{telemetry}'
swift: '0'
heat: '0'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-neutron-extensions-{name}'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-neutron-extensions'
ironic: '0'
neutron_extensions: '1'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '0'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-neutron-existing-users-{name}'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-neutron-existing-users'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '1'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '0'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-fakevirt-{name}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-fakevirt'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '10'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '0'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-zaqar-{name}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-zaqar'
ironic: '0'
neutron_extensions: '0'
zaqar: '1'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '0'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-rally-{service}{suffix}'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{service}'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '{heat}'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-py35-rally-{service}{suffix}'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{service}'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '{heat}'
py35: 'True'
publishers:
- devstack-logs
- rally-plot
- console-log
- job:
name: 'gate-rally-dsvm-cli'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 65
- timestamps
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
- 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
- console-log
- job-template:
name: 'gate-rally-dsvm-certification-with-keystone-{keystone-version}{suffix}'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 65
- timestamps
builders:
- link-logs
- devstack-checkout
- shell: |
#/bin/bash -xe
export PROJECTS="openstack/rally $PROJECTS"
export DEVSTACK_GATE_NEUTRON=1
export IDENTITY_VERSION={keystone-version}
DEVSTACK_LOCAL_CONFIG="enable_plugin rally git://git.openstack.org/openstack/rally"
DEVSTACK_LOCAL_CONFIG+=$'\n'"CINDER_ENABLE_V1_API=True"
if [ $IDENTITY_VERSION == "v3" ]; then
DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_IDENTITY_V2=False"
fi
export DEVSTACK_LOCAL_CONFIG
function post_test_hook {{
$BASE/new/rally/tests/ci/hooks/certification_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
- scp:
site: 'static.openstack.org'
files:
- target: 'logs/$LOG_PATH'
source: 'results.html.gz'
copy-after-failure: true
- target: 'logs/$LOG_PATH'
source: 'rally-plot/**'
keep-hierarchy: true
copy-after-failure: true
- console-log
- job-template:
name: 'gate-rally-dsvm-verify-{job-mode}-{ctx-mode}{suffix}'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 125
builders:
- devstack-rally-verify:
job-mode: '{job-mode}'
ctx-mode: '{ctx-mode}'
compare: '{compare}'
ceilometer: '{ceilometer}'
heat: '{heat}'
sahara: '{sahara}'
publishers:
- devstack-logs
- rally-verify
- console-log
- 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_SAHARA={sahara}
export DEVSTACK_GATE_EXERCISES=0
export RALLY_VERIFY_JOB_MODE={job-mode}
export RALLY_VERIFY_CTX_MODE={ctx-mode}
export RALLY_DO_COMPARE={compare}
export IDENTITY_API_VERSION=3
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-cpu,n-sch,n-cond,
ENABLED_SERVICES+=s-proxy,s-account,s-container,s-object,
export PROJECTS="openstack/neutron $PROJECTS"
export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron git://git.openstack.org/openstack/neutron"
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
DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin sahara git://git.openstack.org/openstack/sahara"
fi
export ENABLED_SERVICES
export DEVSTACK_LOCAL_CONFIG
function post_test_hook {{
local cmd="$BASE/new/rally/tests/ci/rally_verify.py --mode $RALLY_VERIFY_JOB_MODE"
if [ $RALLY_VERIFY_CTX_MODE = "create-resources" ]; then
cmd+=" --ctx-create-resources"
fi
if [ $RALLY_DO_COMPARE -ne 0 ]; then
cmd+=" --compare"
fi
$cmd
}}
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
- rally-verify
- console-log
- 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-sch,g-api,g-reg,q-agt,q-dhcp,q-l3,q-meta,q-svc
export OVERRIDE_ENABLED_SERVICES=$services
export PROJECTS="openstack/rally $PROJECTS"
export PROJECTS="openstack/monasca-api $PROJECTS"
export PROJECTS="openstack/monasca-persister $PROJECTS"
export PROJECTS="openstack/monasca-common $PROJECTS"
export PROJECTS="openstack/monasca-agent $PROJECTS"
export PROJECTS="openstack/monasca-notification $PROJECTS"
export PROJECTS="openstack/monasca-thresh $PROJECTS"
export PROJECTS="openstack/monasca-statsd $PROJECTS"
export PROJECTS="openstack/python-monascaclient $PROJECTS"
export IDENTITY_API_VERSION=3
export DEVSTACK_GATE_NEUTRON=1
export DEVSTACK_GATE_EXERCISES=0
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}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-monasca-rally-gate:
scenario: '{name}-monasca'
publishers:
- devstack-logs
- rally-plot
- console-log
- job:
name: 'gate-rally-dsvm-keystone-v2api-rally'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 65
- timestamps
builders:
- devstack-rally-gate:
scenario: 'rally-keystone-api-v2'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '1'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '1'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-senlin-{name}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-senlin'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '1'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '0'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-watcher-{name}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-watcher'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '1'
telemetry: '0'
swift: '0'
heat: '0'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-magnum-{name}{suffix}'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-magnum'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '1'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '1'
py35: 'False'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-py35-{name}{suffix}'
node: ubuntu-xenial
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '0'
swift: '0'
heat: '1'
py35: 'True'
publishers:
- devstack-logs
- rally-plot
- console-log
- job-template:
name: 'gate-rally-dsvm-py35-neutron-{name}-{node}{suffix}'
node: '{node}'
wrappers:
- build-timeout:
timeout: 130
- timestamps
builders:
- devstack-rally-gate:
scenario: '{name}-neutron'
ironic: '0'
neutron_extensions: '0'
zaqar: '0'
large_ops: '0'
keystone_use_v2api: '0'
senlin: '0'
magnum: '0'
prepopulate_users: '0'
watcher: '0'
telemetry: '{telemetry}'
swift: '0'
heat: '0'
py35: 'True'
publishers:
- devstack-logs
- rally-plot
- console-log