openci: Add skeletons for ODL autorelease and promotion jobs 31/57531/7
authorFatih Degirmenci <fdegir@gmail.com>
Thu, 17 May 2018 11:39:12 +0000 (13:39 +0200)
committerAric Gardner <agardner@linuxfoundation.org>
Thu, 17 May 2018 22:14:10 +0000 (18:14 -0400)
The jjb will be proposed to ODL Releng once it is verified on OPNFV
Jenkins.

The flow is
- ODL autorelease job publishes an ArtifactPublishedEvent to make the
availability of a new version that is tested known to the world
- ODL promote job gets triggered by a ConfidenceLevelModifiedEvent
published by OPNFV CI to promote autorelease artifact further.

The prototype doing realistic stuff will be built on top of these jobs
and
- parse the triggering event to find the location of autorelease
artifact
- download the artifact for composing ODL scenario
- run the deployment and testing of ODL scenario

Please note that this change just adds the basic structure for the jobs
to share the idea. Further changes will add triggering, message
costruction, and publishing.

Change-Id: I51d7e0cfcb5f2552fcc9ac287ed12ed70f582895
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
Signed-off-by: Trevor Bramwell <tbramwell@linuxfoundation.org>
jjb/openci/openci-odl-daily-jobs.yaml [new file with mode: 0644]

diff --git a/jjb/openci/openci-odl-daily-jobs.yaml b/jjb/openci/openci-odl-daily-jobs.yaml
new file mode 100644 (file)
index 0000000..8b53f65
--- /dev/null
@@ -0,0 +1,71 @@
+---
+- project:
+    name: openci-odl
+
+    project: '{name}'
+
+    stream:
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
+
+    jobs:
+      - 'openci-odl-autorelease-daily-{stream}'
+      - 'openci-odl-promote-daily-{stream}'
+
+# This job gets triggered manually for the demo purposes.
+#
+# In prototype, either what this job does needs to be integrated to
+# ODL autorelease job or triggered by the upstream autorelease job.
+- job-template:
+    name: 'openci-odl-autorelease-daily-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    concurrent: false
+
+    parameters:
+      - 'opnfv-build-defaults'
+
+    builders:
+      - shell: |
+          #!/bin/bash
+
+          echo "Will construct and publish an ArtifactPublishedEvent"
+
+# This job gets triggered by a ConfidenceLevelModifiedEvent published
+# by OPNFV jobs so ODL can promote the autorelease artifact even further.
+#
+# This job is created for the demo purposes and might not be there for
+# the prototype.
+- job-template:
+    name: 'openci-odl-promote-daily-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    concurrent: false
+
+    parameters:
+      - 'opnfv-build-defaults'
+
+    triggers:
+      - jms-messaging:
+          provider-name: openci.activemq
+          selector: CI_TYPE = 'custom'
+          checks:
+            - field: origin
+              expected-value: 'OPNFV'
+            - field: type
+              expected-value: 'ConfidenceLevelModifiedEvent'
+
+    builders:
+      - shell: |
+          #!/bin/bash
+
+          echo
+          echo "Triggered by an event"
+          echo "----------------------------------"
+          echo $CI_MESSAGE
+          echo "----------------------------------"
+          echo " Promoted ODL Autorelease artifact as release candidate!"