From 99bc953e2117d54b4c1addbca0b8ec40372d6f57 Mon Sep 17 00:00:00 2001
From: Ruslan Kamaldinov <rkamaldinov@mirantis.com>
Date: Mon, 11 May 2015 23:56:24 +0300
Subject: [PATCH] Add functional test job for python-muranoclient

Create functional test job for python-muranoclient, set as non-voting until
its working. The muranoclient functional tests are being extracted from the
main murano tempest-based tests.

Change-Id: I525a53222837c42790268e00d4408abaa99a2efb
---
 jenkins/jobs/murano.yaml   | 50 ++++++++++++++++++++++++++++++++++++++
 jenkins/jobs/projects.yaml |  5 ++++
 zuul/layout.yaml           |  4 +++
 3 files changed, 59 insertions(+)

diff --git a/jenkins/jobs/murano.yaml b/jenkins/jobs/murano.yaml
index 81b92efb90..462f26e9a3 100644
--- a/jenkins/jobs/murano.yaml
+++ b/jenkins/jobs/murano.yaml
@@ -90,3 +90,53 @@
     publishers:
       - devstack-logs
       - console-log
+
+- job-template:
+    name: '{pipeline}-muranoclient-dsvm-functional{branch-designator}'
+    node: '{node}'
+
+    wrappers:
+      - build-timeout:
+          timeout: 65
+      - timestamps
+
+    builders:
+      - link-logs
+      - net-info
+      - devstack-checkout
+      - shell: |
+          #!/bin/bash -xe
+          export PYTHONUNBUFFERED=true
+          export DEVSTACK_GATE_TIMEOUT=60
+          export DEVSTACK_GATE_NEUTRON=1
+          export DEVSTACK_PROJECT_FROM_GIT=python-muranoclient
+          export BRANCH_OVERRIDE={branch-override}
+
+          export ENABLED_SERVICES=murano,murano-api,murano-engine,tempest
+          export PROJECTS="openstack/murano $PROJECTS"
+          export PROJECTS="openstack/murano-dashboard $PROJECTS"
+          export PROJECTS="openstack/python-muranoclient $PROJECTS"
+
+          if [ "$BRANCH_OVERRIDE" != "default" ] ; then
+              export OVERRIDE_ZUUL_BRANCH=$BRANCH_OVERRIDE
+          fi
+
+          function pre_test_hook {{
+              # Install Murano devstack modules
+              cd /opt/stack/new/murano/functionaltests
+              ./pre_test_hook.sh
+          }}
+          export -f pre_test_hook
+
+          function post_test_hook {{
+              # Configure and run functional tests
+              /opt/stack/new/python-muranoclient/muranoclient/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
+
+    publishers:
+      - test-results
+      - devstack-logs
diff --git a/jenkins/jobs/projects.yaml b/jenkins/jobs/projects.yaml
index 20d006c1ef..b2e9f8910d 100755
--- a/jenkins/jobs/projects.yaml
+++ b/jenkins/jobs/projects.yaml
@@ -5070,6 +5070,11 @@
     jobs:
       - python-jobs
       - pypi-jobs
+      - '{pipeline}-muranoclient-dsvm-functional{branch-designator}':
+          pipeline: check
+          node: 'devstack-precise || devstack-trusty'
+          branch-designator: ''
+          branch-override: default
 
 - project:
     name: python-openstacksdk
diff --git a/zuul/layout.yaml b/zuul/layout.yaml
index 79a341cc1d..ae27b42d89 100755
--- a/zuul/layout.yaml
+++ b/zuul/layout.yaml
@@ -1006,6 +1006,9 @@ jobs:
   - name: gate-python-muranoclient-requirements
     voting: false
 
+  - name: ^(gate|check)-muranoclient-dsvm-functional$
+    voting: false
+
   - name: gate-murano-dashboard-requirements
     voting: false
 
@@ -2430,6 +2433,7 @@ projects:
     check:
       - gate-python-muranoclient-requirements
       - gate-murano-devstack-dsvm
+      - check-muranoclient-dsvm-functional
     gate:
       - gate-murano-devstack-dsvm