summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorricolin <rico.lin@easystack.cn>2017-10-19 23:27:41 +0800
committerRico Lin <rico.lin@easystack.cn>2017-11-24 06:32:30 +0000
commitbc9b1d926781a56a3fe94beb73f8a4210c3a1746 (patch)
tree73d06dc47601cbf8fac64e2ca05f6f2b4c39c6cd
parentbfa77b57c682005ec4c5fd28e02042d2130ed703 (diff)
downloadpython-heatclient-bc9b1d926781a56a3fe94beb73f8a4210c3a1746.tar.gz
Migrate functional job to Zuul v3
Migrate functional job to zuul v3. Migrating guideline: https://docs.openstack.org/infra/manual/zuulv3.html Needed-By: I611d21791d3dfd877e37fa02b5893e18b1becd76 Change-Id: If8c88568dbc6be1bb04e75a6b8b63e44f4cf7d40
-rw-r--r--.zuul.yaml21
-rw-r--r--playbooks/devstack/functional-post.yaml80
-rw-r--r--playbooks/devstack/functional-run.yaml56
3 files changed, 157 insertions, 0 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
new file mode 100644
index 0000000..5a6b6a7
--- /dev/null
+++ b/.zuul.yaml
@@ -0,0 +1,21 @@
+- job:
+ name: heatclient-functional
+ parent: legacy-dsvm-base
+ run: playbooks/devstack/functional-run.yaml
+ post-run: playbooks/devstack/functional-post.yaml
+ timeout: 4200
+ required-projects:
+ - openstack-infra/devstack-gate
+ - openstack/heat
+ - openstack/python-heatclient
+ vars:
+ branch_override: "default"
+
+- project:
+ name: openstack/python-heatclient
+ check:
+ jobs:
+ - heatclient-functional
+ gate:
+ jobs:
+ - heatclient-functional
diff --git a/playbooks/devstack/functional-post.yaml b/playbooks/devstack/functional-post.yaml
new file mode 100644
index 0000000..dac8753
--- /dev/null
+++ b/playbooks/devstack/functional-post.yaml
@@ -0,0 +1,80 @@
+- 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=**/*nose_results.html
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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=**/*testr_results.html.gz
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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=/.testrepository/tmp*
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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=**/*testrepository.subunit.gz
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - name: Copy files from {{ ansible_user_dir }}/workspace/ on node
+ synchronize:
+ src: '{{ ansible_user_dir }}/workspace/'
+ dest: '{{ zuul.executor.log_root }}/tox'
+ mode: pull
+ copy_links: true
+ verify_host: true
+ rsync_opts:
+ - --include=/.tox/*/log/*
+ - --include=*/
+ - --exclude=*
+ - --prune-empty-dirs
+
+ - 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 0000000..477d217
--- /dev/null
+++ b/playbooks/devstack/functional-run.yaml
@@ -0,0 +1,56 @@
+- hosts: all
+ name: Job for heatclient-functional
+ 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'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ cat << 'EOF' >>"/tmp/dg-local.conf"
+ [[local|localrc]]
+ enable_plugin heat git://git.openstack.org/openstack/heat
+ EOF
+ executable: /bin/bash
+ chdir: '{{ ansible_user_dir }}/workspace'
+ environment: '{{ zuul | zuul_legacy_vars }}'
+
+ - shell:
+ cmd: |
+ set -e
+ set -x
+ export PYTHONUNBUFFERED=true
+ export DEVSTACK_PROJECT_FROM_GIT=python-heatclient
+ if [ "{{ branch_override }}" != "default" ] ; then
+ export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+ fi
+ function post_test_hook {
+ # Configure and run functional tests
+ $BASE/new/python-heatclient/heatclient/tests/functional/hooks/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 }}'