diff options
author | ricolin <rico.lin@easystack.cn> | 2017-10-03 15:06:33 +0800 |
---|---|---|
committer | rabi <ramishra@redhat.com> | 2017-11-03 08:54:45 +0530 |
commit | 82665998d31567409d48536dcc15fd0f1bae0aee (patch) | |
tree | 1432a0af8e38b1dfbd5f1cfdd96521b3443d7cbd /playbooks/devstack | |
parent | ec40f1301d10931958c8af80a7c815ce3a9ebbd0 (diff) | |
download | heat-82665998d31567409d48536dcc15fd0f1bae0aee.tar.gz |
Migrate functional jobs to Zuul v3
Migrate all functional jobs and gate to zuul v3.
We will have to migrate all other legacy jobs too later.
Migrating guideline:
https://docs.openstack.org/infra/manual/zuulv3.html
Change-Id: I6757ba558d2a89a6b1d1ab4694106f0b84b26d4f
Diffstat (limited to 'playbooks/devstack')
-rw-r--r-- | playbooks/devstack/functional/post.yaml | 15 | ||||
-rw-r--r-- | playbooks/devstack/functional/run.yaml | 120 |
2 files changed, 135 insertions, 0 deletions
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 }}' |