summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorricolin <rico.lin@easystack.cn>2017-10-19 23:35:47 +0800
committerRico Lin <rico.lin@easystack.cn>2017-11-24 06:33:25 +0000
commit7925832f584ac5f73a1680220fdba5a8229e7305 (patch)
tree5a04e2c2f644ff457cf981d97d0481f39d092d0d
parenta7243bc0896a24e0d403589b852ba51ecb4ff2a0 (diff)
downloadheat-templates-7925832f584ac5f73a1680220fdba5a8229e7305.tar.gz
Migrate templates job to Zuul v3
Migrate templates job to zuul v3. Migrating guideline: https://docs.openstack.org/infra/manual/zuulv3.html Needed-By: I096b406389f610b503649ee8a4b5067d3f2dec5e Change-Id: I5bfa473e265fc1dea79adb98dfc06d7c7058f84c
-rw-r--r--.zuul.yaml19
-rw-r--r--playbooks/devstack/post.yaml15
-rw-r--r--playbooks/devstack/run.yaml54
-rwxr-xr-xtools/validate-templates6
4 files changed, 91 insertions, 3 deletions
diff --git a/.zuul.yaml b/.zuul.yaml
new file mode 100644
index 0000000..3a54531
--- /dev/null
+++ b/.zuul.yaml
@@ -0,0 +1,19 @@
+- job:
+ name: heat-templates-check
+ parent: legacy-dsvm-base
+ run: playbooks/devstack/run.yaml
+ post-run: playbooks/devstack/post.yaml
+ timeout: 7500
+ required-projects:
+ - openstack-infra/devstack-gate
+ - openstack/heat
+ - openstack/heat-templates
+
+- project:
+ name: openstack/heat-templates
+ check:
+ jobs:
+ - heat-templates-check
+ gate:
+ jobs:
+ - heat-templates-check
diff --git a/playbooks/devstack/post.yaml b/playbooks/devstack/post.yaml
new file mode 100644
index 0000000..e07f551
--- /dev/null
+++ b/playbooks/devstack/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/run.yaml b/playbooks/devstack/run.yaml
new file mode 100644
index 0000000..0e9bd33
--- /dev/null
+++ b/playbooks/devstack/run.yaml
@@ -0,0 +1,54 @@
+- hosts: all
+ name: job for templates-devstack
+ 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_GATE_TEMPEST=0
+ export DEVSTACK_GATE_EXERCISES=0
+ function post_test_hook {
+ cd $BASE/new/heat-templates/tools
+ ./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 }}'
diff --git a/tools/validate-templates b/tools/validate-templates
index 2ebb12a..59f9f1d 100755
--- a/tools/validate-templates
+++ b/tools/validate-templates
@@ -1,12 +1,11 @@
#!/usr/bin/env python
import os
-import re
import subprocess
import sys
-EXCLUDED_DIRS = ('contrib', 'elements', 'invalid')
+EXCLUDED_DIRS = ('contrib', 'elements', 'invalid', 'playbooks')
def main(args):
@@ -20,7 +19,8 @@ def main(args):
if excluded in dirs:
dirs.remove(excluded)
for name in files:
- if name.endswith((".yaml", ".template")):
+ if name.endswith((".yaml", ".template")
+ ) and not name == ".zuul.yaml":
got_error = validate(root, name) or got_error
sys.exit(int(got_error))