cd robotframework-selenium2library-1.7.1
python setup.py install > /dev/null 2>&1
-## install netcat
-yum install -y -q nc
+## Install netcat & docker-py
+yum install -y -q nc python-docker-py
# disable firewall rules
service iptables stop
+++ /dev/null
-# Beryllium build jobs
-
-- project:
- name: autorelease-beryllium
- jobs:
- - 'autorelease-daily-beryllium'
-
- branch: 'master'
- project: 'releng/autorelease'
- jdk: 'openjdk7'
-
-- job-template:
- name: 'autorelease-daily-beryllium'
-
- project-type: maven
- node: dynamic_autorelease
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - autorelease-release-tag:
- release-tag: 'Daily'
- - autorelease-release-branch:
- release-branch: '{branch}'
- - autorelease-release-datestamp:
- datestamp: true
-
- scm:
- - git:
- credentials-id: '{ssh-credentials}'
- url: '$GIT_BASE'
- refspec: ''
- branches:
- - 'origin/{branch}'
- skip-tag: true
- submodule:
- recursive: true
-
- wrappers:
- - autorelease-build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - timed: 'H 0 * * *'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - autorelease-generate-taglist
- - autorelease-generate-release-patches
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -Pintegrationtests,docs,repoBuild -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
- maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
- settings: '{autorelease-settings}'
- global-settings: '{odl-global-settings}'
- automatic-archiving: false
- post-step-run-condition: UNSTABLE
-
- postbuilders:
- - shell: "./scripts/list-project-dependencies.sh"
- - autorelease-maven-sources:
- maven-version: '{mvn33}'
- settings: '{autorelease-settings}'
- global-settings: '{odl-global-settings}'
- - autorelease-maven-sources-post-process
-
- publishers:
- - archive-artifacts:
- artifacts: '*.log,patches/*.patch'
- - email-notification:
- email-prefix: '[autorelease]'
- project:
name: autorelease-lithium
jobs:
- - 'autorelease-daily-lithium'
- 'autorelease-daily-lithium-jdk8'
- - 'autorelease-release-lithium'
branch: 'stable/lithium'
project: 'releng/autorelease'
jdk: 'openjdk7'
-- job-template:
- name: 'autorelease-daily-lithium'
-
- project-type: maven
- node: dynamic_autorelease
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - autorelease-release-tag:
- release-tag: 'Daily'
- - autorelease-release-branch:
- release-branch: '{branch}'
- - autorelease-release-datestamp:
- datestamp: true
-
- scm:
- - git:
- credentials-id: '{ssh-credentials}'
- url: '$GIT_BASE'
- refspec: ''
- branches:
- - 'origin/{branch}'
- skip-tag: true
- submodule:
- recursive: true
-
- wrappers:
- - autorelease-build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - timed: 'H 0 * * *'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - autorelease-generate-taglist
- - autorelease-generate-release-patches
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -Pintegrationtests,docs,repoBuild -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
- maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
- settings: '{autorelease-settings}'
- global-settings: '{odl-global-settings}'
- automatic-archiving: false
- post-step-run-condition: UNSTABLE
-
- postbuilders:
- - shell: "./scripts/list-project-dependencies.sh"
- - autorelease-maven-sources:
- maven-version: '{mvn33}'
- settings: '{autorelease-settings}'
- global-settings: '{odl-global-settings}'
- - autorelease-maven-sources-post-process
-
- publishers:
- - archive-artifacts:
- artifacts: '*.log,patches/*.patch'
- - email-notification:
- email-prefix: '[autorelease]'
-
- job-template:
name: 'autorelease-daily-lithium-jdk8'
settings: '{autorelease-settings}'
global-settings: '{odl-global-settings}'
- autorelease-maven-sources-post-process
-
- publishers:
- - archive-artifacts:
- artifacts: '*.log,patches/*.patch'
- - email-notification:
- email-prefix: '[autorelease]'
-
-- job-template:
- name: 'autorelease-release-lithium'
-
- project-type: maven
- node: dynamic_autorelease
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - autorelease-release-tag:
- release-tag: 'Pre-Lithium'
- - autorelease-release-branch:
- release-branch: '{branch}'
- - autorelease-release-datestamp:
- datestamp: false
-
- scm:
- - git:
- credentials-id: '{ssh-credentials}'
- url: '$GIT_BASE'
- refspec: ''
- branches:
- - 'origin/{branch}'
- skip-tag: true
- submodule:
- recursive: true
-
- wrappers:
- - autorelease-build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- prebuilders:
- - wipe-org-opendaylight-repo
- - jacoco-nojava-workaround
- - autorelease-generate-taglist
- - autorelease-generate-release-patches
-
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -Pintegrationtests,docs,repoBuild -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
- maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
- settings: '{autorelease-settings}'
- global-settings: '{odl-global-settings}'
- automatic-archiving: true
- post-step-run-condition: UNSTABLE
-
- postbuilders:
- - autorelease-cfp:
- autorelease-settings: '{autorelease-settings}'
- odl-global-settings: '{odl-global-settings}'
- - autorelease-maven-deploy
- - shell: "./scripts/list-project-dependencies.sh"
- - autorelease-maven-sources:
- maven-version: '{mvn33}'
- settings: '{autorelease-settings}'
- global-settings: '{odl-global-settings}'
- - autorelease-maven-sources-post-process
+ - autorelease-sys-stats
publishers:
- archive-artifacts:
builders:
- shell:
!include-raw-escape include-raw-autorelease-release-versions.sh
+
+- builder:
+ name: autorelease-sys-stats
+ builders:
+ - shell: |
+ uname -a
+ df -h
--- /dev/null
+- project:
+ name: autorelease-projects
+ jobs:
+ - 'autorelease-daily-{stream}'
+ - 'autorelease-release-{stream}'
+
+ stream:
+ - beryllium:
+ branch: 'master'
+ jdk: 'openjdk7'
+ - lithium:
+ branch: 'stable/lithium'
+ jdk: 'openjdk7'
+
+ project: 'releng/autorelease'
--- /dev/null
+# Autorelease build jobs
+
+- job-template:
+ name: 'autorelease-daily-{stream}'
+
+ project-type: maven
+ node: dynamic_autorelease
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - autorelease-release-tag:
+ release-tag: 'Daily'
+ - autorelease-release-branch:
+ release-branch: '{branch}'
+ - autorelease-release-datestamp:
+ datestamp: true
+
+ scm:
+ - git:
+ credentials-id: '{ssh-credentials}'
+ url: '$GIT_BASE'
+ refspec: ''
+ branches:
+ - 'origin/{branch}'
+ skip-tag: true
+ submodule:
+ recursive: true
+
+ wrappers:
+ - autorelease-build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - timed: 'H 0 * * *'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+ - autorelease-generate-taglist
+ - autorelease-generate-release-patches
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -Pintegrationtests,docs,repoBuild -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: '{autorelease-settings}'
+ global-settings: '{odl-global-settings}'
+ automatic-archiving: false
+ post-step-run-condition: UNSTABLE
+
+ postbuilders:
+ - shell: "./scripts/list-project-dependencies.sh"
+ - autorelease-maven-sources:
+ maven-version: '{mvn33}'
+ settings: '{autorelease-settings}'
+ global-settings: '{odl-global-settings}'
+ - autorelease-maven-sources-post-process
+ - autorelease-sys-stats
+
+ publishers:
+ - archive-artifacts:
+ artifacts: '*.log,patches/*.patch'
+ - email-notification:
+ email-prefix: '[autorelease]'
+
+
+- job-template:
+ name: 'autorelease-release-{stream}'
+
+ project-type: maven
+ node: dynamic_autorelease
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - autorelease-release-tag:
+ release-tag: 'Test-{stream}'
+ - autorelease-release-branch:
+ release-branch: '{branch}'
+ - autorelease-release-datestamp:
+ datestamp: false
+
+ scm:
+ - git:
+ credentials-id: '{ssh-credentials}'
+ url: '$GIT_BASE'
+ refspec: ''
+ branches:
+ - 'origin/{branch}'
+ skip-tag: true
+ submodule:
+ recursive: true
+
+ wrappers:
+ - autorelease-build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+ - autorelease-generate-taglist
+ - autorelease-generate-release-patches
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -Pintegrationtests,docs,repoBuild -Dcheckstyle.skip=true -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ maven-opts: '-Xmx8g -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: '{autorelease-settings}'
+ global-settings: '{odl-global-settings}'
+ automatic-archiving: true
+ post-step-run-condition: UNSTABLE
+
+ postbuilders:
+ - autorelease-cfp:
+ autorelease-settings: '{autorelease-settings}'
+ odl-global-settings: '{odl-global-settings}'
+ - autorelease-maven-deploy
+ - shell: "./scripts/list-project-dependencies.sh"
+ - autorelease-maven-sources:
+ maven-version: '{mvn33}'
+ settings: '{autorelease-settings}'
+ global-settings: '{odl-global-settings}'
+ - autorelease-maven-sources-post-process
+ - autorelease-sys-stats
+
+ publishers:
+ - archive-artifacts:
+ artifacts: '*.log,patches/*.patch'
+ - email-notification:
+ email-prefix: '[autorelease]'
scope: 'all'
# Features to install
- install-features: 'odl-restconf,odl-bgpcep-pcep-all,odl-bgpcep-bgp-all,odl-netconf-connector-all'
+ install-features: 'odl-restconf,odl-bgpcep-pcep-all,odl-bgpcep-bgp-all,odl-bgpcep-bgp,odl-bgpcep-pcep,odl-netconf-connector-all'
# Robot custom options
robot-options: ''
-NEXUSURL_PREFIX=${ODLNEXUSPROXY:-https://nexus.opendaylight.org}
CONTROLLERMEM="3072m"
ACTUALFEATURES="odl-integration-all"
-if [ ${BUNDLEURL} == 'last' ]; then
- NEXUSPATH="${NEXUSURL_PREFIX}/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf"
- # Extract the BUNDLEVERSION from the pom.xml
- BUNDLEVERSION=`xpath pom.xml '/project/version/text()' 2> /dev/null`
- echo "Bundle version is ${BUNDLEVERSION}"
- # Acquire the timestamp information from maven-metadata.xml
- wget ${NEXUSPATH}/${BUNDLEVERSION}/maven-metadata.xml
- TIMESTAMP=`xpath maven-metadata.xml "//snapshotVersion[extension='zip'][1]/value/text()" 2>/dev/null`
- echo "Nexus timestamp is ${TIMESTAMP}"
- BUNDLEFOLDER="distribution-karaf-${BUNDLEVERSION}"
- BUNDLE="distribution-karaf-${TIMESTAMP}.zip"
- ACTUALBUNDLEURL="${NEXUSPATH}/${BUNDLEVERSION}/${BUNDLE}"
-else
- ACTUALBUNDLEURL="${BUNDLEURL}"
- BUNDLE="${BUNDLEURL##*/}"
- BUNDLEVERSION="$(basename $(dirname $BUNDLEURL))"
- BUNDLEFOLDER="distribution-karaf-${BUNDLEVERSION}"
-fi
-
-echo "Distribution bundle URL is ${ACTUALBUNDLEURL}"
-echo "Distribution bundle is ${BUNDLE}"
-echo "Distribution bundle version is ${BUNDLEVERSION}"
-echo "Distribution folder is ${BUNDLEFOLDER}"
-echo "Nexus prefix is ${NEXUSURL_PREFIX}"
-
echo "Downloading the distribution..."
wget --no-verbose ${ACTUALBUNDLEURL}
-export NEXUSURL_PREFIX=${ODLNEXUSPROXY:-https://nexus.opendaylight.org}
CONTROLLERMEM="2048m"
if [ ${CONTROLLERSCOPE} == 'all' ]; then
ACTUALFEATURES="${CONTROLLERFEATURES}"
fi
-if [ ${BUNDLEURL} == 'last' ]; then
- NEXUSPATH="${NEXUSURL_PREFIX}/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf"
- # Extract the BUNDLEVERSION from the pom.xml
- export BUNDLEVERSION=`xpath pom.xml '/project/version/text()' 2> /dev/null`
- echo "Bundle version is ${BUNDLEVERSION}"
- # Acquire the timestamp information from maven-metadata.xml
- wget ${NEXUSPATH}/${BUNDLEVERSION}/maven-metadata.xml
- TIMESTAMP=`xpath maven-metadata.xml "//snapshotVersion[extension='zip'][1]/value/text()" 2>/dev/null`
- echo "Nexus timestamp is ${TIMESTAMP}"
- export BUNDLEFOLDER="distribution-karaf-${BUNDLEVERSION}"
- export BUNDLE="distribution-karaf-${TIMESTAMP}.zip"
- export ACTUALBUNDLEURL="${NEXUSPATH}/${BUNDLEVERSION}/${BUNDLE}"
-else
- export ACTUALBUNDLEURL="${BUNDLEURL}"
- export BUNDLE="${BUNDLEURL##*/}"
- export BUNDLEVERSION="$(basename $(dirname $BUNDLEURL))"
- export BUNDLEFOLDER="distribution-karaf-${BUNDLEVERSION}"
-fi
-
-echo "Distribution bundle URL is ${ACTUALBUNDLEURL}"
-echo "Distribution bundle is ${BUNDLE}"
-echo "Distribution bundle version is ${BUNDLEVERSION}"
-echo "Distribution folder is ${BUNDLEFOLDER}"
-echo "Nexus prefix is ${NEXUSURL_PREFIX}"
-
if [ -f ${WORKSPACE}/test/csit/scriptplans/${TESTPLAN} ]; then
echo "scriptplan exists!!!"
echo "Changing the scriptplan path..."
# Extract the BUNDLEVERSION from the pom.xml
-BUNDLEVERSION=`xpath integration/pom.xml '/project/version/text()' 2> /dev/null`
+BUNDLEVERSION=`xpath distribution/pom.xml '/project/version/text()' 2> /dev/null`
echo "Bundle version is ${BUNDLEVERSION}"
BUNDLEURL=${BUILD_URL}org.opendaylight.integration\$distribution-karaf/artifact/org.opendaylight.integration/distribution-karaf/${BUNDLEVERSION}/distribution-karaf-${BUNDLEVERSION}.zip
if [ ${BUNDLEURL} == 'last' ]; then
NEXUSPATH="${NEXUSURL_PREFIX}/content/repositories/opendaylight.snapshot/org/opendaylight/integration/distribution-karaf"
# Extract the BUNDLEVERSION from the pom.xml
- BUNDLEVERSION=`xpath pom.xml '/project/version/text()' 2> /dev/null`
+ BUNDLEVERSION=`xpath distribution/pom.xml '/project/version/text()' 2> /dev/null`
echo "Bundle version is ${BUNDLEVERSION}"
# Acquire the timestamp information from maven-metadata.xml
wget ${NEXUSPATH}/${BUNDLEVERSION}/maven-metadata.xml
jobs:
- '{project}-csit-1node-{functionality}-{install}-{stream}'
- '{project}-csit-3node-{functionality}-{install}-{stream}'
- - '{project}-csit-verify-1node-{functionality}-{stream}'
+ - '{project}-csit-verify-1node-{functionality}'
# The project name
project: 'integration'
--- /dev/null
+
+- project:
+ name: integration-distribution-jobs
+ jobs:
+ - 'integration-distribution-verify-{stream}'
+ - 'integration-distribution-merge-{stream}'
+
+ stream:
+ - beryllium:
+ branch: 'master'
+
+ - stable-lithium:
+ branch: 'stable/lithium'
+
+ - stable-helium:
+ branch: 'stable/helium'
+
+ jdk: 'openjdk7'
+
+
+- job-template:
+ name: 'integration-distribution-verify-{stream}'
+
+ project-type: maven
+ node: dynamic_verify
+ concurrent: true
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: 'integration/distribution'
+ - gerrit-parameter:
+ branch: '{branch}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit-trigger-patch-submitted:
+ name: 'integration/distribution'
+ branch: '{branch}'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+ settings: '{integration-settings}'
+ global-settings: '{odl-global-settings}'
+ ignore-upstream-changes: true
+
+ publishers:
+ - email-notification:
+ email-prefix: '[integration]'
+
+- job-template:
+ name: 'integration-distribution-merge-{stream}'
+
+ project-type: maven
+ node: dynamic_merge
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: 'integration/distribution'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit-trigger-patch-merged:
+ name: 'integration/distribution'
+ branch: '{branch}'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+ settings: '{integration-settings}'
+ global-settings: '{odl-global-settings}'
+
+ publishers:
+ - email-notification:
+ email-prefix: '[integration]'
+ - maven-deploy:
+ id: ''
+ unique-version: true
+ deploy-unstable: false
+
- string:
name: BRANCH
default: '{branch}'
- description: 'GIT branch'
+ description: 'Distribution GIT branch'
- parameter:
name: integration-bundleurl
description: 'Robot command options'
- parameter:
- name: integration-patch-git-url
+ name: integration-distribution-git-url
parameters:
- string:
- name: PATCHGITURL
- default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/$GERRIT_PROJECT'
- description: 'Patch GIT URL (do not modify)'
+ name: DISTROGITURL
+ default: 'ssh://jenkins-$SILO@git.opendaylight.org:29418/integration/distribution'
+ description: 'Distribution GIT URL (do not modify)'
- parameter:
name: integration-patch-refspec
default: '{branch}'
description: 'Integration Patch Refspec'
+# Macro: integration-gerrit-scm
+# Operation: this macro downloads a project gerrit and using the project name as basedir
+# Used by: integration-patch-test-{stream} job template
+
- scm:
name: integration-gerrit-scm
scm:
- git:
credentials-id: '{credentials-id}'
- url: '$PATCHGITURL'
+ url: '$GIT_BASE'
basedir: '$GERRIT_PROJECT'
refspec: '$GERRIT_REFSPEC'
branches:
skip-tag: true
choosing-strategy: 'gerrit'
+# Macro: integration-gerrit-test-scm
+# Operation: this macro downloads an integration/test gerrit using test as basedir
+# Used by: {project}-verify-csit-* job templates
+
- scm:
- name: integration-git-scm
+ name: integration-gerrit-test-scm
scm:
- git:
credentials-id: '{credentials-id}'
- basedir: 'integration'
url: '$GIT_BASE'
+ basedir: 'test'
+ refspec: '$GERRIT_REFSPEC'
+ branches:
+ - 'origin/{branch}'
+ skip-tag: true
+ choosing-strategy: 'gerrit'
+
+# Macro: integration-distribution-scm
+# Operation: this macro downloads the integration/distribution repo using distribution as basedir
+# Used by: {project}-csit-* and integration-patch-test-{stream} job templates
+
+- scm:
+ name: integration-distribution-scm
+ scm:
+ - git:
+ credentials-id: '{credentials-id}'
+ basedir: 'distribution'
+ url: '$DISTROGITURL'
refspec: ''
branches:
- 'origin/{branch}'
skip-tag: true
+# Macro: integration-patch-scm
+# Operation: this macro downloads a test patch that can be used to debug in the sandbox
+# Used by: {project}-csit-* job templates
+
- scm:
- name: integration-patch-scm
+ name: integration-test-scm
scm:
- git:
credentials-id: '{credentials-id}'
+ basedir: 'test'
url: '$GIT_BASE'
refspec: '$PATCHREFSPEC'
branches:
skip-tag: true
choosing-strategy: 'gerrit'
-- trigger:
- name: integration-distribution-gerrit-trigger-patch-submitted
- triggers:
- - gerrit:
- server-name: 'OpenDaylight'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'true'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{name}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: 'ANT'
- pattern: 'pom.xml'
- - compare-type: 'ANT'
- pattern: 'distributions/**'
- - compare-type: 'ANT'
- pattern: 'features/**'
- - compare-type: 'ANT'
- pattern: 'feature-selector/**'
-
-- trigger:
- name: integration-distribution-gerrit-trigger-patch-merged
- triggers:
- - gerrit:
- server-name: 'OpenDaylight'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{name}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: 'ANT'
- pattern: 'pom.xml'
- - compare-type: 'ANT'
- pattern: 'distributions/**'
- - compare-type: 'ANT'
- pattern: 'features/**'
- - compare-type: 'ANT'
- pattern: 'feature-selector/**'
+# Macro: integration-test-gerrit-trigger-patch-submitted
+# Operation: this macro sets a trigger for patch submit on csit/suites/{project}/**
+# Used by: {project}-verify-csit-* job templates
- trigger:
name: integration-test-gerrit-trigger-patch-submitted
- patchset-created-event:
exclude-drafts: 'true'
exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
+ exclude-no-code-change: 'true'
- draft-published-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
branch-pattern: '**/{branch}'
file-paths:
- compare-type: 'ANT'
- pattern: 'test/csit/suites/{project}/**'
+ pattern: 'csit/suites/{project}/**'
+
+# Macro: integration-csit-gerrit-trigger-patch-submitted
+# Operation: this macro sets a trigger for patch submit on csit/libraries
+# Used by: integration-verify-csit-1node-{stream} job template
- trigger:
name: integration-csit-gerrit-trigger-patch-submitted
- patchset-created-event:
exclude-drafts: 'true'
exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
+ exclude-no-code-change: 'true'
- draft-published-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
branch-pattern: '**/{branch}'
file-paths:
- compare-type: 'ANT'
- pattern: 'test/csit/**'
+ pattern: 'csit/libraries/*'
+
+# Macro: integration-csit-gerrit-trigger-patch-merged
+# Operation: this macro sets a trigger for patch merged on csit/**
+# Used by: not used yet
- trigger:
name: integration-csit-gerrit-trigger-patch-merged
branch-pattern: '**/{branch}'
file-paths:
- compare-type: 'ANT'
- pattern: 'test/csit/**'
+ pattern: 'csit/**'
+
+# Macro: integration-jclouds-controller-mininet
+# Operation: this macro will spin the controller and mininet vms
+# Used by: {project}-csit-* job templates
- wrapper:
name: integration-jclouds-controller-mininet
# Shell Scripts #
#################
+# Macro: integration-get-slave-addresses
+# Operation: this macro gets the IP addresses of the dynamic vms
+# Used by: {project}-csit-* job templates
+
- builder:
name: integration-get-slave-addresses
builders:
- shell:
!include-raw include-raw-integration-get-slave-addresses.sh
+
+# Macro: integration-get-bundle-vars
+# Operation: this macro gets all bundle related variables
+# Used by: {project}-csit-3node-* job templates
+
- builder:
name: integration-get-bundle-vars
builders:
- shell:
!include-raw include-raw-integration-get-bundle-vars.sh
+# Macro: integration-deply-controller-run-test
+# Operation: this macro deployes single contoller and runs test
+# Used by: {project}-csit-1node-* job templates
+
- builder:
name: integration-deploy-controller-run-test
builders:
- shell:
!include-raw include-raw-integration-deploy-controller-run-test.sh
+
+# Macro: integration-deploy-controller
+# Operation: this macro prepares 3-node cluster controller
+# Used by: {project}-csit-3node-* job templates
+
- builder:
name: integration-deploy-controller
builders:
- shell:
!include-raw include-raw-integration-deploy-controller.sh
+# Macro: integration-configure-clustering
+# Operation: this macro configures the clustering
+# Used by: {project}-csit-3node-* job templates
- builder:
name: integration-configure-clustering
- shell:
!include-raw include-raw-integration-configure-clustering.sh
+# Macro: integration-start-cluster-run-test
+# Operation: this macro starts the 3-node cluster and runs test
+# Used by: {project}-csit-3node-* job templates
+
- builder:
name: integration-start-cluster-run-test
builders:
- shell:
!include-raw include-raw-integration-start-cluster-run-test.sh
+# Macro: integration-deploy-controller-offline
+# Operation: this macro deployes the controller with no external repo configuration
+# Used by: integration-distrbution-offline-{stream} job template
+
- builder:
name: integration-deploy-controller-offline
builders:
- shell:
!include-raw include-raw-integration-deploy-controller-offline.sh
+# Macro: integration-get-bundle-url
+# Operation: this macro gets the distribution bundle URL
+# Used by: integration-patch-test-{stream} job template
+
- builder:
name: integration-get-bundle-url
builders:
# Publishers #
##############
+# Macro: integration-robot
+# Operation: this macro publishes robot results
+# Used by: {project}-csit-* job templates
+
- publisher:
name: integration-robot
publishers:
+++ /dev/null
-- project:
- name: integration-python
- jobs:
- - 'integration-verify-python-{stream}'
-
- # stream: release stream (eg. stable-lithium or beryllium)
- # branch: git branch (eg. stable/lithium or master)
- stream:
- - beryllium:
- branch: 'master'
- - stable-lithium:
- branch: 'stable/lithium'
-
- project: 'integration'
- jdk: 'openjdk7'
-
-- job-template:
- name: 'integration-verify-python-{stream}'
-
- # Job template for ODL verify jobs
- #
- # The purpose of this job template is to setup a ODL verify job
- #
- # Required Variables:
- # stream: release stream (eg. stable-lithium or beryllium)
- # branch: git branch (eg. stable/lithium or master)
-
- project-type: freestyle
- node: dynamic_verify
- concurrent: true
- jdk: '{jdk}'
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
-
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
-
- wrappers:
- - build-timeout
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - gerrit:
- server-name: 'OpenDaylight'
- trigger-on:
- - patchset-created-event:
- exclude-drafts: 'true'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
- - comment-added-contains-event:
- comment-contains-value: 'recheck'
- - comment-added-contains-event:
- comment-contains-value: 'reverify'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'integration'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: test/**
-
- builders:
- - shell: |
- virtualenv $WORKSPACE/venv-tox
- source $WORKSPACE/venv-tox/bin/activate
- pip install tox argparse
- tox --version
- cd $WORKSPACE/test
- tox
-
- publishers:
- - email-notification:
- email-prefix: '[integration]'
# Job templates in this file (please update with every new template):
-#
-# {project}-csit-verify-{functionality}-{stream}
+#
+# Old templates:
+# {project}-csit-verify-1node-{functionality}-{stream}
# {project}-csit-1node-imds-{functionality}-{install}-{stream}
-# {project}-csit-1node-cds-{functionality}-{install}-{stream}
-# {project}-csit-periodic-1node-cds-{functionality}-{install}-{stream}
-# {project}-csit-3node-cds-{functionality}-{install}-{stream}
#
# New (for Be release):
-# {project}-csit-verify-1node-{functionality}-{stream}
+# {project}-csit-verify-1node-{functionality}
# {project}-csit-1node-{functionality}-{install}-{stream}
# {project}-csit-1node-periodic-{functionality}-{install}-{stream}
-# {project}-csit-verify-3node-{functionality}-{stream}
+# {project}-csit-verify-3node-{functionality}
# {project}-csit-3node-{functionality}-{install}-{stream}
# {project}-csit-3node-periodic-{functionality}-{install}-{stream}
#
+# Parameters:
+#
+# project-parameter: main project integration/test ($PROJECT)
+# integration-distribution-git-url: distribution GIT ($DISTROGITURL)
+# integration-branch: distribution branch ($BRANCH)
+# integration-controller-bundleurl: distribution URL ($BUNDLEURL)
+# integration-controller-scope: only or all features ($CONTROLLERSCOPE)
+# integration-controller-features: features under test ($CONTROLLER FEATURES)
+# integration-test-options: robot options ($TESTOPTIONS)
+# integration-test-plan: robot test plan ($TESTPLAN)
+# integration-patch-refspec: test branch ($PATCHREFSPEC)
+
+
# Old templates
- job-template:
- name: '{project}-csit-verify-{functionality}-{stream}'
+ name: '{project}-csit-verify-1node-{functionality}-{stream}'
project-type: freestyle
node: dynamic_robot
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
+ - integration-distribution-git-url
- integration-branch:
- branch: '{branch}'
+ branch: 'master'
- integration-bundleurl:
bundleurl: 'last'
- integration-controller-scope:
test-plan: '{project}-{functionality}.txt'
scm:
- - gerrit-trigger-scm:
+ - integration-distribution-scm:
credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
+ branch: 'master'
+ - integration-gerrit-test-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: 'master'
wrappers:
- build-timeout
triggers:
- integration-test-gerrit-trigger-patch-submitted:
- name: 'integration'
- branch: '{branch}'
+ name: 'integration/test'
+ branch: 'master'
project: '{project}'
builders:
- integration-get-slave-addresses
- inject:
properties-file: 'slave_addresses.txt'
+ - integration-get-bundle-vars
+ - inject:
+ properties-file: 'bundle_vars.txt'
- integration-deploy-controller-run-test
publishers:
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
+ - integration-distribution-git-url
- integration-branch:
branch: '{branch}'
- integration-bundleurl:
- integration-test-plan:
test-plan: '{project}-{functionality}.txt'
- integration-patch-refspec:
- branch: '{branch}'
+ branch: 'stable/helium'
scm:
- - integration-patch-scm:
+ - integration-distribution-scm:
credentials-id: '{ssh-credentials}'
branch: '{branch}'
-
- wrappers:
- - build-timeout
- - integration-jclouds-controller-mininet:
- controller-vms: 1
- mininet-image: '{mininet-image}'
- mininet-vms: '{mininet-vms}'
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - reverse:
- jobs: '{trigger-jobs}'
- result: 'success'
-
- builders:
- - integration-get-slave-addresses
- - inject:
- properties-file: 'slave_addresses.txt'
- - integration-deploy-controller-run-test
-
- publishers:
- - integration-robot:
- unstable-if: 0.0
- pass-if: 100.0
- - archive:
- artifacts: 'karaf.log'
- - email-notification:
- email-prefix: '[{project}]'
- - plot:
- - title: '{01-plot-title}'
- yaxis: '{01-plot-yaxis}'
- group: '{01-plot-group}'
- num-builds: '5400'
- style: line
- use-description: false
- csv-file-name: '{project}-csit-1node-imds-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
- keep-records: true
- series:
- - file: '{01-plot-data-file}'
- inclusion-flag: 'off'
- display-table: true
- format: csv
- - title: '{02-plot-title}'
- yaxis: '{02-plot-yaxis}'
- group: '{02-plot-group}'
- num-builds: '5400'
- style: line
- use-description: false
- csv-file-name: '{project}-csit-1node-imds-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
- keep-records: true
- series:
- - file: '{02-plot-data-file}'
- inclusion-flag: 'off'
- display-table: true
- format: csv
-
-- job-template:
- name: '{project}-csit-1node-cds-{functionality}-{install}-{stream}'
-
- project-type: freestyle
- node: dynamic_robot
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: 'integration'
- - integration-branch:
- branch: '{branch}'
- - integration-bundleurl:
- bundleurl: 'last'
- - integration-controller-scope:
- controller-scope: '{scope}'
- - integration-controller-features:
- controller-features: '{install-features}'
- - integration-test-options:
- test-options: '{robot-options}'
- - integration-test-plan:
- test-plan: '{project}-{functionality}.txt'
- - integration-patch-refspec:
- branch: '{branch}'
-
- scm:
- - integration-patch-scm:
+ - integration-test-scm:
credentials-id: '{ssh-credentials}'
- branch: '{branch}'
+ branch: 'stable/helium'
wrappers:
- build-timeout
- integration-get-slave-addresses
- inject:
properties-file: 'slave_addresses.txt'
- - integration-deploy-controller-run-test
-
- publishers:
- - integration-robot:
- unstable-if: 0.0
- pass-if: 100.0
- - archive:
- artifacts: 'karaf.log'
- - email-notification:
- email-prefix: '[{project}]'
- - plot:
- - title: '{01-plot-title}'
- yaxis: '{01-plot-yaxis}'
- group: '{01-plot-group}'
- num-builds: '5400'
- style: line
- use-description: false
- csv-file-name: '{project}-csit-1node-cds-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
- keep-records: true
- series:
- - file: '{01-plot-data-file}'
- inclusion-flag: 'off'
- display-table: true
- format: csv
- - title: '{02-plot-title}'
- yaxis: '{02-plot-yaxis}'
- group: '{02-plot-group}'
- num-builds: '5400'
- style: line
- use-description: false
- csv-file-name: '{project}-csit-1node-cds-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
- keep-records: true
- series:
- - file: '{02-plot-data-file}'
- inclusion-flag: 'off'
- display-table: true
- format: csv
-
-
-- job-template:
- name: '{project}-csit-periodic-1node-cds-{functionality}-{install}-{stream}'
-
- project-type: freestyle
- node: dynamic_robot
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: 'integration'
- - integration-branch:
- branch: '{branch}'
- - integration-bundleurl:
- bundleurl: 'last'
- - integration-controller-scope:
- controller-scope: '{scope}'
- - integration-controller-features:
- controller-features: '{install-features}'
- - integration-test-options:
- test-options: '{robot-options}'
- - integration-test-plan:
- test-plan: '{project}-{functionality}.txt'
- - integration-patch-refspec:
- branch: '{branch}'
-
- scm:
- - integration-patch-scm:
- credentials-id: '{ssh-credentials}'
- branch: '{branch}'
-
- wrappers:
- - integration-jclouds-controller-mininet:
- controller-vms: 1
- mininet-image: '{mininet-image}'
- mininet-vms: '{mininet-vms}'
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - timed: '{schedule}'
-
- builders:
- - integration-get-slave-addresses
+ - integration-get-bundle-vars
- inject:
- properties-file: 'slave_addresses.txt'
+ properties-file: 'bundle_vars.txt'
- integration-deploy-controller-run-test
publishers:
artifacts: 'karaf.log'
- email-notification:
email-prefix: '[{project}]'
- - plot:
- - title: '{01-plot-title}'
- yaxis: '{01-plot-yaxis}'
- group: '{01-plot-group}'
- num-builds: '180'
- style: line
- use-description: false
- csv-file-name: '{project}-csit-periodic-1node-cds-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
- keep-records: true
- series:
- - file: '{01-plot-data-file}'
- inclusion-flag: 'off'
- display-table: true
- format: csv
- - title: '{02-plot-title}'
- yaxis: '{02-plot-yaxis}'
- group: '{02-plot-group}'
- num-builds: '180'
- style: line
- use-description: false
- csv-file-name: '{project}-csit-periodic-1node-cds-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
- keep-records: true
- series:
- - file: '{02-plot-data-file}'
- inclusion-flag: 'off'
- display-table: true
- format: csv
-
-
-- job-template:
- name: '{project}-csit-3node-cds-{functionality}-{install}-{stream}'
-
- project-type: freestyle
- node: dynamic_robot
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: 'integration'
- - integration-branch:
- branch: '{branch}'
- - integration-bundleurl:
- bundleurl: 'last'
- - integration-controller-scope:
- controller-scope: '{scope}'
- - integration-controller-features:
- controller-features: 'odl-mdsal-clustering,{install-features}'
- - integration-test-options:
- test-options: '{robot-options}'
- - integration-test-plan:
- test-plan: '{project}-{functionality}.txt'
- - integration-patch-refspec:
- branch: '{branch}'
-
- scm:
- - integration-patch-scm:
- credentials-id: '{ssh-credentials}'
- branch: '{branch}'
-
- wrappers:
- - build-timeout
- - integration-jclouds-controller-mininet:
- controller-vms: 3
- mininet-image: '{mininet-image}'
- mininet-vms: '{mininet-vms}'
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - reverse:
- jobs: '{trigger-jobs}'
- result: 'success'
-
- builders:
- - integration-get-slave-addresses
- - inject:
- properties-file: 'slave_addresses.txt'
- - integration-get-bundle-vars
- - inject:
- properties-file: 'bundle_vars.txt'
- - integration-deploy-controller
- - integration-configure-clustering
- - integration-start-cluster-run-test
- publishers:
- - integration-robot:
- unstable-if: 0.0
- pass-if: 100.0
- - archive:
- artifacts: '*karaf.log'
- - email-notification:
- email-prefix: '[{project}]'
- plot:
- title: '{01-plot-title}'
yaxis: '{01-plot-yaxis}'
num-builds: '5400'
style: line
use-description: false
- csv-file-name: '{project}-csit-3node-cds-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
+ csv-file-name: '{project}-csit-1node-imds-{functionality}-{install}-{stream}-{01-plot-data-file}-history.csv'
keep-records: true
series:
- file: '{01-plot-data-file}'
num-builds: '5400'
style: line
use-description: false
- csv-file-name: '{project}-csit-3node-cds-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
+ csv-file-name: '{project}-csit-1node-imds-{functionality}-{install}-{stream}-{02-plot-data-file}-history.csv'
keep-records: true
series:
- file: '{02-plot-data-file}'
# New templates
- job-template:
- name: '{project}-csit-verify-1node-{functionality}-{stream}'
+ name: '{project}-csit-verify-1node-{functionality}'
project-type: freestyle
node: dynamic_robot
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
+ - integration-distribution-git-url
- integration-branch:
- branch: '{branch}'
+ branch: 'master'
- integration-bundleurl:
bundleurl: 'last'
- integration-controller-scope:
test-plan: '{project}-{functionality}.txt'
scm:
- - gerrit-trigger-scm:
+ - integration-distribution-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: 'master'
+ - integration-gerrit-test-scm:
credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
+ branch: 'master'
wrappers:
- build-timeout
triggers:
- integration-test-gerrit-trigger-patch-submitted:
- name: 'integration'
- branch: '{branch}'
+ name: 'integration/test'
+ branch: 'master'
project: '{project}'
builders:
- integration-get-slave-addresses
- inject:
properties-file: 'slave_addresses.txt'
+ - integration-get-bundle-vars
+ - inject:
+ properties-file: 'bundle_vars.txt'
- integration-deploy-controller-run-test
publishers:
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
+ - integration-distribution-git-url
- integration-branch:
branch: '{branch}'
- integration-bundleurl:
- integration-test-plan:
test-plan: '{project}-{functionality}.txt'
- integration-patch-refspec:
- branch: '{branch}'
+ branch: 'master'
scm:
- - integration-patch-scm:
+ - integration-distribution-scm:
credentials-id: '{ssh-credentials}'
branch: '{branch}'
+ - integration-test-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: 'master'
wrappers:
- build-timeout
- integration-get-slave-addresses
- inject:
properties-file: 'slave_addresses.txt'
+ - integration-get-bundle-vars
+ - inject:
+ properties-file: 'bundle_vars.txt'
- integration-deploy-controller-run-test
publishers:
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
+ - integration-distribution-git-url
- integration-branch:
branch: '{branch}'
- integration-bundleurl:
- integration-test-plan:
test-plan: '{project}-{functionality}.txt'
- integration-patch-refspec:
- branch: '{branch}'
+ branch: 'master'
scm:
- - integration-patch-scm:
+ - integration-distribution-scm:
credentials-id: '{ssh-credentials}'
branch: '{branch}'
+ - integration-test-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: 'master'
wrappers:
- integration-jclouds-controller-mininet:
- integration-get-slave-addresses
- inject:
properties-file: 'slave_addresses.txt'
+ - integration-get-bundle-vars
+ - inject:
+ properties-file: 'bundle_vars.txt'
- integration-deploy-controller-run-test
publishers:
format: csv
- job-template:
- name: '{project}-csit-verify-3node-{functionality}-{stream}'
+ name: '{project}-csit-verify-3node-{functionality}'
project-type: freestyle
node: dynamic_robot
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
+ - integration-distribution-git-url
- integration-branch:
- branch: '{branch}'
+ branch: 'master'
- integration-bundleurl:
bundleurl: 'last'
- integration-controller-scope:
test-plan: '{project}-{functionality}.txt'
scm:
- - gerrit-trigger-scm:
+ - integration-distribution-scm:
credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
+ branch: 'master'
+ - integration-gerrit-test-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: 'master'
wrappers:
- build-timeout
triggers:
- integration-test-gerrit-trigger-patch-submitted:
- name: 'integration'
- branch: '{branch}'
+ name: 'integration/test'
+ branch: 'master'
project: '{project}'
builders:
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
+ - integration-distribution-git-url
- integration-branch:
branch: '{branch}'
- integration-bundleurl:
- integration-test-plan:
test-plan: '{project}-{functionality}.txt'
- integration-patch-refspec:
- branch: '{branch}'
+ branch: 'master'
scm:
- - integration-patch-scm:
+ - integration-distribution-scm:
credentials-id: '{ssh-credentials}'
branch: '{branch}'
+ - integration-test-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: 'master'
wrappers:
- build-timeout
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
+ - integration-distribution-git-url
- integration-branch:
branch: '{branch}'
- integration-bundleurl:
- integration-test-plan:
test-plan: '{project}-{functionality}.txt'
- integration-patch-refspec:
- branch: '{branch}'
+ branch: 'master'
scm:
- - integration-patch-scm:
+ - integration-distribution-scm:
credentials-id: '{ssh-credentials}'
branch: '{branch}'
+ - integration-test-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: 'master'
wrappers:
- integration-jclouds-controller-mininet:
- project:
- name: integration-jobs
+ name: integration-test-jobs
jobs:
- - 'integration-csit-verify-1node-{stream}'
- - 'integration-distribution-verify-{stream}'
- - 'integration-distribution-merge-{stream}'
+ - 'integration-verify-python'
+ - 'integration-csit-verify-1node-library'
- 'integration-distribution-offline-{stream}'
- 'integration-distribution-test-{stream}'
- 'integration-patch-test-{stream}'
aaa-distribution-{stream},
integration-distribution-merge-{stream}
-- job-template:
- name: 'integration-csit-verify-1node-{stream}'
-
- project-type: freestyle
- node: dynamic_robot
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
- parameters:
- - project-parameter:
- project: 'integration'
- - integration-branch:
- branch: '{branch}'
- - integration-bundleurl:
- bundleurl: 'last'
- - integration-controller-scope:
- controller-scope: 'only'
- - integration-controller-features:
- controller-features: 'odl-openflowplugin-flow-services-ui'
- - integration-test-options:
- test-options: '-e adsal'
- - integration-test-plan:
- test-plan: 'openflowplugin-flow-services.txt'
-
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
-
- wrappers:
- - build-timeout
- - integration-jclouds-controller-mininet:
- controller-vms: 1
- mininet-image: '{mininet-image}'
- mininet-vms: '{mininet-vms}'
- - ssh-agent-credentials:
- users:
- - '{ssh-credentials}'
-
- triggers:
- - integration-csit-gerrit-trigger-patch-submitted:
- name: 'integration'
- branch: '{branch}'
-
- builders:
- - integration-get-slave-addresses
- - inject:
- properties-file: 'slave_addresses.txt'
- - integration-deploy-controller-run-test
-
- publishers:
- - integration-robot:
- unstable-if: 0.0
- pass-if: 0.0
- - archive:
- artifacts: 'karaf.log'
- - email-notification:
- email-prefix: '[integration]'
+# Template: integration-verify-python
+# Goal: Verify python scripts correct syntax
+# Operation: This job template performs a python tox check on any integration/test patch
- job-template:
- name: 'integration-distribution-verify-{stream}'
+ name: 'integration-verify-python'
- project-type: maven
+ project-type: freestyle
node: dynamic_verify
concurrent: true
- jdk: '{jdk}'
logrotate:
daysToKeep: '{build-days-to-keep}'
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
- gerrit-parameter:
- branch: '{branch}'
+ branch: 'master'
scm:
- gerrit-trigger-scm:
- '{ssh-credentials}'
triggers:
- - integration-distribution-gerrit-trigger-patch-submitted:
- name: 'integration'
- branch: '{branch}'
-
- prebuilders:
- - wipe-org-opendaylight-repo
+ - gerrit-trigger-patch-submitted:
+ name: 'integration/test'
+ branch: 'master'
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
- maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
- settings: '{integration-settings}'
- global-settings: '{odl-global-settings}'
- ignore-upstream-changes: true
+ builders:
+ - shell: |
+ virtualenv $WORKSPACE/venv-tox
+ source $WORKSPACE/venv-tox/bin/activate
+ pip install tox argparse
+ tox --version
+ tox
publishers:
- email-notification:
email-prefix: '[integration]'
+# Template: integration-csit-verify-1node-library
+# Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
+# Operation: This job template performs a base openflow test when there is a change in the libraries folder
+
- job-template:
- name: 'integration-distribution-merge-{stream}'
+ name: 'integration-csit-verify-1node-library'
- project-type: maven
- node: dynamic_merge
- jdk: '{jdk}'
+ project-type: freestyle
+ node: dynamic_robot
logrotate:
daysToKeep: '{build-days-to-keep}'
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/test'
+ - integration-distribution-git-url
+ - integration-branch:
+ branch: 'master'
+ - integration-bundleurl:
+ bundleurl: 'last'
+ - integration-controller-scope:
+ controller-scope: 'only'
+ - integration-controller-features:
+ controller-features: 'odl-openflowplugin-flow-services-ui'
+ - integration-test-options:
+ test-options: '-e adsal'
+ - integration-test-plan:
+ test-plan: 'openflowplugin-flow-services.txt'
scm:
- - gerrit-trigger-scm:
+ - integration-distribution-scm:
+ credentials-id: '{ssh-credentials}'
+ branch: 'master'
+ - integration-gerrit-test-scm:
credentials-id: '{ssh-credentials}'
- refspec: ''
- choosing-strategy: 'default'
+ branch: 'master'
wrappers:
- build-timeout
+ - integration-jclouds-controller-mininet:
+ controller-vms: 1
+ mininet-image: '{mininet-image}'
+ mininet-vms: '{mininet-vms}'
- ssh-agent-credentials:
users:
- '{ssh-credentials}'
triggers:
- - integration-distribution-gerrit-trigger-patch-merged:
- name: 'integration'
- branch: '{branch}'
-
- prebuilders:
- - wipe-org-opendaylight-repo
+ - integration-csit-gerrit-trigger-patch-submitted:
+ name: 'integration/test'
+ branch: 'master'
- maven:
- maven-name: '{mvn33}'
- root-pom: 'pom.xml'
- goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
- maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
- settings: '{integration-settings}'
- global-settings: '{odl-global-settings}'
+ builders:
+ - integration-get-slave-addresses
+ - inject:
+ properties-file: 'slave_addresses.txt'
+ - integration-get-bundle-vars
+ - inject:
+ properties-file: 'bundle_vars.txt'
+ - integration-deploy-controller-run-test
publishers:
+ - integration-robot:
+ unstable-if: 0.0
+ pass-if: 0.0
+ - archive:
+ artifacts: 'karaf.log'
- email-notification:
email-prefix: '[integration]'
- - maven-deploy:
- id: ''
- unique-version: true
- deploy-unstable: false
+
+# Template: integration-distribution-offline-{stream}
+# Goal: Verify distribution can start with no internet connection
+# Operation: This job deployes the controller removing any external repository definition
+# whenever there is a change in a kernel project (odlparent, controller, yangtools, etc...)
- job-template:
name: 'integration-distribution-offline-{stream}'
parameters:
- project-parameter:
- project: 'integration'
+ project: 'integration/distribution'
+ - integration-distribution-git-url
- integration-branch:
branch: '{branch}'
- integration-bundleurl:
bundleurl: 'last'
scm:
- - git-scm:
+ - integration-distribution-scm:
credentials-id: '{ssh-credentials}'
- refspec: ''
branch: '{branch}'
wrappers:
result: 'success'
builders:
+ - integration-get-bundle-vars
+ - inject:
+ properties-file: 'bundle_vars.txt'
- integration-deploy-controller-offline
publishers:
- email-notification:
email-prefix: '[integration]'
+# Template: integration-distribution-test-{stream}
+# Goal: Verify a distribution through all system test available
+# Operation: This daily job template takes a distribution and passes all available system test
+
- job-template:
name: 'integration-distribution-test-{stream}'
- email-notification:
email-prefix: '[integration]'
+# Template: integration-patch-test-{stream}
+# Goal: Build a patch and run all available system test on a distribution containing the change
+# Operation: This job teamplate builds a patch, creates a distribution containing the patch, and
+# triggers the distribution test when test-integration is used in gerrit comments
+
- job-template:
name: 'integration-patch-test-{stream}'
parameters:
- project-parameter:
- project: 'integration'
- - integration-patch-git-url
+ project: '$GERRIT_PROJECT'
+ - integration-distribution-git-url
scm:
- integration-gerrit-scm:
credentials-id: '{ssh-credentials}'
branch: '{branch}'
- - integration-git-scm:
+ - integration-distribution-scm:
credentials-id: '{ssh-credentials}'
branch: '{branch}'
maven:
maven-name: '{mvn33}'
- root-pom: 'integration/pom.xml'
+ root-pom: 'distribution/pom.xml'
goals: 'clean install -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r source:jar javadoc:jar'
maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
settings: '{integration-settings}'
--- /dev/null
+- project:
+ name: lispflowmapping-csit-all-stable-lithium
+ jobs:
+ - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - '{project}-csit-verify-1node-{functionality}-{stream}'
+
+ # The project name
+ project: 'lispflowmapping'
+
+ # The functionality under test
+ functionality: 'all'
+
+ # Project branches
+ stream:
+ - stable-lithium:
+ branch: 'stable/lithium'
+
+ install:
+ - only:
+ scope: 'only'
+ - all:
+ scope: 'all'
+
+ # Features to install
+ install-features: 'odl-lispflowmapping-all,odl-restconf,odl-mdsal-apidocs'
+
+ # Robot custom options
+ robot-options: '-v RPC_URL_PREFIX:/restconf/operations/lfm-mapping-database'
+
+ # Trigger jobs (upstream dependencies)
+ trigger-jobs: 'odlparent-distribution-{stream},yangtools-distribution-{stream},controller-distribution-{stream},neutron-distribution-{stream},lispflowmapping-distribution-{stream}'
stream:
- beryllium:
branch: 'master'
- - stable-lithium:
- branch: 'stable/lithium'
install:
- only:
--- /dev/null
+STREAMS:
+- beryllium:
+ branch: master
+ jdks: openjdk7,openjdk8
+MVN_GOALS: clean install -Dintegrationtests
+MVN_OPTS: -Xmx2048m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true
+DEPENDENCIES: odlparent,yangtools
--- /dev/null
+# REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
+# Otherwise this file will be automatically overwritten by the template
+# autobuilder.
+
+# ODL Releng build templates
+- project:
+ name: mdsal
+ jobs:
+ - 'mdsal-verify-{stream}'
+ - 'mdsal-merge-{stream}'
+ - 'mdsal-daily-{stream}'
+ - 'mdsal-distribution-{stream}'
+ - 'mdsal-integration-{stream}'
+ - 'mdsal-sonar'
+ - 'mdsal-clm-{stream}'
+
+
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+ stream:
+ - beryllium:
+ branch: 'master'
+ jdk: openjdk7
+ jdks:
+ - openjdk7
+ - openjdk8
+
+ project: 'mdsal'
+
+# For the Job templates below replace instances of:
+# PROJECT with your project name (eg. controller)
+# MAVEN_GOALS with your maven goals to build
+# MAVEN_OPTS with your maven options to build
+
+- job-template:
+ name: 'mdsal-verify-{stream}'
+
+ # Job template for ODL verify jobs
+ #
+ # The purpose of this job template is to setup a ODL verify job
+ #
+ # Required Variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: matrix
+ node: matrix_master
+ concurrent: true
+
+ axes:
+ - axis:
+ type: slave
+ name: nodes
+ values:
+ - dynamic_verify
+ - axis:
+ type: jdk
+ values: '{obj:jdks}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit-trigger-patch-submitted:
+ name: 'mdsal'
+ branch: '{branch}'
+
+ builders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+ - maven-target:
+ maven-version: '{mvn33}'
+ pom: 'pom.xml'
+ goals: 'clean install -Dintegrationtests'
+ java-opts:
+ - '-Xmx2048m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: '{mdsal-settings}'
+ global-settings: '{odl-global-settings}'
+
+ publishers:
+ - findbugs
+ - email-notification:
+ email-prefix: '[mdsal]'
+ - jacoco-report
+
+- job-template:
+ name: 'mdsal-merge-{stream}'
+
+ # Job template for ODL merge jobs
+ #
+ # The purpose of this job template is to setup a ODL merge job
+ # and deploy artifacts to Nexus.
+ #
+ # Required Variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: maven
+ node: dynamic_merge
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit-trigger-patch-merged:
+ name: 'mdsal'
+ branch: '{branch}'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -Dintegrationtests -Dmerge'
+ maven-opts: '-Xmx2048m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: '{mdsal-settings}'
+ global-settings: '{odl-global-settings}'
+
+ reporters:
+ - findbugs
+
+ publishers:
+ - email-notification:
+ email-prefix: '[mdsal]'
+ - maven-deploy:
+ id: ''
+ unique-version: true
+ deploy-unstable: false
+ - jacoco-report
+
+- job-template:
+ name: 'mdsal-daily-{stream}'
+
+ # Job template for daily builders
+ #
+ # The purpose of this job template is to setup a daily/nightly
+ # builder and pushes to Sonar analysis.
+ #
+ # Required Variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: maven
+ node: dynamic_verify
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - timed: 'H H * * *'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -Dintegrationtests'
+ maven-opts: '-Xmx2048m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: '{mdsal-settings}'
+ global-settings: '{odl-global-settings}'
+
+ reporters:
+ - findbugs
+
+ publishers:
+ - email-notification:
+ email-prefix: '[mdsal]'
+ - jacoco-report
+
+- job-template:
+ name: 'mdsal-distribution-{stream}'
+
+ # Required variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: maven
+ node: dynamic_merge
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: 'integration'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - reverse:
+ jobs: '{project}-merge-{stream}'
+ result: 'success'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+ settings: '{integration-settings}'
+ global-settings: '{odl-global-settings}'
+
+ publishers:
+ - email-notification:
+ email-prefix: '[{project}]'
+ - maven-deploy:
+ id: ''
+ unique-version: true
+ deploy-unstable: false
+
+- job-template:
+ name: 'mdsal-integration-{stream}'
+ disabled: false
+
+ # Job template for ODL integration verify jobs
+ #
+ # This is similar to a normal verify job, but it runs
+ # when a project that's a dependency of your project
+ # is successfully built.
+ #
+ # Required Variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: maven
+ node: dynamic_merge
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - reverse:
+ jobs: 'odlparent-merge-{stream},yangtools-merge-{stream}'
+ result: 'success'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -Dintegrationtests'
+ maven-opts: '-Xmx2048m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: '{mdsal-settings}'
+ global-settings: '{odl-global-settings}'
+
+ reporters:
+ - findbugs
+
+ publishers:
+ - email-notification:
+ email-prefix: '[mdsal] [odlparent] [yangtools]'
+ - jacoco-report
+
+- job-template:
+ name: 'mdsal-sonar'
+
+ project-type: maven
+ node: dynamic_verify
+ jdk: 'openjdk7'
+
+ logrotate:
+ daysToKeep: '7'
+ numToKeep: '10'
+ artifactDaysToKeep: '1'
+ artifactNumToKeep: '1'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: 'master'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - timed: 'H H * * *'
+ - gerrit-trigger-patch-sonar:
+ name: 'mdsal'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -Dintegrationtests -Dsonar'
+ maven-opts: '-Xmx2048m -XX:MaxPermSize=1024m -Dmaven.compile.fork=true'
+ settings: '{mdsal-settings}'
+ global-settings: '{odl-global-settings}'
+
+ reporters:
+ - findbugs
+
+ publishers:
+ - sonar:
+ language: 'java'
+ maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
+ - email-notification:
+ email-prefix: '[mdsal]'
+ - jacoco-report
+
+- job-template:
+ name: 'mdsal-clm-{stream}'
+
+ project-type: maven
+ node: dynamic_verify
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - timed: '@weekly'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
+ settings: '{mdsal-settings}'
+ global-settings: '{odl-global-settings}'
+
+ postbuilders:
+ - check-clm:
+ application-name: mdsal
+
+ publishers:
+ - email-notification:
+ email-prefix: '[mdsal]'
+
--- /dev/null
+- project:
+ name: nic-csit-vtnrenderer
+ jobs:
+ - '{project}-csit-1node-{functionality}-{install}-{stream}'
+ - '{project}-csit-verify-1node-{functionality}-{stream}'
+
+ # The project name
+ project: 'nic'
+
+ # The functionality under test
+ functionality: 'vtnrenderer'
+
+ # Project branches
+ stream:
+ - stable-lithium:
+ branch: 'stable/lithium'
+
+ install:
+ - only:
+ scope: 'only'
+ - all:
+ scope: 'all'
+
+ # Mininet configuration
+ mininet-image: 'rk-c-el6-mininet'
+ mininet-vms: 1
+
+ # Features to install
+ install-features: 'odl-nic-core,odl-nic-console,odl-nic-renderer-vtn'
+
+ # Robot custom options
+ robot-options: ''
+
+ # Trigger jobs (upstream dependencies)
+ trigger-jobs: 'yangtools-distribution-{stream},controller-distribution-{stream},nic-distribution-{stream},vtn-distribution-{stream}'
--- /dev/null
+- project:
+ name: ovsdb-csit-scalability-daily
+ jobs:
+ - '{project}-csit-1node-periodic-{functionality}-{install}-{stream}'
+
+ # The project name
+ project: 'ovsdb'
+
+ # The functionality under test
+ functionality: 'scalability-daily'
+
+ # Project branches
+ stream:
+ - master:
+ branch: 'master'
+ - stable-lithium:
+ branch: 'stable/lithium'
+
+ install:
+ - only:
+ scope: 'only'
+
+ # Features to install
+ install-features: 'odl-ovsdb-openstack'
+
+ # Robot custom options
+ robot-options: '-v MIN_SWITCHES:100 -v MAX_SWITCHES:500 -v STEP_SWITCHES:100'
+
+ # Trigger jobs (daily)
+ schedule: 'H H * * *'
+
+ # Plot Info
+ 01-plot-title: 'Max number of Switches'
+ 01-plot-yaxis: 'OpenFlow Switches'
+ 01-plot-group: 'Inventory Scalability'
+ 01-plot-data-file: 'switches.csv'
STREAMS:
+- neutron-yang-migration:
+ branch: topic/master/neutron-yang-migration
+ jdks: openjdk7
+- routermanager:
+ branch: topic/routermanager
+ jdks: openjdk7
- beryllium:
branch: master
jdks: openjdk7
# stream: release stream (eg. stable-lithium or beryllium)
# branch: git branch (eg. stable/lithium or master)
stream:
+ - neutron-yang-migration:
+ branch: 'topic/master/neutron-yang-migration'
+ jdk: openjdk7
+ jdks:
+ - openjdk7
+ - routermanager:
+ branch: 'topic/routermanager'
+ jdk: openjdk7
+ jdks:
+ - openjdk7
- beryllium:
branch: 'master'
jdk: openjdk7
aalldp-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1425316004293'
affinity-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414693281960'
alto-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1420844443276'
+ armoury-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1440526158820'
autorelease-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1420845126167'
bgpcep-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414695308787'
capwap-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1419261884166'
+ centinel-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1440438583607'
controller-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414691924293'
coretutorials-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1420844514071'
defense4all-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414701604809'
netide-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1435593624868'
net-virt-platform-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414695080636'
neutron-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1423777789591'
+ next-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1440438497082'
nic-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1422033856377'
odlautorelease-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414693159071'
odlparent-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414701763235'
ofextensions-circuitsw-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1437754415021'
+ of-config-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1440533296144'
opendove-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414701236099'
openflowjava-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414702124278'
openflowplugin-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414695396343'
packetcable-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414694813889'
persistence-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1419261915738'
plugin2oc-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414694181775'
+ releng-builder-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1441070717376'
reservation-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414702190363'
sdninterfaceapp-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414701835766'
sfc-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414694586132'
topoprocessing-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1419262018332'
tsdr-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1418417361674'
ttp-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414692758626'
+ unimgr-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1440438671032'
usc-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1418417312187'
usecplugin-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1439306569008'
vpnservice-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1423083445104'
vtn-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414701949484'
yangtools-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1414695171776'
+ yang-push-settings: 'org.jenkinsci.plugins.configfiles.maven.MavenSettingsConfig1440438380950'
# Plot configuration
01-plot-title: ''
- 'builder-weekly'
- 'builder-check-poms'
+ # Maven Sites
+ - 'builder-site-publish'
+ - 'builder-site-verify'
+
project: 'releng/builder'
- job-template:
publishers:
- email-notification:
email-prefix: '[releng]'
+
+
+###
+### Maven Sites
+###
+
+- job-template:
+ name: 'builder-site-publish'
+ node: dynamic_merge
+ concurrent: false
+ jdk: 'openjdk8'
+
+ # This job's purpose is to publish maven site
+
+ project-type: maven
+
+ logrotate:
+ daysToKeep: 7
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit:
+ server-name: 'OpenDaylight'
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'republish'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng/builder'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: src/**
+ - compare-type: ANT
+ pattern: pom.xml
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'site:site site:deploy -Dstream=master'
+ maven-opts: '-Xmx1024m'
+ settings: '{releng-builder-settings}'
+ global-settings: '{odl-global-settings}'
+
+ publishers:
+ - email-notification:
+ email-prefix: '[releng]'
+
+- job-template:
+ name: 'builder-site-verify'
+ node: dynamic_verify
+ concurrent: true
+ jdk: 'openjdk8'
+
+ # This job's purpose is to verify maven site configuration
+
+ project-type: maven
+
+ logrotate:
+ daysToKeep: 7
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: 'master'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - patchset-created-event:
+ exclude-drafts: 'false'
+ exclude-trivial-rebase: 'false'
+ exclude-no-code-change: 'false'
+ - draft-published-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'releng/builder'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/master'
+ file-paths:
+ - compare-type: ANT
+ pattern: src/**
+ - compare-type: ANT
+ pattern: pom.xml
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'site:site -Dstream=master'
+ maven-opts: '-Xmx1024m'
+ settings: '{autorelease-settings}'
+ global-settings: '{odl-global-settings}'
+
+ publishers:
+ - email-notification:
+ email-prefix: '[releng]'
- project:
name: sfc-csit-clustering
jobs:
- - '{project}-csit-3node-cds-{functionality}-{install}-{stream}'
+ - '{project}-csit-3node-{functionality}-{install}-{stream}'
# The project name
STREAMS:
- beryllium:
branch: master
- jdks: openjdk7
+ jdks: openjdk7,openjdk8
- stable-lithium:
branch: stable/lithium
- jdks: openjdk7
+ jdks: openjdk7,openjdk8
jdk: openjdk7
jdks:
- openjdk7
+ - openjdk8
- stable-lithium:
branch: 'stable/lithium'
jdk: openjdk7
jdks:
- openjdk7
+ - openjdk8
project: 'snmp'
--- /dev/null
+STREAMS:
+- beryllium:
+ branch: master
+ jdks: openjdk7,openjdk8
+DEPENDENCIES: odlparent,yangtools,controller,ovsdb
--- /dev/null
+# REMOVE THIS LINE IF YOU WANT TO CUSTOMIZE ANYTHING BELOW
+# Otherwise this file will be automatically overwritten by the template
+# autobuilder.
+
+# ODL Releng build templates
+- project:
+ name: unimgr
+ jobs:
+ - 'unimgr-verify-{stream}'
+ - 'unimgr-merge-{stream}'
+ - 'unimgr-daily-{stream}'
+ - 'unimgr-distribution-{stream}'
+ - 'unimgr-integration-{stream}'
+ - 'unimgr-sonar'
+ - 'unimgr-clm-{stream}'
+
+
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+ stream:
+ - beryllium:
+ branch: 'master'
+ jdk: openjdk7
+ jdks:
+ - openjdk7
+ - openjdk8
+
+ project: 'unimgr'
+
+# For the Job templates below replace instances of:
+# PROJECT with your project name (eg. controller)
+# MAVEN_GOALS with your maven goals to build
+# MAVEN_OPTS with your maven options to build
+
+- job-template:
+ name: 'unimgr-verify-{stream}'
+
+ # Job template for ODL verify jobs
+ #
+ # The purpose of this job template is to setup a ODL verify job
+ #
+ # Required Variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: matrix
+ node: matrix_master
+ concurrent: true
+
+ axes:
+ - axis:
+ type: slave
+ name: nodes
+ values:
+ - dynamic_verify
+ - axis:
+ type: jdk
+ values: '{obj:jdks}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit-trigger-patch-submitted:
+ name: 'unimgr'
+ branch: '{branch}'
+
+ builders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+ - maven-target:
+ maven-version: '{mvn33}'
+ pom: 'pom.xml'
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+ java-opts:
+ - '-Xmx1024m -XX:MaxPermSize=256m'
+ settings: '{unimgr-settings}'
+ global-settings: '{odl-global-settings}'
+
+ publishers:
+ - findbugs
+ - email-notification:
+ email-prefix: '[unimgr]'
+ - jacoco-report
+
+- job-template:
+ name: 'unimgr-merge-{stream}'
+
+ # Job template for ODL merge jobs
+ #
+ # The purpose of this job template is to setup a ODL merge job
+ # and deploy artifacts to Nexus.
+ #
+ # Required Variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: maven
+ node: dynamic_merge
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - gerrit-trigger-patch-merged:
+ name: 'unimgr'
+ branch: '{branch}'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dmerge'
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ settings: '{unimgr-settings}'
+ global-settings: '{odl-global-settings}'
+
+ reporters:
+ - findbugs
+
+ publishers:
+ - email-notification:
+ email-prefix: '[unimgr]'
+ - maven-deploy:
+ id: ''
+ unique-version: true
+ deploy-unstable: false
+ - jacoco-report
+
+- job-template:
+ name: 'unimgr-daily-{stream}'
+
+ # Job template for daily builders
+ #
+ # The purpose of this job template is to setup a daily/nightly
+ # builder and pushes to Sonar analysis.
+ #
+ # Required Variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: maven
+ node: dynamic_verify
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - timed: 'H H * * *'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ settings: '{unimgr-settings}'
+ global-settings: '{odl-global-settings}'
+
+ reporters:
+ - findbugs
+
+ publishers:
+ - email-notification:
+ email-prefix: '[unimgr]'
+ - jacoco-report
+
+- job-template:
+ name: 'unimgr-distribution-{stream}'
+
+ # Required variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: maven
+ node: dynamic_merge
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: 'integration'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - reverse:
+ jobs: '{project}-merge-{stream}'
+ result: 'success'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: '-Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r clean install'
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m -Dmaven.compile.fork=true'
+ settings: '{integration-settings}'
+ global-settings: '{odl-global-settings}'
+
+ publishers:
+ - email-notification:
+ email-prefix: '[{project}]'
+ - maven-deploy:
+ id: ''
+ unique-version: true
+ deploy-unstable: false
+
+- job-template:
+ name: 'unimgr-integration-{stream}'
+ disabled: false
+
+ # Job template for ODL integration verify jobs
+ #
+ # This is similar to a normal verify job, but it runs
+ # when a project that's a dependency of your project
+ # is successfully built.
+ #
+ # Required Variables:
+ # stream: release stream (eg. stable-lithium or beryllium)
+ # branch: git branch (eg. stable/lithium or master)
+
+ project-type: maven
+ node: dynamic_merge
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - reverse:
+ jobs: 'odlparent-merge-{stream},yangtools-merge-{stream},controller-merge-{stream},ovsdb-merge-{stream}'
+ result: 'success'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r '
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ settings: '{unimgr-settings}'
+ global-settings: '{odl-global-settings}'
+
+ reporters:
+ - findbugs
+
+ publishers:
+ - email-notification:
+ email-prefix: '[unimgr] [odlparent] [yangtools] [controller] [ovsdb]'
+ - jacoco-report
+
+- job-template:
+ name: 'unimgr-sonar'
+
+ project-type: maven
+ node: dynamic_verify
+ jdk: 'openjdk7'
+
+ logrotate:
+ daysToKeep: '7'
+ numToKeep: '10'
+ artifactDaysToKeep: '1'
+ artifactNumToKeep: '1'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: 'master'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - timed: 'H H * * *'
+ - gerrit-trigger-patch-sonar:
+ name: 'unimgr'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+ - jacoco-nojava-workaround
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'clean install -V -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r -Dsonar'
+ maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
+ settings: '{unimgr-settings}'
+ global-settings: '{odl-global-settings}'
+
+ reporters:
+ - findbugs
+
+ publishers:
+ - sonar:
+ language: 'java'
+ maven-opts: '-Xmx6144m -XX:MaxPermSize=1024m'
+ - email-notification:
+ email-prefix: '[unimgr]'
+ - jacoco-report
+
+- job-template:
+ name: 'unimgr-clm-{stream}'
+
+ project-type: maven
+ node: dynamic_verify
+ jdk: '{jdk}'
+
+ logrotate:
+ daysToKeep: '{build-days-to-keep}'
+ numToKeep: '{build-num-to-keep}'
+ artifactDaysToKeep: '{build-artifact-days-to-keep}'
+ artifactNumToKeep: '{build-artifact-num-to-keep}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-timeout
+ - ssh-agent-credentials:
+ users:
+ - '{ssh-credentials}'
+
+ triggers:
+ - timed: '@weekly'
+
+ prebuilders:
+ - wipe-org-opendaylight-repo
+
+ maven:
+ maven-name: '{mvn33}'
+ root-pom: 'pom.xml'
+ goals: 'com.sonatype.clm:clm-maven-plugin:index -Dmaven.repo.local=/tmp/r -Dorg.ops4j.pax.url.mvn.localRepository=/tmp/r'
+ maven-opts: '-Xmx4096m -XX:MaxPermSize=512m'
+ settings: '{unimgr-settings}'
+ global-settings: '{odl-global-settings}'
+
+ postbuilders:
+ - check-clm:
+ application-name: unimgr
+
+ publishers:
+ - email-notification:
+ email-prefix: '[unimgr]'
+
search for files with the name \<project\>.yaml. The normal \<project\>.yaml
file can then be left in tact with the "# REMOVE THIS LINE IF..." comment so
it will be automatically updated.
+
+## Maven Properties
+
+We provide a properties which your job can take advantage of if you want to do
+something different depending on the job type that is run. If you create a
+profile that activates on a property listed blow. The JJB templated jobs will
+be able to activate the profile during the build to run any custom code you
+wish to run in your project.
+
+ -Dmerge : This flag is passed in our Merge job and is equivalent to the
+ Maven property
+ <merge>true</merge>.
+ -Dsonar : This flag is passed in our Sonar job and is equivalent to the
+ Maven property
+ <sonar>true</sonar>.
+
+# Jenkins Sandbox
+[https://jenkins.opendaylight.org/sandbox](https://jenkins.opendaylight.org/sandbox/)
+
+The Sandbox instance's purpose is to allow projects to test their JJB setups
+before merging their code over to the Releng Master silo. It is configured
+similarly to the Master instance above however it cannot publish or vote in
+Gerrit.
+
+If your project requires access to the Sandbox please open a Help Desk ticket
+and provide us with your ODL ID.
+
+## Notes regarding the Sandbox
+
+* Jobs automatically deleted Saturday @ 08:00 UTC (12:00 AM PST / 01:00 AM PDT)
+* Committers can login and configure Jenkins jobs directly here (unlike on the
+master silo)
+* Configuration mirrors the master silo when possible
+* Can NOT upload artifacts to Nexus
+* Can NOT vote on Gerrit
+
+## Using the Sandbox
+
+Before starting using the sandbox make sure you have Jenkins Job Builder
+properly installed in your setup. Refer Jenkins Job Builder Installation
+section of this guide.
+
+If you do not already have access, open a helpdesk ticket to request access to
+the sandbox instance (Integration committers will have access by default).
+
+1. Clone a copy of the releng/builder repo from https://git.opendaylight.org/gerrit/#/admin/projects/releng/builder
+2. cp jenkins.ini.example jenkins.ini
+3. Edit the jenkins.ini file at the root of the repo
+ * Set your ODL username and password (make sure to uncomment the lines)
+ * Set the URL to https://jenkins.opendaylight.org/sandbox
+
+It is good practice to test that your JJB files are valid before pushing using
+the test command. If you see no Exceptions or Failures after running the
+following command your templates should be good for pushing.
+
+The last parameter is the name of the job you want to push to Jenkins so if
+your job template name is **{project}-csit-3node-periodic-{functionality}-{install}-{stream}**
+you will need to expand manually the variables {project}, {functionality},
+{install}, and {stream} to the exact job you want created in the Sandbox for
+example **openflowplugin-csit-1node-periodic-longevity-only-beryllium**. Please
+do not push ALL jobs to the Sandbox and only jobs you actually intend to test.
+
+**Note:** the below command examples are being executed from the root of the
+builder repo, and assume the "jenkins.ini" file is located there.
+
+ jenkins-jobs --conf jenkins.ini test jjb/ <job-name>
+ jenkins-jobs --conf jenkins.ini test jjb/ openflowplugin-csit-periodic-1node-cds-longevity-only-master
+
+Expect to see an XML file describing the build job in \</maven2-moduleset\> tags
+on STOUT. If you dont see any XML check that you have assigned values to the
+parameters between {} in the YAML files. For example {project}
+
+Once this is complete you can push your JJB jobs to the sandbox with the
+command:
+
+ jenkins-jobs --conf jenkins.ini update jjb/ <job-name>
+ jenkins-jobs --conf jenkins.ini update jjb/ openflowplugin-csit-periodic-1node-cds-longevity-only-beryllium
+
+**Important Note:** When pushing with jenkins-jobs command it will print out a
+message similar to the one below to inform you how many jobs JJB is pushing
+online. If the number is greater than 1 (or the number of jobs you passed to
+the command to push) then you are pushing too many jobs and should **ctrl+c**
+to cancel the upload.
+
+ INFO:jenkins_jobs.builder:Number of jobs generated: 1
+
+If using Docker:
+
+ # To test
+ docker run --rm -v ${PWD}:/jjb zxiiro/jjb-docker
+
+ # To upload jobs to the sandbox
+ # Please ensure that you include a configured jenkins.ini in your volume mount
+ docker run --rm -v ${PWD}:/jjb zxiiro/jjb-docker jenkins-jobs --conf jenkins.ini update . openflowplugin-csit-periodic-1node-cds-longevity-only-master
-rackspace-convert-base can be used to convert a RackSpace native base
-image into a Vagrant compatible one. The default image to convert is the
-'Fedora 20 (Heisenbug) (PVHVM)' image but this can be overridden just by
-setting the RSIMAGE environment variable before calling the vagrant up.
+basline can be used to prepare systems in the Rackspace (or potentially
+other environments) for following vagrant layers.
+
+While the base image that is looked for is
+'Fedora 20 (Heisenbug) (PVHVM)' which is no longer even offered, the
+variable is being left in place so to prompt selection of a proper base
+image to spin up against.
+
+This is controlled by the RSIMAGE environment variable
ex:
NOTE: The reseal operation _destroys_ the SSH keys that were used to
bring the Vagrant system up effectively making the system unable to
perform SSH based logins again. This is intentional.
+
+If you are bringing up an Ubuntu system you _must_ also set
+RSPTY='default' or the bring up will hang indefinitely during the OS
+upgrade phase.
config.ssh.username = 'root'
# Fedora and EL systems default to requiring a tty for sudo
- config.ssh.pty = true
+ if (ENV['RSPTY'] == 'default')
+ config.ssh.pty = false
+ else
+ config.ssh.pty = true
+ end
# The rackspace provider by default tries to rsync
# the local folder / vagrant box to /vagrant
--- /dev/null
+#!/bin/bash
+
+# vim: ts=4 sw=4 sts=4 et tw=72 :
+
+rh_systems() {
+ # Handle the occurance where SELINUX is actually disabled
+ if [ `grep SELINUX=permissive /etc/selinux/config` ]; then
+ # make sure that the filesystem is properly labelled.
+ # it could be not fully labeled correctly if it was just switched
+ # from disabled, the autorelabel misses some things
+ # skip relabelling on /dev as it will generally throw errors
+ restorecon -R -e /dev /
+
+ # enable enforcing mode from the very start
+ setenforce enforcing
+
+ # configure system for enforcing mode on next boot
+ sed -i 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config
+ else
+ sed -i 's/SELINUX=disabled/SELINUX=permissive/' /etc/selinux/config
+ touch /.autorelabel
+
+ echo "*******************************************"
+ echo "** SYSTEM REQUIRES A RESTART FOR SELINUX **"
+ echo "*******************************************"
+ fi
+
+ echo "---> Updating operating system"
+ yum clean all -q
+ yum update -y -q
+
+ # add in components we need or want on systems
+ echo "---> Installing base packages"
+ yum install -y -q @base unzip xz puppet git perl-XML-XPath
+
+ # All of our systems require Java (because of Jenkins)
+ # Install all versions of the OpenJDK devel but force 1.7.0 to be the
+ # default
+
+ echo "---> Configuring OpenJDK"
+ yum install -y -q 'java-*-openjdk-devel'
+ alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
+ alternatives --set java_sdk_openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
+}
+
+ubuntu_systems() {
+ # Ignore SELinux since slamming that onto Ubuntu leads to
+ # frustration
+
+ echo "---> Updating operating system"
+ apt-get update -qq
+ apt-get upgrade -y --force-yes -qq
+
+ # add in stuff we know we need
+ echo "---> Installing base packages"
+ apt-get install -y --force-yes -qq unzip xz-utils puppet git libxml-xpath-perl
+
+ # install Java 7
+ echo "---> Configuring OpenJDK"
+ apt-get install -y --force-yes -qq openjdk-7-jdk
+
+ # make jdk8 available
+ add-apt-repository -y ppa:openjdk-r/ppa
+ apt-get update -qq
+ # We need to force openjdk-8-jdk to install
+ apt-get install -y -qq openjdk-8-jdk
+
+ # make sure that we still default to openjdk 7
+ update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
+ update-alternatives --set javac /usr/lib/jvm/java-7-openjdk-amd64/bin/javac
+}
+
+all_systems() {
+ # To handle the prompt style that is expected all over the environment
+ # with how use use robotframework we need to make sure that it is
+ # consistent for any of the users that are created during dynamic spin
+ # ups
+ echo 'PS1="[\u@\h \W]> "' >> /etc/skel/.bashrc
+
+ # Do any Distro specific installations here
+ echo "Checking distribution"
+ FACTER_OS=`/usr/bin/facter operatingsystem`
+ case "$FACTER_OS" in
+ RedHat|CentOS)
+ if [ `/usr/bin/facter operatingsystemrelease | /bin/cut -d '.' -f1` = "7" ]; then
+ echo
+ echo "---> CentOS 7"
+ echo "No extra steps currently for CentOS 7"
+ echo
+ else
+ echo "---> CentOS 6"
+ echo "Installing ODL YUM repo"
+ yum install -q -y https://nexus.opendaylight.org/content/repositories/opendaylight-yum-epel-6-x86_64/rpm/opendaylight-release/0.1.0-1.el6.noarch/opendaylight-release-0.1.0-1.el6.noarch.rpm
+ fi
+ ;;
+ *)
+ echo "---> $FACTER_OS found"
+ echo "No extra steps for $FACTER_OS"
+ ;;
+ esac
+}
+
+echo "---> Attempting to detect OS"
+# OS selector
+if [ -f /usr/bin/yum ]
+then
+ OS='RH'
+else
+ OS='UBUNTU'
+fi
+
+case "$OS" in
+ RH)
+ echo "---> RH type system detected"
+ rh_systems
+ ;;
+ UBUNTU)
+ echo "---> Ubuntu system detected"
+ ubuntu_systems
+ ;;
+ *)
+ echo "---> Unknown operating system"
+ ;;
+esac
+
+# execute steps for all systems
+all_systems
rm -rf ~/.viminfo /etc/ssh/ssh*key*
+# kill any cloud-init related bits
+rm -rf /var/lib/cloud/*
+
echo "********************************************"
echo "* PLEASE SNAPSHOT IMAGE AT THIS TIME *"
echo "********************************************"
yum install -q -y java-1.7.0-openjdk-devel git perl-XML-XPath
# The following are known requirements for our robotframework environments
-yum install -q -y python-{devel,importlib,requests,setuptools,virtualenv} \
+yum install -q -y python-{devel,importlib,requests,setuptools,virtualenv,docker-py} \
robotframework{,-{httplibrary,requests,sshlibrary}}
# To handle the prompt style that is expected all over the environment
+++ /dev/null
-#!/bin/bash
-
-# vim: ts=4 sw=4 sts=4 et tw=72 :
-
-# Handle the occurance where SELINUX is actually disabled
-if [ `grep SELINUX=permissive /etc/selinux/config` ]; then
- # make sure that the filesystem is properly labelled.
- # it could be not fully labeled correctly if it was just switched
- # from disabled, the autorelabel misses some things
- # skip relabelling on /dev as it will generally throw errors
- restorecon -R -e /dev /
-
- # enable enforcing mode from the very start
- setenforce enforcing
-
- # configure system for enforcing mode on next boot
- sed -i 's/SELINUX=permissive/SELINUX=enforcing/' /etc/selinux/config
-else
- sed -i 's/SELINUX=disabled/SELINUX=permissive/' /etc/selinux/config
- touch /.autorelabel
-
- echo "*******************************************"
- echo "** SYSTEM REQUIRES A RESTART FOR SELINUX **"
- echo "*******************************************"
-fi
-
-yum clean all -q
-yum update -y -q
-
-# add in components we need or want on systems
-yum install -y -q @base unzip xz puppet git perl-XML-XPath
-
-# All of our systems require Java (because of Jenkins)
-# Install all versions of the OpenJDK devel but force 1.7.0 to be the
-# default
-
-yum install -y -q 'java-*-openjdk-devel'
-alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
-alternatives --set java_sdk_openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
-
-# To handle the prompt style that is expected all over the environment
-# with how use use robotframework we need to make sure that it is
-# consistent for any of the users that are created during dynamic spin
-# ups
-echo 'PS1="[\u@\h \W]> "' >> /etc/skel/.bashrc
-
-# Do any Distro specific installations here
-echo "Checking distribution"
-if [ `/usr/bin/facter operatingsystem` = "Fedora" ]; then
- echo "---> Fedora found"
- echo "No extra steps for Fedora"
-else
- if [ `/usr/bin/facter operatingsystemrelease | /bin/cut -d '.' -f1` = "7" ]; then
- echo "---> CentOS 7"
- echo "No extra steps currently for CentOS 7"
- else
- echo "---> CentOS 6"
- echo "Installing ODL YUM repo"
- yum install -q -y https://nexus.opendaylight.org/content/repositories/opendaylight-yum-epel-6-x86_64/rpm/opendaylight-release/0.1.0-1.el6.noarch/opendaylight-release-0.1.0-1.el6.noarch.rpm
- fi
-fi