summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.openstack.org>2018-01-12 12:14:37 +0000
committerGerrit Code Review <review@openstack.org>2018-01-12 12:14:37 +0000
commit25e8b16b6a2b836ba7bdaffb47d8673a50d4c543 (patch)
treedfcc64172eae47ca90927a0738fa7a4eb723b5c5
parent76da5a4a2fb0f7315d1d8a3d003f6ab0e4de0c07 (diff)
parentfe3bffa6f470c9b38796e4a2faa0a6aa4e86c08d (diff)
downloadheat-25e8b16b6a2b836ba7bdaffb47d8673a50d4c543.tar.gz
Merge "Migrate functional jobs to Zuul v3" into stable/ocata
-rw-r--r--.zuul.yaml93
-rw-r--r--playbooks/devstack/functional/post.yaml15
-rw-r--r--playbooks/devstack/functional/run.yaml120
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 }}'