summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFatih Degirmenci <fdegir@gmail.com>2018-05-18 19:01:25 +0200
committerFatih Degirmenci <fdegir@gmail.com>2018-05-21 10:47:05 -0700
commit46838e2fe133ef4bf410ba93d9ada1deedadf779 (patch)
tree46a2738ca0bda7477bc9d33f05202ebac2635020
parentd5302d900e5cf905d6488a878c1c4bc1ba1d274d (diff)
openci: Add initial versions of prototype jobs
This change adds jobs and associated script in order to start developing the OpenCI Prototype between OPNFV, ODL, and ONAP. The created jobs are - openci-onap-autorelease-daily-master: This job constructs ArtifactPublishedEvent with fake metadata and publishes it. Jobs on OPNFV CI get triggered, composing fake k8-nosdn-onap scenario and testing. In the end, OPNFV CI publishes ConfidenceLevelModifiedEvent which can then be used by ONAP to promote their artifacts further. - openci-onap-promote-daily-master: This job gets triggered by ConfidenceLevelModifiedEvent published by OPNFV CI and logs the triggering event to console. You can see the working jobs on OPNFV Jenkins. https://build.opnfv.org/ci/view/OpenCI/ This change adds the jobs listed under ONAP section on above page. Issue-ID: CIMAN-161 Change-Id: If290b4b81631019fb81af75b3319fa6969e6a0c7 Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
-rwxr-xr-xjjb/openci/create-ape.sh29
-rw-r--r--jjb/openci/openci-onap-daily-jobs.yaml103
2 files changed, 132 insertions, 0 deletions
diff --git a/jjb/openci/create-ape.sh b/jjb/openci/create-ape.sh
new file mode 100755
index 000000000..3a4c8afaf
--- /dev/null
+++ b/jjb/openci/create-ape.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -o errexit
+set -o nounset
+set -o pipefail
+
+# This script creates ArtifactPublishedEvent (APE)
+# The JMS Messaging Plugin doesn't handle the newlines well so the eventBody is
+# constructed on a single line. This is something that needs to be fixed properly
+
+cat << EOF > $WORKSPACE/event.properties
+type=$PUBLISH_EVENT_TYPE
+origin=$PUBLISH_EVENT_ORIGIN
+eventBody="{ 'type': '$PUBLISH_EVENT_TYPE', 'id': '$(uuidgen)', \
+'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$PUBLISH_EVENT_ORIGIN', \
+'buildUrl': '$BUILD_URL', 'branch': 'master', 'artifactLocation': '$ARTIFACT_LOCATION', \
+'confidenceLevel': { $CONFIDENCE_LEVEL } }"
+EOF
+echo "Constructed $PUBLISH_EVENT_TYPE"
+echo "--------------------------------------------"
+cat $WORKSPACE/event.properties
+echo "--------------------------------------------"
diff --git a/jjb/openci/openci-onap-daily-jobs.yaml b/jjb/openci/openci-onap-daily-jobs.yaml
new file mode 100644
index 000000000..d328e2530
--- /dev/null
+++ b/jjb/openci/openci-onap-daily-jobs.yaml
@@ -0,0 +1,103 @@
+---
+- project:
+ name: openci-onap
+
+ project: '{name}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+
+ jobs:
+ - 'openci-onap-autorelease-daily-{stream}'
+ - 'openci-onap-promote-daily-{stream}'
+
+# This job gets triggered manually for the demo purposes.
+#
+# In prototype, either what this job does needs to be integrated to
+# ONAP autorelease job or triggered by the upstream autorelease job.
+- job-template:
+ name: 'openci-onap-autorelease-daily-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ build-node: ubuntu1604-builder-4c-4g
+
+ parameters:
+ - string:
+ name: PUBLISH_EVENT_TYPE
+ default: ArtifactPublishedEvent
+ description: 'The type of the event this job publishes'
+ - string:
+ name: PUBLISH_EVENT_ORIGIN
+ default: ONAP
+ description: 'Originating community'
+ - string:
+ name: ARTIFACT_LOCATION
+ default: https://url/to/artifact/on/onap/nexus/$BUILD_NUMBER
+ description: 'The location of the artifact on ONAP Nexus'
+ - string:
+ name: CONFIDENCE_LEVEL
+ default: "'autorelease': 'SUCCESS'"
+ description: 'The confidence level the published artifact gained'
+
+ builders:
+ # first build step in the job executes create-ape.sh to construct the
+ # ArtifactPublishedEvent (ape)
+ - shell:
+ !include-raw-escape: ./create-ape.sh
+ # constructed event gets injected into environment so JME Messaging
+ # plugin can publish the event and its properties in post-build step
+ - inject:
+ properties-file: "$WORKSPACE/event.properties"
+
+ publishers:
+ - jms-messaging:
+ provider-name: openci.activemq
+ msg-type: Custom
+ msg-props: |
+ type=$type
+ origin=$origin
+ msg-content:
+ $eventBody
+
+# This job gets triggered by a ConfidenceLevelModifiedEvent published
+# by OPNFV jobs so ONAP 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-onap-promote-daily-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ build-node: ubuntu1604-builder-4c-4g
+
+ triggers:
+ - jms-messaging:
+ provider-name: openci.activemq
+ selector: CI_TYPE = 'custom'
+ checks:
+ - field: origin
+ expected-value: 'OPNFV'
+ - field: type
+ expected-value: 'ConfidenceLevelModifiedEvent'
+ - field: scenario
+ expected-value: 'k8-nosdn-onap'
+
+ builders:
+ - shell: |
+ #!/bin/bash
+
+ echo
+ echo "Triggered by $type"
+ echo "----------------------------------"
+ echo $CI_MESSAGE
+ echo "----------------------------------"
+ echo " Promoted ONAP Autorelease artifact as release candidate!"