openci: Change event publisher and selector 27/68127/1
authorFatih Degirmenci <fdegir@gmail.com>
Thu, 20 Sep 2018 13:38:12 +0000 (15:38 +0200)
committerFatih Degirmenci <fdegir@gmail.com>
Thu, 20 Sep 2018 13:41:27 +0000 (15:41 +0200)
This change stops using JMS Messaging for publishing events
and switches to Python utility for publishing events created
by Yolanda.

Apart from switching to publisher, the filtering of events
is switched to selector instead of message fields due to issues
with the JSONPath.

These jobs will be used during ONS Europe session.

Issue-ID: CIMAN-161
Change-Id: I3f9822cd0cbdae58bf399fb1ce30048eda32ffae
Signed-off-by: Fatih Degirmenci <fdegir@gmail.com>
jjb/openci/create-ape.sh
jjb/openci/openci-onap-daily-jobs.yaml

index 3a4c8af..c54e0ef 100755 (executable)
@@ -11,19 +11,37 @@ set -o errexit
 set -o nounset
 set -o pipefail
 
+# workaround for https://github.com/pypa/virtualenv/issues/1029
+export PS1=${PS1:-}
+
 # 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 } }"
+git clone https://gitlab.openci.io/openci/prototypes.git
+cd prototypes/federated-cicd
+virtualenv openci_publish
+cd openci_publish
+source bin/activate
+python setup.py install
+
+# generate event body
+cat <<EOF > ./json_body.txt
+{
+    "type": "$PUBLISH_EVENT_TYPE",
+    "id": "$(uuidgen)",
+    "time": "$(date -u +%Y-%m-%d_%H:%M:%SUTC)",
+    "buildUrl": "$BUILD_URL",
+    "branch": "master",
+    "origin": "$PUBLISH_EVENT_ORIGIN",
+    "artifactLocation": "$ARTIFACT_LOCATION",
+    "confidenceLevel": "$CONFIDENCE_LEVEL"
+}
 EOF
+
+python openci_publish -H 129.192.69.55 -U ${ACTIVEMQ_USER} -p ${ACTIVEMQ_PASSWORD} -n openci.prototype -B ./json_body.txt
+
 echo "Constructed $PUBLISH_EVENT_TYPE"
 echo "--------------------------------------------"
-cat $WORKSPACE/event.properties
+cat  ./json_body.txt
 echo "--------------------------------------------"
+
+deactivate
index d328e25..bf6afde 100644 (file)
           description: 'The confidence level the published artifact gained'
 
     builders:
-      # first build step in the job executes create-ape.sh to construct the
-      # ArtifactPublishedEvent (ape)
+      # this build step in the job executes create-ape.sh to construct the
+      # ArtifactPublishedEvent (ape) and publish it using the python utility
       - 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.
     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'
+          selector: JMSType = 'ConfidenceLevelModifiedEvent' and JMSOrigin = 'OPNFV' and JMSScenario = 'k8-nosdn-onap-ha'
 
     builders:
       - shell: |