diff options
author | Zuul <zuul@review.openstack.org> | 2018-01-12 12:14:37 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2018-01-12 12:14:37 +0000 |
commit | 25e8b16b6a2b836ba7bdaffb47d8673a50d4c543 (patch) | |
tree | dfcc64172eae47ca90927a0738fa7a4eb723b5c5 | |
parent | 76da5a4a2fb0f7315d1d8a3d003f6ab0e4de0c07 (diff) | |
parent | fe3bffa6f470c9b38796e4a2faa0a6aa4e86c08d (diff) | |
download | heat-25e8b16b6a2b836ba7bdaffb47d8673a50d4c543.tar.gz |
Merge "Migrate functional jobs to Zuul v3" into stable/ocata
-rw-r--r-- | .zuul.yaml | 93 | ||||
-rw-r--r-- | playbooks/devstack/functional/post.yaml | 15 | ||||
-rw-r--r-- | playbooks/devstack/functional/run.yaml | 120 |
3 files changed, 228 insertions, 0 deletions
diff --git a/.zuul.yaml b/.zuul.yaml new file mode 100644 index 000000000..5ac05a038 --- /dev/null +++ b/.zuul.yaml @@ -0,0 +1,93 @@ +- job: + name: heat-functional-devstack-base + parent: legacy-dsvm-base + run: playbooks/devstack/functional/run.yaml + post-run: playbooks/devstack/functional/post.yaml + timeout: 7800 + required-projects: + - openstack-infra/devstack-gate + - openstack/aodh + - openstack/barbican + - openstack/barbican-tempest-plugin + - openstack/ceilometer + - openstack/devstack-plugin-amqp1 + - openstack/heat + - openstack/neutron + - openstack/neutron-lbaas + - openstack/oslo.messaging + - openstack/python-barbicanclient + - openstack/python-heatclient + - openstack/python-zaqarclient + - openstack/zaqar + irrelevant-files: + - ^.*\.rst$ + - ^api-ref/.*$ + - ^doc/.*$ + - ^heat/locale/.*$ + - ^heat/tests/.*$ + - ^releasenotes/.*$ + vars: + disable_convergence: 'false' + sql: mysql + use_amqp1: 0 + use_apache: 1 + use_python3: 0 + use_identity_v3_only: 0 + branch_override: default + +- job: + name: heat-functional-orig-mysql-lbaasv2 + parent: heat-functional-devstack-base + vars: + disable_convergence: 'true' + +- job: + name: heat-functional-convg-mysql-lbaasv2 + parent: heat-functional-devstack-base + +- job: + name: heat-functional-convg-mysql-lbaasv2-amqp1 + parent: heat-functional-devstack-base + voting: false + branches: master + vars: + use_amqp1: 1 + +- job: + name: heat-functional-convg-mysql-lbaasv2-non-apache + parent: heat-functional-devstack-base + branches: ^(?!stable/newton).*$ + vars: + use_apache: 0 + +- job: + name: heat-functional-convg-mysql-lbaasv2-py35 + parent: heat-functional-devstack-base + branches: ^(?!stable/(newton|ocata)).*$ + vars: + use_python3: 1 + +- job: + name: heat-functional-convg-mysql-lbaasv2-identity-v3-only + parent: heat-functional-devstack-base + voting: false + branches: master + vars: + use_identity_v3_only: 1 + +- project: + name: openstack/heat + check: + jobs: + - heat-functional-orig-mysql-lbaasv2 + - heat-functional-convg-mysql-lbaasv2 + - heat-functional-convg-mysql-lbaasv2-amqp1 + - heat-functional-convg-mysql-lbaasv2-non-apache + - heat-functional-convg-mysql-lbaasv2-py35 + - heat-functional-convg-mysql-lbaasv2-identity-v3-only + gate: + jobs: + - heat-functional-orig-mysql-lbaasv2 + - heat-functional-convg-mysql-lbaasv2 + - heat-functional-convg-mysql-lbaasv2-non-apache + - heat-functional-convg-mysql-lbaasv2-py35 diff --git a/playbooks/devstack/functional/post.yaml b/playbooks/devstack/functional/post.yaml new file mode 100644 index 000000000..e07f5510a --- /dev/null +++ b/playbooks/devstack/functional/post.yaml @@ -0,0 +1,15 @@ +- hosts: primary + tasks: + + - name: Copy files from {{ ansible_user_dir }}/workspace/ on node + synchronize: + src: '{{ ansible_user_dir }}/workspace/' + dest: '{{ zuul.executor.log_root }}' + mode: pull + copy_links: true + verify_host: true + rsync_opts: + - --include=/logs/** + - --include=*/ + - --exclude=* + - --prune-empty-dirs diff --git a/playbooks/devstack/functional/run.yaml b/playbooks/devstack/functional/run.yaml new file mode 100644 index 000000000..8263f90d0 --- /dev/null +++ b/playbooks/devstack/functional/run.yaml @@ -0,0 +1,120 @@ +- hosts: all + name: Job for functional tests + tasks: + + - name: Ensure legacy workspace directory + file: + path: '{{ ansible_user_dir }}/workspace' + state: directory + + - shell: + cmd: | + set -e + set -x + cat > clonemap.yaml << EOF + clonemap: + - name: openstack-infra/devstack-gate + dest: devstack-gate + EOF + /usr/zuul-env/bin/zuul-cloner -m clonemap.yaml --cache-dir /opt/git \ + git://git.openstack.org \ + openstack-infra/devstack-gate + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + + - shell: + cmd: | + set -e + set -x + export PYTHONUNBUFFERED=true + services=rabbit,tempest,mysql,dstat,key + services+=,n-api,n-api-meta,n-cpu,n-cond,n-sch,n-crt + + # TODO(ricolin) replace the usage of ZUUL_BRANCH + # placement services mandatory for nova from ocata + if [[ "stable/newton" != $ZUUL_BRANCH ]]; then + services+=,placement-api,placement-client + fi + + services+=,g-api,g-reg + services+=,c-sch,c-api,c-vol,c-bak + services+=,q-svc,q-dhcp,q-meta,q-agt,q-l3 + + if [ "{{ use_python3 }}" -eq 1 ] ; then + export DEVSTACK_GATE_USE_PYTHON3=True + # Swift does not work so skip s-* for python3x for now + else + export DEVSTACK_GATE_USE_PYTHON3=False + services+=,s-proxy,s-object,s-container,s-account + fi + # TODO(ricolin) replace the usage of ZUUL_BRANCH + if [[ ! "stable/newton stable/ocata" =~ $ZUUL_BRANCH ]]; then + services+=,q-trunk + fi + + export DEVSTACK_GATE_NEUTRON=1 + export DEVSTACK_GATE_TEMPEST=1 + export DEVSTACK_GATE_TEMPEST_NOTESTS=1 + export DEVSTACK_GATE_EXERCISES=0 + export DEVSTACK_GATE_INSTALL_TESTONLY=1 + export DEVSTACK_PROJECT_FROM_GIT=python-heatclient + export KEEP_LOCALRC=1 + export PROJECTS="openstack/ceilometer $PROJECTS" + export PROJECTS="openstack/aodh $PROJECTS" + export PROJECTS="openstack/zaqar $PROJECTS" + export PROJECTS="openstack/python-zaqarclient $PROJECTS" + export PROJECTS="openstack/neutron $PROJECTS" + 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" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin zaqar git://git.openstack.org/openstack/zaqar" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron git://git.openstack.org/openstack/neutron" + + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin heat git://git.openstack.org/openstack/heat" + + # Enable LBaaS V2 plugin + export PROJECTS="openstack/neutron-lbaas $PROJECTS" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin neutron-lbaas https://git.openstack.org/openstack/neutron-lbaas" + # enabling lbaas plugin does not enable the lbaasv2 service, explicitly enable it + services+=,q-lbaasv2 + export PROJECTS="openstack/barbican $PROJECTS" + export PROJECTS="openstack/python-barbicanclient $PROJECTS" + export PROJECTS="openstack/barbican-tempest-plugin $PROJECTS" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin barbican https://git.openstack.org/openstack/barbican" + # the lbaas v2 driver choice is in the gate pre test hook + + export OVERRIDE_ENABLED_SERVICES=$services + + if [ "{{ branch_override }}" != "default" ] ; then + export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE + fi + if [ "{{ use_identity_v3_only }}" -eq 1 ] ; then + export DEVSTACK_LOCAL_CONFIG+=$'\n'"ENABLE_IDENTITY_V2=False" + fi + if [ "{{ use_apache }}" -eq 0 ] ; then + export DEVSTACK_LOCAL_CONFIG+=$'\n'"HEAT_USE_MOD_WSGI=False" + fi + if [ "{{ use_amqp1 }}" -eq 1 ] ; then + export PROJECTS="openstack/devstack-plugin-amqp1 $PROJECTS" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"export AMQP1_SERVICE=qpid-hybrid" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"enable_plugin devstack-plugin-amqp1 git://git.openstack.org/openstack/devstack-plugin-amqp1" + export DEVSTACK_LOCAL_CONFIG+=$'\n'"export CELLSV2_SETUP=singleconductor" + export DEVSTACK_PROJECT_FROM_GIT="oslo.messaging,$DEVSTACK_PROJECT_FROM_GIT" + fi + export DISABLE_CONVERGENCE="{{ disable_convergence }}" + function pre_test_hook { + cd /opt/stack/new/heat/heat_integrationtests + source ./pre_test_hook.sh + } + export -f pre_test_hook + + function post_test_hook { + cd /opt/stack/new/heat/heat_integrationtests + source ./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 + executable: /bin/bash + chdir: '{{ ansible_user_dir }}/workspace' + environment: '{{ zuul | zuul_legacy_vars }}' |