Added new Jenkinsfiles for OMEC, github triggers

Change-Id: Iddfdccaebd7f13d2031b3536cf172b8ef35f73f5
diff --git a/jjb/cord-macros.yaml b/jjb/cord-macros.yaml
index 68b057d..bcd6f51 100644
--- a/jjb/cord-macros.yaml
+++ b/jjb/cord-macros.yaml
@@ -120,6 +120,20 @@
                 - compare-type: REG_EXP
                   pattern: '{file-include-regexp}'
 
+# trigger on GitHub pull request with lables in 'white-list-labels'
+
+- trigger:
+    name: cord-infra-github-pr-label-trigger
+    triggers:
+      - github-pull-request:
+          github-hooks: 'true'
+          white-list-labels: '{obj:github_label_whitelist}'
+          black-list-labels: '{obj:github_label_blacklist}'
+          triggered-status: 'Triggered on CORD Jenkins'
+          success-status: 'Success on CORD Jenkins'
+          failure-status: 'Failure on CORD Jenkins'
+          error-status: 'Error on CORD Jenkins'
+
 # wrapper to provide pypi config file
 
 - wrapper:
@@ -141,3 +155,6 @@
               target: '$HOME/.pypirc'
             - file-id: pipconf
               target: '$HOME/.config/pip/pip.conf'
+
+
+
diff --git a/jjb/license-check.yaml b/jjb/license-check.yaml
index 830a36c..79bc542 100644
--- a/jjb/license-check.yaml
+++ b/jjb/license-check.yaml
@@ -7,14 +7,14 @@
     project-name: '{name}'
 
     jobs:
-      - 'license-check'
+      - 'blackduck-license-check'
 
 - job-template:
-    id: 'license-check'
+    id: 'blackduck-license-check'
     name: 'omec-license'
 
     description: |
-                  <!-- Managed by Jenkins Job Builder -->
+                  Created by {id} job-template from ci-management/jjb/license-check.yaml<br />
                   Copyright (c) 2018 Open Networking Foundation (ONF)
 
     properties:
diff --git a/jjb/omec-ci.yaml b/jjb/omec-ci.yaml
index 8f10e43..4e542e4 100644
--- a/jjb/omec-ci.yaml
+++ b/jjb/omec-ci.yaml
@@ -1,26 +1,77 @@
 ---
-# omec-ci job
+# omec-ci jobs
 
+# for ngic-rtc
 - project:
-    name: omec-ci
-    project-name: '{name}'
+    name: ngic-rtc
+    project: '{name}'
 
     jobs:
-      - 'omec-ci'
+      - 'omec-ngic-rtc-test'
+
+- job-group:
+    name: 'omec-ngic-rtc-test'
+    jobs:
+      - 'omec-pipeline':
+          pipeline-file: 'Jenkinsfile-omec-install-ngic-rtc-vnf.groovy'
+      - 'omec-tc1':
+          dependency-jobs: 'omec_ngic-rtc_pipeline'
+      - 'omec-tc2':
+          dependency-jobs: 'omec_ngic-rtc_tc1'
+
+# for c3po
+- project:
+    name: c3po
+    project: '{name}'
+
+    jobs:
+      - 'omec-c3po-test'
+
+- job-group:
+    name: 'omec-c3po-test'
+    jobs:
+      - 'omec-pipeline':
+          pipeline-file: 'Jenkinsfile-omec-install-c3po-vnf.groovy'
+      - 'omec-tc1':
+          dependency-jobs: 'omec_c3po_pipeline'
+      - 'omec-tc2':
+          dependency-jobs: 'omec_c3po_tc1'
+
+# for openmme
+- project:
+    name: openmme
+    project: '{name}'
+
+    jobs:
+      - 'omec-openmme-test'
+
+- job-group:
+    name: 'omec-openmme-test'
+    jobs:
+      - 'omec-pipeline':
+          pipeline-file: 'Jenkinsfile-omec-install-openmme-vnf.groovy'
+      - 'omec-tc1':
+          dependency-jobs: 'omec_openmme_pipeline'
+      - 'omec-tc2':
+          dependency-jobs: 'omec_openmme_tc1'
+
+# build/install pipeline job
 
 - job-template:
-    id: 'omec-ci'
-    name: omec-ci
+    id: 'omec-pipeline'
+    name: 'omec_{project}_pipeline'
     project-type: pipeline
 
     description: |
       <!-- Managed by Jenkins Job Builder -->
-      Created by {id} job-template from ci-management/jjb/omec-ci.yaml  <br /><br />
+      Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br />
 
     properties:
       - cord-infra-properties:
           build-days-to-keep: '{build-days-to-keep}'
           artifact-num-to-keep: '{artifact-num-to-keep}'
+      - github:
+          url: 'https://github.com/omec-project/{project}'
 
     wrappers:
       - lf-infra-wrappers:
@@ -36,17 +87,135 @@
       - string:
          name: branch
          default: 'master'
-         description: ''
+         description: 'Git branch to use'
 
       - string:
          name: notificationEmail
          default: 'omecproject-support@opennetworking.org'
          description: ''
 
+    triggers:
+      - cord-infra-github-pr-label-trigger:
+          github_label_whitelist:
+            - 'ok-to-test'
+          github_label_blacklist:
+            - 'needs-ok-to-test'
+
     concurrent: true
 
     pipeline-scm:
-      script-path: 'Jenkinsfile-build-vms.groovy'
+      script-path: '{pipeline-file}'
+      scm:
+        - git:
+           url: 'https://github.com/omec-project/omec-project-ci'
+           branches:
+             - 'master'
+
+
+# tests
+
+- job-template:
+    id: 'omec-tc1'
+    name: 'omec_{project}_tc1'
+    project-type: pipeline
+
+    description: |
+      <!-- Managed by Jenkins Job Builder -->
+      Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br />
+
+    properties:
+      - cord-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+          artifact-num-to-keep: '{artifact-num-to-keep}'
+      - github:
+          url: 'https://github.com/omec-project/{project}'
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: '{build-timeout}'
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+    parameters:
+      - string:
+         name: TestNodeName
+         default: 'intel'
+         description: 'Name of the Jenkins node to run the job on'
+
+      - string:
+         name: branch
+         default: 'master'
+         description: 'Git branch to use'
+
+      - string:
+         name: notificationEmail
+         default: 'omecproject-support@opennetworking.org'
+         description: ''
+
+    triggers:
+      - cord-infra-github-pr-label-trigger:
+          github_label_whitelist:
+            - 'ok-to-test'
+          github_label_blacklist:
+            - 'needs-ok-to-test'
+
+    concurrent: true
+
+    pipeline-scm:
+      script-path: 'Jenkinsfile-omec-test-TC1.groovy'
+      scm:
+        - git:
+           url: 'https://github.com/omec-project/omec-project-ci'
+           branches:
+             - 'master'
+
+- job-template:
+    id: 'omec-tc2'
+    name: 'omec_{project}_tc2'
+    project-type: pipeline
+
+    description: |
+      <!-- Managed by Jenkins Job Builder -->
+      Created by {id} job-template from ci-management/jjb/omec-ci.yaml<br />
+
+    properties:
+      - cord-infra-properties:
+          build-days-to-keep: '{build-days-to-keep}'
+          artifact-num-to-keep: '{artifact-num-to-keep}'
+      - github:
+          url: 'https://github.com/omec-project/{project}'
+
+    wrappers:
+      - lf-infra-wrappers:
+          build-timeout: '{build-timeout}'
+          jenkins-ssh-credential: '{jenkins-ssh-credential}'
+
+    parameters:
+      - string:
+         name: TestNodeName
+         default: 'intel'
+         description: 'Name of the Jenkins node to run the job on'
+
+      - string:
+         name: branch
+         default: 'master'
+         description: 'Git branch to use'
+
+      - string:
+         name: notificationEmail
+         default: 'omecproject-support@opennetworking.org'
+         description: ''
+
+    triggers:
+      - cord-infra-github-pr-label-trigger:
+          github_label_whitelist:
+            - 'ok-to-test'
+          github_label_blacklist:
+            - 'needs-ok-to-test'
+
+    concurrent: true
+
+    pipeline-scm:
+      script-path: 'Jenkinsfile-omec-test-TC2.groovy'
       scm:
         - git:
            url: 'https://github.com/omec-project/omec-project-ci'