From f059fb06c79ea872d4f501461d32011085715e65 Mon Sep 17 00:00:00 2001
From: Joshua Harlow <harlowja@yahoo-inc.com>
Date: Wed, 22 Jul 2015 11:19:19 -0700
Subject: [PATCH] Adjust anvil gate/check jobs to test venv and rpm building

This adds a custom job template set that contains a script
to test (on centos6/centos7) the rpm building and a venv test
script that should run on trusty that tests anvils capability
to build venvs (and rpms) from the various openstack components.

Change-Id: I100eaff3542eb124e9a5d92e2d7a20ba0ffc75c4
---
 jenkins/jobs/anvil-jobs.yaml | 85 ++++++++++++++++++++++++++++++++++++
 jenkins/jobs/projects.yaml   |  6 +++
 zuul/layout.yaml             | 12 +++++
 3 files changed, 103 insertions(+)
 create mode 100644 jenkins/jobs/anvil-jobs.yaml

diff --git a/jenkins/jobs/anvil-jobs.yaml b/jenkins/jobs/anvil-jobs.yaml
new file mode 100644
index 0000000000..60ea64d085
--- /dev/null
+++ b/jenkins/jobs/anvil-jobs.yaml
@@ -0,0 +1,85 @@
+- job-template:
+    name: 'gate-anvil-rpms-{node}'
+    node: '{node}'
+
+    wrappers:
+      - build-timeout:
+          timeout: 60
+      - timestamps
+
+    builders:
+      - gerrit-git-prep
+      - shell: |
+          #!/bin/bash -xe
+
+          export PYTHONUNBUFFERED=true
+          export LOG_COLOR=0
+
+          # TODO: Change this later.
+          origin_file="kilo-2015.1.0.yaml"
+
+          echo "--------------------------"
+          echo "Bootstrapping anvil (rpms)"
+          echo "--------------------------"
+          sudo VERBOSE=1 ./smithy --bootstrap
+
+          echo "---------"
+          echo "Preparing"
+          echo "---------"
+          ./smithy -a prepare -o conf/origins/$origin_file \
+                              --tee-file ./prepare.txt -j1 -v
+
+          echo "--------"
+          echo "Building"
+          echo "--------"
+          ./smithy -a build -o conf/origins/$origin_file \
+                            --tee-file ./build.txt -j1 -v
+
+          echo ":)"
+
+    publishers:
+      - zuul-swift-upload-console-log
+
+- job-template:
+    name: 'gate-anvil-venv-{node}'
+    node: '{node}'
+
+    wrappers:
+      - build-timeout:
+          timeout: 60
+      - timestamps
+
+    builders:
+      - gerrit-git-prep
+      - shell: |
+          #!/bin/bash -xe
+
+          export PYTHONUNBUFFERED=true
+          export LOG_COLOR=0
+
+          # TODO: Change this later.
+          origin_file="kilo-venv-2015.1.0.yaml"
+
+          echo "--------------------------"
+          echo "Bootstrapping anvil (venv)"
+          echo "--------------------------"
+          sudo VERBOSE=1 ./smithy --bootstrap
+
+          echo "---------"
+          echo "Preparing"
+          echo "---------"
+          ./smithy -a prepare -o conf/origins/$origin_file \
+                              -p conf/personas/in-a-box/venv-all.yaml \
+                              --tee-file ./prepare.txt -j1 -v
+
+          echo "--------"
+          echo "Building"
+          echo "--------"
+          ./smithy -a build -o conf/origins/$origin_file \
+                            -p conf/personas/in-a-box/venv-all.yaml \
+                            --tee-file ./build.txt -j1 -v
+
+          echo ":)"
+
+    publishers:
+      - zuul-swift-upload-console-log
diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml
index 4f93b1efce..928ba4a96d 100755
--- a/jenkins/jobs/projects.yaml
+++ b/jenkins/jobs/projects.yaml
@@ -4220,6 +4220,12 @@
     jobs:
       - python-jobs
       - gate-{name}-pylint
+      - gate-anvil-rpms-{node}:
+          node:
+            - devstack-centos7
+            - bare-centos6
+      - gate-anvil-venv-{node}:
+          node: bare-trusty
 
 - project:
     name: apps-catalog
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 91c8331cea..63f35fb05d 100755
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -1235,6 +1235,15 @@ jobs:
   - name: gate-cliff-requirements
     voting: false
 
+  - name: gate-anvil-rpms-devstack-centos7
+    voting: false
+
+  - name: gate-anvil-rpms-bare-centos6
+    voting: false
+
+  - name: gate-anvil-venv-bare-trusty
+    voting: false
+
   - name: gate-heat-cfntools-python34
     voting: false
 
@@ -5899,6 +5908,9 @@ projects:
     check:
       - gate-anvil-pep8
       - gate-anvil-python27
+      - gate-anvil-venv-bare-trusty
+      - gate-anvil-rpms-bare-centos6
+      - gate-anvil-rpms-devstack-centos7
       - gate-anvil-pylint
     gate:
       - gate-anvil-pep8