From 5dcdbca2432e90bdcbb54383b61132e3c1d1b123 Mon Sep 17 00:00:00 2001
From: Ryota MIBU <r-mibu@cq.jp.nec.com>
Date: Wed, 24 Jan 2018 11:29:28 +0900
Subject: [doctor] fix node-label setting

Current doctor verify jobs need to be run on relevant pods which are
specified by slave-label. But, after multijob introduced, the parameter
is not passed to children jobs. Also, 'phase' of project is misleading,
as it isn't multijob's phase.

This patch makes sure each doctor job run on correct pod by updating
node label rule for doctor pod to 'doctor-{installer}-{arch}'.

This patch also merges doctor slave parameter definitions into one,
and deletes unnecessary setting where default are set.

Change-Id: Ic9bf218ae7fb4f9866b510efd1e0ccd19277b78e
Signed-off-by: Ryota MIBU <r-mibu@cq.jp.nec.com>
---
 jjb/doctor/doctor.yml       | 61 +++++++++++----------------------------------
 jjb/global/slave-params.yml | 34 ++++++-------------------
 2 files changed, 21 insertions(+), 74 deletions(-)

(limited to 'jjb')

diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml
index 64194d136..d8f43c9b2 100644
--- a/jjb/doctor/doctor.yml
+++ b/jjb/doctor/doctor.yml
@@ -17,19 +17,13 @@
           disabled: false
 
     installer:
-      - apex:
-          slave-label: 'doctor-apex-verify'
-      - fuel:
-          slave-label: 'doctor-fuel-verify'
-    # - joid:
-    #     slave-label: 'ool-virtual3'
-    #     pod: 'ool-virtual3'
+      - 'apex'
+      - 'fuel'
+    # - 'joid'
 
-    phase:
-      - 'build-x86_64':
-          slave-label: 'doctor-{installer}-verify'
-      - 'build-aarch64':
-          slave-label: 'doctor-{installer}-{phase}-verify'
+    arch:
+      - 'x86_64'
+      - 'aarch64'
 
     inspector:
       - 'sample'
@@ -41,30 +35,25 @@
 
     exclude:
       - installer: 'apex'
-        phase: 'build-aarch64'
+        arch: 'aarch64'
 
     jobs:
       - 'doctor-verify-{stream}'
       - 'doctor-verify-unit-test-{stream}'
       - 'doctor-{task}-{inspector}-{stream}'
-      - 'doctor-{task}-{installer}-{inspector}-{phase}-{stream}'
+      - 'doctor-{task}-{installer}-{inspector}-{arch}-{stream}'
 
 - job-template:
     name: 'doctor-verify-{stream}'
-
     disabled: '{obj:disabled}'
-
     project-type: 'multijob'
-
     parameters:
       - project-parameter:
           project: '{project}'
           branch: '{branch}'
       - 'opnfv-build-ubuntu-defaults'
-
     scm:
       - git-scm-gerrit
-
     triggers:
       - gerrit:
           server-name: 'gerrit.opnfv.org'
@@ -87,7 +76,6 @@
               file-paths:
                 - compare-type: ANT
                   pattern: 'doctor_tests/**'
-
     builders:
       - shell: |
          #!/bin/bash
@@ -99,16 +87,12 @@
           execution-type: PARALLEL
           projects:
             - name: 'doctor-verify-unit-test-{stream}'
-              current-parameters: false
               predefined-parameters: |
                 GERRIT_BRANCH=$GERRIT_BRANCH
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-              git-revision: true
-              node-parameters: false
               kill-phase-on: FAILURE
-              abort-all-job: false
 
 - job-template:
     name: 'doctor-verify-unit-test-{stream}'
@@ -131,20 +115,15 @@
 
 - job-template:
     name: 'doctor-{task}-{inspector}-{stream}'
-
     disabled: '{obj:disabled}'
-
     project-type: 'multijob'
-
     scm:
       - git-scm-gerrit
-
     triggers:
       - '{auto-trigger-name}':
           project: '{project}'
           branch: '{branch}'
           files: 'doctor_tests/**'
-
     builders:
       - shell: |
          #!/bin/bash
@@ -155,52 +134,40 @@
           name: 'doctor-verify-apex-inspector'
           execution-type: PARALLEL
           projects:
-            - name: 'doctor-{task}-apex-{inspector}-build-x86_64-{stream}'
-              current-parameters: false
+            - name: 'doctor-{task}-apex-{inspector}-x86_64-{stream}'
               predefined-parameters: |
                 GERRIT_BRANCH=$GERRIT_BRANCH
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-              git-revision: true
-              node-parameters: false
               kill-phase-on: FAILURE
-              abort-all-job: false
       - multijob:
           name: 'doctor-verify-fuel-inspector'
           execution-type: PARALLEL
           projects:
-            - name: 'doctor-{task}-fuel-{inspector}-build-x86_64-{stream}'
-              current-parameters: false
+            - name: 'doctor-{task}-fuel-{inspector}-x86_64-{stream}'
               predefined-parameters: |
                 GERRIT_BRANCH=$GERRIT_BRANCH
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-              git-revision: true
-              node-parameters: false
               kill-phase-on: FAILURE
-              abort-all-job: false
       - multijob:
           name: 'doctor-verify-fuel-inspector'
           execution-type: PARALLEL
           projects:
-            - name: 'doctor-{task}-fuel-{inspector}-build-aarch64-{stream}'
-              current-parameters: false
+            - name: 'doctor-{task}-fuel-{inspector}-aarch64-{stream}'
               predefined-parameters: |
                 GERRIT_BRANCH=$GERRIT_BRANCH
                 GERRIT_REFSPEC=$GERRIT_REFSPEC
                 GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
                 GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
-              git-revision: true
-              node-parameters: false
               kill-phase-on: FAILURE
-              abort-all-job: false
 
 - job-template:
-    name: 'doctor-{task}-{installer}-{inspector}-{phase}-{stream}'
+    name: 'doctor-{task}-{installer}-{inspector}-{arch}-{stream}'
     disabled: '{obj:disabled}'
-    node: '{slave-label}'
+    node: 'doctor-{installer}-{arch}'
     wrappers:
       - ssh-agent-wrapper
       - build-timeout:
@@ -210,7 +177,7 @@
           project: '{project}'
           branch: '{branch}'
       - '{installer}-defaults'
-      - '{slave-label}-defaults'
+      - 'doctor-slave-parameter'
       - 'doctor-parameter'
       - 'doctor-functest-parameter'
     scm:
diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml
index 5c1c7df8f..4902dcfc5 100644
--- a/jjb/global/slave-params.yml
+++ b/jjb/global/slave-params.yml
@@ -1018,15 +1018,19 @@
           description: 'Git URL to use on this Jenkins Slave'
 
 - parameter:
-    name: 'doctor-defaults'
+    name: 'doctor-slave-parameter'
     parameters:
       - node:
           name: SLAVE_NAME
           description: 'Slave name on Jenkins'
           allowed-slaves:
-            - '{default-slave}'
+            - 'doctor-apex-x86_64'
+            - 'doctor-fuel-x86_64'
+            - 'doctor-fuel-aarch64'
+            - 'doctor-joid-x86_64'
+            - 'not-specified'
           default-slaves:
-            - '{default-slave}'
+            - 'not-specified'
       - string:
           name: GIT_BASE
           default: https://gerrit.opnfv.org/gerrit/$PROJECT
@@ -1036,30 +1040,6 @@
           default: /root/.ssh/id_rsa
           description: 'SSH key to be used'
 
-- parameter:
-    name: 'doctor-apex-verify-defaults'
-    parameters:
-      - 'doctor-defaults':
-          default-slave: 'doctor-apex-verify'
-
-- parameter:
-    name: 'doctor-fuel-verify-defaults'
-    parameters:
-      - 'doctor-defaults':
-          default-slave: 'doctor-fuel-verify'
-
-- parameter:
-    name: 'doctor-fuel-build-aarch64-verify-defaults'
-    parameters:
-      - 'doctor-defaults':
-          default-slave: 'doctor-fuel-build-aarch64-verify'
-
-- parameter:
-    name: 'doctor-joid-verify-defaults'
-    parameters:
-      - 'doctor-defaults':
-          default-slave: 'doctor-joid-verify'
-
 - parameter:
     name: 'multisite-virtual-defaults'
     parameters:
-- 
cgit