From: Fatih Degirmenci Date: Thu, 20 Sep 2018 13:38:12 +0000 (+0200) Subject: openci: Change event publisher and selector X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=9eb9d2d19e1f3d0f8945dc76192c57f4f71cde4b;p=ci-management.git openci: Change event publisher and selector 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 --- diff --git a/jjb/openci/create-ape.sh b/jjb/openci/create-ape.sh index 3a4c8afaf..c54e0ef7e 100755 --- a/jjb/openci/create-ape.sh +++ b/jjb/openci/create-ape.sh @@ -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 < ./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 diff --git a/jjb/openci/openci-onap-daily-jobs.yaml b/jjb/openci/openci-onap-daily-jobs.yaml index d328e2530..bf6afde05 100644 --- a/jjb/openci/openci-onap-daily-jobs.yaml +++ b/jjb/openci/openci-onap-daily-jobs.yaml @@ -46,24 +46,10 @@ 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. @@ -82,14 +68,7 @@ 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: |