updating mininet jobs to use template

Change-Id: I8c0f13f5e70b52a5ada63c2e8fdb8b3b78bbedf8
diff --git a/jobs.yaml b/jobs.yaml
index eb7490c..0c4897a 100644
--- a/jobs.yaml
+++ b/jobs.yaml
@@ -1,165 +1,65 @@
-# Mininet - Precise 32-bit
-- job:
-    name: mininet-precise32server
-    description: |
-        Ubuntu 12.04 LTS 32-bit VM build
+- defaults:
+    name: global
     project-type: freestyle
-    block-downstream: false
-    triggers:
-      - timed: "@midnight"
-    builders:
-      - shell: "~mininet/mininet/util/vm/build.py -v --test sanity precise32server"
-    publishers:
-      - trigger-parameterized-builds:
-          - project: mininet-precise32server-test, 
-            condition: SUCCESS
-            predefined-parameters: dir=$WORKSPACE
+    description: |
+        <p>This is an auto-generated job.</p>
+        <p>
+        To add or modify a job, look for the "vm-build" project on https://gerrit.onlab.us
+        </p>
     logrotate:
         daysToKeep: 3
         numToKeep: 3
         artifactDaysToKeep: -1
         artifactNumToKeep: -1
 
-- job:
-    name: mininet-precise32server-test
-    description: |
-        Test of Ubuntu 14.04 LTS 32-bit VM
-    project-type: freestyle
-    block-downstream: false
-    builders:
-      - shell: "echo $dir; ~mininet/mininet/util/vm/build.py -v --test core --image $dir/*/*.vmdk"
+# ---- Mininet Build and Test Jobs ----
+- project:
+    name: mininet-build
+    jobs:
+        - 'mininet-{flavor}':
+            flavor: 'precise32server'
+        - 'mininet-{flavor}':
+            flavor: 'precise64server'
+        - 'mininet-{flavor}':
+            flavor: 'trusty32server'
+        - 'mininet-{flavor}':
+            flavor: 'trusty64server'
+        - 'mininet-{flavor}':
+            flavor: 'utopic32server'
+        - 'mininet-{flavor}':
+            flavor: 'utopic64server'
 
-# Mininet - Precise 64-bit
-- job:
-    name: mininet-precise64server
-    description: |
-        Ubuntu 12.04 LTS 64-bit VM build
-    project-type: freestyle
-    block-downstream: false
+- project:
+    name: mininet-test
+    jobs:
+        - 'mininet-{flavor}-test':
+            flavor: 'precise32server'
+        - 'mininet-{flavor}-test':
+            flavor: 'precise64server'
+        - 'mininet-{flavor}-test':
+            flavor: 'trusty32server'
+        - 'mininet-{flavor}-test':
+            flavor: 'trusty64server'
+        - 'mininet-{flavor}-test':
+            flavor: 'utopic32server'
+        - 'mininet-{flavor}-test':
+            flavor: 'utopic64server'
+
+- job-template:
+    name: 'mininet-{flavor}'
+    block-downstream: true
     triggers:
       - timed: "@midnight"
     builders:
-      - shell: "~mininet/mininet/util/vm/build.py -v --test sanity precise64server"
+      - shell: "~mininet/mininet/util/vm/build.py -v --test sanity {flavor}"
     publishers:
       - trigger-parameterized-builds:
-          - project: mininet-precise64server-test, 
-            condition: SUCCESS
-            predefined-parameters: dir=$WORKSPACE
-- job:
-    name: mininet-precise64server-test
-    description: |
-       Test of Ubuntu 14.10 LTS 64-bit VM
-    project-type: freestyle
-    block-downstream: false
-    builders:
-      - shell: "echo $dir; ~mininet/mininet/util/vm/build.py -v --test core --image $dir/*/*.vmdk"
-# Mininet - Trusty 32-bit
-- job:
-    name: mininet-trusty32server
-    description: |
-       Ubuntu 14.04 LTS 32-bit VM build
-    project-type: freestyle
-    block-downstream: false
-    triggers:
-      - timed: "@midnight"
-    builders:
-      - shell: "~mininet/mininet/util/vm/build.py -v --test sanity trusty32server"
-    publishers:
-      - trigger-parameterized-builds:
-          - project: mininet-trusty32server-test, mininet-trusty32server-test-full
+          - project: 'mininet-{flavor}-test'
             condition: SUCCESS
             predefined-parameters: dir=$WORKSPACE
 
-- job:
-    name: mininet-trusty32server-test
-    description: |
-        Test of Ubuntu 14.04 LTS 32-bit VM
-    project-type: freestyle
-    block-downstream: false
-    builders:
-      - shell: "echo $dir; ~mininet/mininet/util/vm/build.py -v --test core --image $dir/*/*.vmdk"
-
-- job:
-    name: mininet-trusty32server-test-full
-    description: |
-        Test of Ubuntu 14.04 LTS 32-bit VM
-    project-type: freestyle
-    block-downstream: false
-    builders:
-      - shell: "echo $dir; ~mininet/mininet/util/vm/build.py -v --test core --test examplesfull --test walkthrough --image $dir/*/*.vmdk"
-
-# Mininet - Trusty 64-bit
-- job:
-    name: mininet-trusty64server
-    description: |
-        Ubuntu 14.04 LTS 64-bit VM build
-    project-type: freestyle
-    block-downstream: false
-    triggers:
-      - timed: "@midnight"
-    builders:
-      - shell: "~mininet/mininet/util/vm/build.py -v --test sanity trusty64server"
-    publishers:
-      - trigger-parameterized-builds:
-          - project: mininet-trusty64server-test, 
-            condition: SUCCESS
-            predefined-parameters: dir=$WORKSPACE
-- job:
-    name: mininet-trusty64server-test
-    description: |
-        Test of Ubuntu 14.04 LTS 64-bit VM
-    project-type: freestyle
-    block-downstream: false
-    builders:
-      - shell: "echo $dir; ~mininet/mininet/util/vm/build.py -v --test core --image $dir/*/*.vmdk"
-
-# Mininet - Utopic 32-bit
-- job:
-    name: mininet-utopic32server
-    description: |
-        Ubuntu 14.10 LTS 32-bit VM build
-    project-type: freestyle
-    block-downstream: false
-    triggers:
-      - timed: "@midnight"
-    builders:
-      - shell: "~mininet/mininet/util/vm/build.py -v --test sanity utopic32server"
-    publishers:
-      - trigger-parameterized-builds:
-          - project: mininet-utopic32server-test, 
-            condition: SUCCESS
-            predefined-parameters: dir=$WORKSPACE
-- job:
-    name: mininet-utopic32server-test
-    description: |
-        Test of Ubuntu 14.04 LTS 32-bit VM
-    project-type: freestyle
-    block-downstream: false
-    builders:
-      - shell: "echo $dir; ~mininet/mininet/util/vm/build.py -v --test core --image $dir/*/*.vmdk"
-
-# Mininet - Utopic 64-bit
-- job:
-    name: mininet-utopic64server
-    description: |
-        Ubuntu 14.10 LTS 64-bit VM build
-    project-type: freestyle
-    block-downstream: false
-    triggers:
-      - timed: "@midnight"
-    builders:
-      - shell: "~mininet/mininet/util/vm/build.py -v --test sanity utopic64server"
-    publishers:
-      - trigger-parameterized-builds:
-          - project: mininet-utopic64server-test, 
-            condition: SUCCESS
-            predefined-parameters: dir=$WORKSPACE
-- job:
-    name: mininet-utopic64server-test
-    description: |
-        Test of Ubuntu 14.10 LTS 64-bit VM
-    project-type: freestyle
-    block-downstream: false
+- job-template:
+    name: 'mininet-{flavor}-test'
     builders:
       - shell: "echo $dir; ~mininet/mininet/util/vm/build.py -v --test core --image $dir/*/*.vmdk"
 
@@ -170,7 +70,6 @@
         This job updates Jenkins jobs automatically when updates are make to the YAML file.
 
         To add or modify a job, look for the "vm-build" project on https://gerrit.onlab.us
-    project-type: freestyle
     scm:
       - git:
           url: ssh://jenkins@gerrit.onlab.us:29418/vm-build
@@ -197,7 +96,6 @@
     name: update-jenkins-verify
     description: |
         This job is used to verify new Jenkins jobs using jenkins-job test before they are accepted in Gerrit.
-    project-type: freestyle
     scm:
       - git:
           url: ssh://jenkins@gerrit.onlab.us:29418/vm-build