- 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