From b4a726473c5ec16e2bd4c0dd132822a7d112e90c Mon Sep 17 00:00:00 2001
From: "James E. Blair" <jeblair@openstack.org>
Date: Tue, 25 Feb 2014 14:24:36 -0800
Subject: [PATCH] Add oslo.test integration test

For now, just test oslo.test + oslo.messaging.  Run the job in both
projects to ensure no incompatible changes arise.

This is templated so it should be easy to add this job to other
projects.

Change-Id: I0d678a2b29b3f693fe12d95858e034531c55de2d
---
 .../jenkins_job_builder/config/oslo.yaml      | 45 +++++++++++++++++++
 .../jenkins_job_builder/config/projects.yaml  | 10 +++++
 .../openstack_project/files/zuul/layout.yaml  |  4 ++
 3 files changed, 59 insertions(+)
 create mode 100644 modules/openstack_project/files/jenkins_job_builder/config/oslo.yaml

diff --git a/modules/openstack_project/files/jenkins_job_builder/config/oslo.yaml b/modules/openstack_project/files/jenkins_job_builder/config/oslo.yaml
new file mode 100644
index 0000000000..76a38f86de
--- /dev/null
+++ b/modules/openstack_project/files/jenkins_job_builder/config/oslo.yaml
@@ -0,0 +1,45 @@
+- job-template:
+    name: '{pipeline}-oslo.test-dsvm-{name}{branch-designator}'
+    node: '{node}'
+
+    wrappers:
+      - timeout:
+          timeout: 95
+          fail: true
+      - timestamps
+
+    builders:
+      - devstack-checkout
+      - shell: |
+          #!/bin/bash -xe
+          export PYTHONUNBUFFERED=true
+          export DEVSTACK_GATE_TIMEOUT=95
+          export PROJECTS="openstack/oslo.test $PROJECTS"
+          export BRANCH_OVERRIDE={branch-override}
+          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+          fi
+
+          function gate_hook {{
+              cd /opt/stack/new/oslo.test
+              remaining_time
+              timeout -s 9 ${{REMAINING_TIME}}m ./tools/run_cross_tests.sh /opt/stack/new/{name} py27
+          }}
+          export -f gate_hook
+
+          function post_test_hook {{
+              cd /opt/stack/new/{name}
+              mv nose_results.html $WORKSPACE/logs
+              mv testr_results.html.gz $WORKSPACE/logs
+              mv .testrepository/tmp* $WORKSPACE/logs
+              mv subunit_log.txt.gz $WORKSPACE/logs
+          }}
+          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
+      - link-logs
+
+    publishers:
+      - devstack-logs
+      - console-log
diff --git a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
index 7ad4d470e5..b0e58e45ac 100644
--- a/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
+++ b/modules/openstack_project/files/jenkins_job_builder/config/projects.yaml
@@ -761,6 +761,16 @@
       - python-jobs
       - openstack-publish-jobs
       - pypi-jobs
+      - '{pipeline}-oslo.test-dsvm-{name}{branch-designator}':
+          pipeline: check
+          node: 'devstack-precise || devstack-precise-check'
+          branch-designator: ''
+          branch-override: default
+      - '{pipeline}-oslo.test-dsvm-{name}{branch-designator}':
+          pipeline: gate
+          node: devstack-precise
+          branch-designator: ''
+          branch-override: default
 
 - project:
     name: oslo.rootwrap
diff --git a/modules/openstack_project/files/zuul/layout.yaml b/modules/openstack_project/files/zuul/layout.yaml
index 95d18c3ed2..a72f347898 100644
--- a/modules/openstack_project/files/zuul/layout.yaml
+++ b/modules/openstack_project/files/zuul/layout.yaml
@@ -563,6 +563,8 @@ jobs:
     voting: false
   - name: gate-murano-devstack-dsvm
     voting: false
+  - name: check-oslo.test-dsvm-oslo.messaging
+    voting: false
   - name: gate-oslo.vmware-docs
     voting: false
   - name: gate-oslo.vmware-requirements
@@ -1910,6 +1912,7 @@ projects:
       - check-tempest-dsvm-neutron-full
       - gate-tempest-dsvm-large-ops
       - gate-tempest-dsvm-neutron-large-ops
+      - check-oslo.test-dsvm-oslo.messaging
     gate:
       - gate-devstack-dsvm-cells
       - gate-tempest-dsvm-large-ops
@@ -1972,6 +1975,7 @@ projects:
     check:
       - gate-oslo.test-python33
       - gate-oslo.test-pypy
+      - check-oslo.test-dsvm-oslo.messaging
     gate:
       - gate-oslo.test-python33
       - gate-oslo.test-pypy