Merge "openci: Add OPNFV scenario composition and test jobs for the demo"
authorFatih Degirmenci <fdegir@gmail.com>
Fri, 18 May 2018 16:10:37 +0000 (16:10 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Fri, 18 May 2018 16:10:37 +0000 (16:10 +0000)
jjb/openci/create-cde.sh [new file with mode: 0755]
jjb/openci/create-clme.sh [new file with mode: 0755]
jjb/openci/openci-opnfv-daily-jobs.yaml [new file with mode: 0644]

diff --git a/jjb/openci/create-cde.sh b/jjb/openci/create-cde.sh
new file mode 100755 (executable)
index 0000000..ac16ab0
--- /dev/null
@@ -0,0 +1,27 @@
+#!/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 CompositionDefinedEvent
+# 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
+scenario=$DEPLOY_SCENARIO
+eventBody="{ 'type': '$EVENT_TYPE', 'id': '$(uuidgen)', 'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$EVENT_ORIGIN', 'buildUrl': '$BUILD_URL', 'branch': 'master', 'compositionName': '$DEPLOY_SCENARIO', 'compositionMetadataUrl': '$SCENARIO_METADATA' }"
+EOF
+echo "Constructed $EVENT_TYPE"
+echo "--------------------------------------------"
+cat $WORKSPACE/event.properties
+echo "--------------------------------------------"
diff --git a/jjb/openci/create-clme.sh b/jjb/openci/create-clme.sh
new file mode 100755 (executable)
index 0000000..85dd06d
--- /dev/null
@@ -0,0 +1,27 @@
+#!/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 ConfidenceLevelModifiedEvent
+# 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
+scenario=$DEPLOY_SCENARIO
+eventBody="{ 'type': '$EVENT_TYPE', 'id': '$(uuidgen)', 'time': '$(date -u +%Y-%m-%d_%H:%M:%SUTC)', 'origin': '$EVENT_ORIGIN', 'buildUrl': '$BUILD_URL', 'branch': 'master', 'compositionName': '$DEPLOY_SCENARIO', 'compositionMetadataUrl': '$SCENARIO_METADATA', 'confidenceLevel': { $CONFIDENCE_LEVEL } }"
+EOF
+echo "Constructed $EVENT_TYPE"
+echo "--------------------------------------------"
+cat $WORKSPACE/event.properties
+echo "--------------------------------------------"
diff --git a/jjb/openci/openci-opnfv-daily-jobs.yaml b/jjb/openci/openci-opnfv-daily-jobs.yaml
new file mode 100644 (file)
index 0000000..e896149
--- /dev/null
@@ -0,0 +1,148 @@
+---
+- project:
+    name: openci-opnfv
+
+    project: '{name}'
+
+    stream:
+      - master:
+          branch: '{stream}'
+          gs-pathname: ''
+          disabled: false
+
+    scenario:
+      - 'os-odl-nofeature-ha':
+          origin: ODL
+      - 'k8-nosdn-onap-ha':
+          origin: ONAP
+
+    jobs:
+      - 'openci-opnfv-{scenario}-compose-daily-{stream}'
+      - 'openci-opnfv-{scenario}-test-daily-{stream}'
+
+- job-template:
+    name: 'openci-opnfv-{scenario}-compose-daily-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    concurrent: false
+
+    parameters:
+      - string:
+          name: PUBLISH_EVENT_TYPE
+          default: CompositionDefinedEvent
+          description: 'The type of the event this job publishes'
+      - string:
+          name: PUBLISH_EVENT_ORIGIN
+          default: OPNFV
+          description: 'Originating community'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{scenario}'
+          description: 'The scenario that is composed'
+      - string:
+          name: SCENARIO_METADATA_LOCATION
+          default: https://url/to/scenario/metadata/on/opnfv/artifact/repo/$BUILD_NUMBER
+          description: 'The location of the scenario metadata'
+      - 'opnfv-build-defaults'
+
+    triggers:
+      - jms-messaging:
+          provider-name: openci.activemq
+          selector: CI_TYPE = 'custom'
+          checks:
+            - field: origin
+              expected-value: '{origin}'
+            - field: type
+              expected-value: 'ArtifactPublishedEvent'
+
+    builders:
+      - shell: |
+          #!/bin/bash
+
+          echo
+          echo "Triggered by $type"
+          echo "----------------------------------"
+          echo $CI_MESSAGE
+          echo "----------------------------------"
+      - shell:
+          !include-raw-escape: ./create-cde.sh
+      - 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
+
+- job-template:
+    name: 'openci-opnfv-{scenario}-test-daily-{stream}'
+
+    disabled: '{obj:disabled}'
+
+    concurrent: false
+
+    parameters:
+      - string:
+          name: PUBLISH_EVENT_TYPE
+          default: ConfidenceLevelModifiedEvent
+          description: 'The type of the event this job publishes'
+      - string:
+          name: PUBLISH_EVENT_ORIGIN
+          default: OPNFV
+          description: 'Originating community'
+      - string:
+          name: DEPLOY_SCENARIO
+          default: '{scenario}'
+          description: 'The scenario that is composed'
+      - string:
+          name: SCENARIO_METADATA_LOCATION
+          default: https://url/to/scenario/metadata/on/opnfv/artifact/repo/$BUILD_NUMBER
+          description: 'The location of the scenario metadata'
+      - string:
+          name: CONFIDENCE_LEVEL
+          default: "'opnfvdaily': 'SUCCESS'"
+          description: 'The confidence level the published artifact gained'
+      - 'opnfv-build-defaults'
+
+    triggers:
+      - jms-messaging:
+          provider-name: openci.activemq
+          selector: CI_TYPE = 'custom'
+          checks:
+            - field: origin
+              expected-value: 'OPNFV'
+            - field: type
+              expected-value: 'CompositionDefinedEvent'
+            - field: scenario
+              expected-value: '{scenario}'
+
+    builders:
+      - shell: |
+          #!/bin/bash
+
+          echo
+          echo "Triggered by $type"
+          echo "----------------------------------"
+          echo $CI_MESSAGE
+          echo "----------------------------------"
+      - shell:
+          !include-raw-escape: ./create-clme.sh
+      - inject:
+          properties-file: "$WORKSPACE/event.properties"
+
+    publishers:
+      - jms-messaging:
+          provider-name: openci.activemq
+          msg-type: Custom
+          msg-props: |
+            type=$type
+            origin=$origin
+            scenario=$scenario
+          msg-content:
+            $eventBody