summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rwxr-xr-xjjb/3rd_party_ci/download-netvirt-artifact.sh13
-rwxr-xr-xjjb/3rd_party_ci/functest-netvirt.sh3
-rwxr-xr-xjjb/3rd_party_ci/install-netvirt.sh4
-rw-r--r--jjb/3rd_party_ci/odl-netvirt.yml207
-rwxr-xr-xjjb/3rd_party_ci/postprocess-netvirt.sh3
-rw-r--r--jjb/global/slave-params.yml6
6 files changed, 236 insertions, 0 deletions
diff --git a/jjb/3rd_party_ci/download-netvirt-artifact.sh b/jjb/3rd_party_ci/download-netvirt-artifact.sh
new file mode 100755
index 000000000..d0b9a05d7
--- /dev/null
+++ b/jjb/3rd_party_ci/download-netvirt-artifact.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+echo "Attempting to fetch the artifact location from ODL Jenkins"
+CHANGE_DETAILS_URL="https://git.opendaylight.org/gerrit/changes/netvirt~master~$GERRIT_CHANGE_ID/detail"
+# due to limitation with the Jenkins Gerrit Trigger, we need to use Gerrit REST API to get the change details
+ODL_JOB_URL=$(curl -s $CHANGE_DETAILS_URL | grep netvirt-patch-test-current-carbon | tail -1 | \
+ sed 's/\\n//g' | awk '{print $6}')
+NETVIRT_ARTIFACT_URL="${ODL_JOB_URL}org.opendaylight.integration\$distribution-karaf/artifact/org.opendaylight.integration/distribution-karaf/0.6.0-SNAPSHOT/distribution-karaf-0.6.0-SNAPSHOT.tar.gz"
+echo -e "URL to artifact is\n\t$NETVIRT_ARTIFACT_URL"
+echo "Downloading the artifact. This could take time..."
+curl -s -o $NETVIRT_ARTIFACT $NETVIRT_ARTIFACT_URL
+echo "Download complete"
+ls -al $NETVIRT_ARTIFACT
diff --git a/jjb/3rd_party_ci/functest-netvirt.sh b/jjb/3rd_party_ci/functest-netvirt.sh
new file mode 100755
index 000000000..23bf47c06
--- /dev/null
+++ b/jjb/3rd_party_ci/functest-netvirt.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo "Hello World"
diff --git a/jjb/3rd_party_ci/install-netvirt.sh b/jjb/3rd_party_ci/install-netvirt.sh
new file mode 100755
index 000000000..c24e89036
--- /dev/null
+++ b/jjb/3rd_party_ci/install-netvirt.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+echo "Using the downloaded artifact to install netvirt"
+ls -al $NETVIRT_ARTIFACT
diff --git a/jjb/3rd_party_ci/odl-netvirt.yml b/jjb/3rd_party_ci/odl-netvirt.yml
new file mode 100644
index 000000000..3fd007764
--- /dev/null
+++ b/jjb/3rd_party_ci/odl-netvirt.yml
@@ -0,0 +1,207 @@
+- project:
+ name: 'netvirt'
+
+ project: 'netvirt'
+
+ installer: 'apex'
+#####################################
+# branch definitions
+#####################################
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+#####################################
+# patch verification phases
+#####################################
+ phase:
+ - 'install'
+ - 'functest'
+ - 'postprocess'
+#####################################
+# jobs
+#####################################
+ jobs:
+ - 'odl-netvirt-verify-virtual-{stream}'
+ - 'odl-netvirt-verify-virtual-{phase}-{stream}'
+#####################################
+# job templates
+#####################################
+- job-template:
+ name: 'odl-netvirt-verify-virtual-{stream}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 5
+ max-per-node: 1
+ option: 'project'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - string:
+ name: NETVIRT_ARTIFACT
+ default: $WORKSPACE/distribution-karaf.tar.gz"
+ - 'odl-netvirt-virtual-defaults'
+
+ scm:
+ - git:
+ url: 'https://git.opendaylight.org/gerrit/p/$PROJECT.git'
+ refspec: '$GERRIT_REFSPEC'
+ branches:
+ - 'origin/$GERRIT_BRANCH'
+ skip-tag: true
+ choosing-strategy: 'gerrit'
+ timeout: 10
+ wipe-workspace: true
+
+ triggers:
+ - gerrit:
+ server-name: 'git.opendaylight.org'
+ trigger-on:
+ - comment-added-contains-event:
+ comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : SUCCESS'
+ - comment-added-contains-event:
+ comment-contains-value: 'https://jenkins.opendaylight.org/releng/job/netvirt-patch-test-current-carbon/.*?/ : UNSTABLE'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ readable-message: true
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - multijob:
+ name: install
+ condition: SUCCESSFUL
+ projects:
+ - name: 'odl-netvirt-verify-virtual-install-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
+ GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
+ GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
+ NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: functest
+ condition: SUCCESSFUL
+ projects:
+ - name: 'odl-netvirt-verify-virtual-functest-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
+ GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
+ GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
+ NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+ - multijob:
+ name: postprocess
+ condition: SUCCESSFUL
+ projects:
+ - name: 'odl-netvirt-verify-virtual-postprocess-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ GERRIT_BRANCH=$GERRIT_BRANCH
+ GERRIT_REFSPEC=$GERRIT_REFSPEC
+ GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
+ GERRIT_CHANGE_ID=$GERRIT_CHANGE_ID
+ GERRIT_PATCHSET_NUMBER=$GERRIT_PATCHSET_NUMBER
+ GERRIT_PATCHSET_REVISION=$GERRIT_PATCHSET_REVISION
+ NETVIRT_ARTIFACT=$NETVIRT_ARTIFACT
+ node-parameters: true
+ kill-phase-on: FAILURE
+ abort-all-job: true
+
+- job-template:
+ name: 'odl-netvirt-verify-virtual-{phase}-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 5
+ max-per-node: 1
+ option: 'project'
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'odl-netvirt-verify-virtual-install-.*'
+ - 'odl-netvirt-verify-virtual-functest-.*'
+ - 'odl-netvirt-verify-virtual-postprocess-.*'
+ block-level: 'NODE'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+ - timeout:
+ timeout: 360
+ fail: true
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'odl-netvirt-virtual-defaults'
+ - '{installer}-defaults'
+
+ builders:
+ - description-setter:
+ description: "Built on $NODE_NAME"
+ - '{project}-verify-{phase}-builder'
+#####################################
+# builder macros
+#####################################
+- builder:
+ name: 'netvirt-verify-install-builder'
+ builders:
+ - shell:
+ !include-raw: ./download-netvirt-artifact.sh
+ - shell:
+ !include-raw: ./install-netvirt.sh
+
+- builder:
+ name: 'netvirt-verify-functest-builder'
+ builders:
+ - shell:
+ !include-raw: ./functest-netvirt.sh
+
+- builder:
+ name: 'netvirt-verify-postprocess-builder'
+ builders:
+ - shell:
+ !include-raw: ./postprocess-netvirt.sh
diff --git a/jjb/3rd_party_ci/postprocess-netvirt.sh b/jjb/3rd_party_ci/postprocess-netvirt.sh
new file mode 100755
index 000000000..23bf47c06
--- /dev/null
+++ b/jjb/3rd_party_ci/postprocess-netvirt.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo "Hello World"
diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml
index dd0c97996..8661b9517 100644
--- a/jjb/global/slave-params.yml
+++ b/jjb/global/slave-params.yml
@@ -670,6 +670,12 @@
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
+- parameter:
+ name: 'odl-netvirt-virtual-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'odl-netvirt-virtual'
#####################################################
# These slaves are just dummy slaves for sandbox jobs
#####################################################