Merge "First pass at getting Ubuntu working in CI infra"
authorAndrew Grimberg <agrimberg@linuxfoundation.org>
Tue, 1 Sep 2015 20:59:28 +0000 (20:59 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 1 Sep 2015 20:59:28 +0000 (20:59 +0000)
40 files changed:
jenkins-scripts/robot.sh
jjb/autorelease/autorelease-beryllium.yaml [deleted file]
jjb/autorelease/autorelease-lithium.yaml
jjb/autorelease/autorelease-macros.yaml
jjb/autorelease/autorelease-projects.yaml [new file with mode: 0644]
jjb/autorelease/autorelease-templates.yaml [new file with mode: 0644]
jjb/bgpcep/bgpcep-csit-userfeatures.yaml
jjb/integration/include-raw-integration-deploy-controller-offline.sh
jjb/integration/include-raw-integration-deploy-controller-run-test.sh
jjb/integration/include-raw-integration-get-bundle-url.sh
jjb/integration/include-raw-integration-get-bundle-vars.sh
jjb/integration/integration-csit-basic.yaml
jjb/integration/integration-distribution-jobs.yaml [new file with mode: 0644]
jjb/integration/integration-macros.yaml
jjb/integration/integration-python.yaml [deleted file]
jjb/integration/integration-templates.yaml
jjb/integration/integration-test-jobs.yaml [moved from jjb/integration/integration-jobs.yaml with 82% similarity]
jjb/lispflowmapping/lispflowmapping-csit-all-stable-lithium.yaml [new file with mode: 0644]
jjb/lispflowmapping/lispflowmapping-csit-all.yaml
jjb/mdsal/mdsal.cfg [new file with mode: 0644]
jjb/mdsal/mdsal.yaml [new file with mode: 0644]
jjb/nic/nic-csit-vtnrenderer.yaml [new file with mode: 0644]
jjb/ovsdb/ovsdb-csit-scalability-daily.yaml [new file with mode: 0755]
jjb/ovsdb/ovsdb.cfg
jjb/ovsdb/ovsdb.yaml
jjb/releng-defaults.yaml
jjb/releng-jobs.yaml
jjb/sfc/sfc-csit-clustering.yaml
jjb/snmp/snmp.cfg
jjb/snmp/snmp.yaml
jjb/unimgr/unimgr.cfg [new file with mode: 0644]
jjb/unimgr/unimgr.yaml [new file with mode: 0644]
src/site/markdown/jenkins.md
vagrant/baseline/README.md [moved from vagrant/rackspace-convert-base/README.md with 55% similarity]
vagrant/baseline/Vagrantfile [moved from vagrant/rackspace-convert-base/Vagrantfile with 95% similarity]
vagrant/baseline/bootstrap.sh [new file with mode: 0644]
vagrant/baseline/remove_requiretty.sh [moved from vagrant/rackspace-convert-base/remove_requiretty.sh with 100% similarity]
vagrant/baseline/system_reseal.sh [moved from vagrant/rackspace-convert-base/system_reseal.sh with 97% similarity]
vagrant/integration-robotframework/bootstrap.sh
vagrant/rackspace-convert-base/bootstrap.sh [deleted file]

index 9b5de98d8af16709346468d765393e0a9e04d10a..88dc83a69a2417be99fd35d0e1362aee171d9b15 100755 (executable)
@@ -32,8 +32,8 @@ tar -xvf robotframework-selenium2library-1.7.1.tar.gz > /dev/null 2>&1
 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
diff --git a/jjb/autorelease/autorelease-beryllium.yaml b/jjb/autorelease/autorelease-beryllium.yaml
deleted file mode 100644 (file)
index 54b8fac..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-# 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]'
index 241ad61d87f80f3a8e58ee20d346f825397fc0e1..c8b12b50b8f2b90087a18ff6432b9706529977d6 100644 (file)
@@ -3,87 +3,12 @@
 - 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:
index d6cd4ec72a99c3e6118b8bbb924698863e585fa0..d70fb0d278388a74c45bf6691f626db6a2484784 100644 (file)
     builders:
         - shell:
             !include-raw-escape include-raw-autorelease-release-versions.sh
+
+- builder:
+    name: autorelease-sys-stats
+    builders:
+        - shell: |
+            uname -a
+            df -h
diff --git a/jjb/autorelease/autorelease-projects.yaml b/jjb/autorelease/autorelease-projects.yaml
new file mode 100644 (file)
index 0000000..2e2086d
--- /dev/null
@@ -0,0 +1,15 @@
+- 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'
diff --git a/jjb/autorelease/autorelease-templates.yaml b/jjb/autorelease/autorelease-templates.yaml
new file mode 100644 (file)
index 0000000..3a2d3ce
--- /dev/null
@@ -0,0 +1,151 @@
+# 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]'
index da1e69c8a8727e4cc05beaabc276fd612b89a6c4..2490b7609df3ad2225b54f6e6ab37aa30a5214b3 100644 (file)
@@ -24,7 +24,7 @@
             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: ''
index 5c9cbfaf2f1832ce16d9c36a6670506a14ca77b0..bf07a09999f4d1a9d0dd3f5d653571cff9b8fd3c 100644 (file)
@@ -1,32 +1,6 @@
-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}
 
index ed62b457fa48acc44e877e5b49152ad2d911dc1d..d87598ad5a5672f8ef706695463bbe726b28641d 100644 (file)
@@ -1,4 +1,3 @@
-export NEXUSURL_PREFIX=${ODLNEXUSPROXY:-https://nexus.opendaylight.org}
 CONTROLLERMEM="2048m"
 
 if [ ${CONTROLLERSCOPE} == 'all' ]; then
@@ -8,31 +7,6 @@ else
     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..."
index 7d8412ecf0f1b2804f8815a49cb390b92aca8342..521fcb6e6c4227766f47a5c872e78571a49fffb6 100644 (file)
@@ -1,5 +1,5 @@
 # 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
index fb07c17d8443577694d81906d704518824fbaa5d..5da4603b02bae34f0fa7190fe22311a257a01f50 100644 (file)
@@ -7,7 +7,7 @@ NEXUSURL_PREFIX=${ODLNEXUSPROXY:-https://nexus.opendaylight.org}
 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
index b90a4c04660ec7fe02826b4b81d911bdc3df6955..dc8fdf4862b956a0490381814103f3fa3816e213 100644 (file)
@@ -3,7 +3,7 @@
     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'
diff --git a/jjb/integration/integration-distribution-jobs.yaml b/jjb/integration/integration-distribution-jobs.yaml
new file mode 100644 (file)
index 0000000..78eb68b
--- /dev/null
@@ -0,0 +1,126 @@
+
+- 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
+
index 8930da462cae774670d25930d7a1f089df671194..e9c8d10bbcbffd194fedd2bec3f7c57c0f4cda07 100644 (file)
@@ -4,7 +4,7 @@
         - 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:
diff --git a/jjb/integration/integration-python.yaml b/jjb/integration/integration-python.yaml
deleted file mode 100644 (file)
index 6129184..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-- 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]'
index b176334ea61d85068a59f89aa43aaca14df53a52..f69ee328ec9f20829810901bf4463ca812aa4c3b 100644 (file)
@@ -1,24 +1,35 @@
 # 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:
similarity index 82%
rename from jjb/integration/integration-jobs.yaml
rename to jjb/integration/integration-test-jobs.yaml
index 90e37e5188433af67d99e2e0a9478ca44319c463..f36a610faa11b12219246c8b2fd3abaec31f6ef8 100644 (file)
@@ -1,10 +1,9 @@
 
 - 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}'
diff --git a/jjb/lispflowmapping/lispflowmapping-csit-all-stable-lithium.yaml b/jjb/lispflowmapping/lispflowmapping-csit-all-stable-lithium.yaml
new file mode 100644 (file)
index 0000000..4a8ac50
--- /dev/null
@@ -0,0 +1,31 @@
+- 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}'
index dd21b3d372c7b7fb3ce7a6eaebfb6b15b79016f5..545808a3617e88e2b47a8541b5fead5c27eb20d7 100644 (file)
@@ -14,8 +14,6 @@
     stream:
         - beryllium:
             branch: 'master'
-        - stable-lithium:
-            branch: 'stable/lithium'
 
     install:
         - only:
diff --git a/jjb/mdsal/mdsal.cfg b/jjb/mdsal/mdsal.cfg
new file mode 100644 (file)
index 0000000..26f7826
--- /dev/null
@@ -0,0 +1,7 @@
+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
diff --git a/jjb/mdsal/mdsal.yaml b/jjb/mdsal/mdsal.yaml
new file mode 100644 (file)
index 0000000..4bd22fd
--- /dev/null
@@ -0,0 +1,464 @@
+# 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]'
+
diff --git a/jjb/nic/nic-csit-vtnrenderer.yaml b/jjb/nic/nic-csit-vtnrenderer.yaml
new file mode 100644 (file)
index 0000000..ef7c04d
--- /dev/null
@@ -0,0 +1,35 @@
+- 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}'
diff --git a/jjb/ovsdb/ovsdb-csit-scalability-daily.yaml b/jjb/ovsdb/ovsdb-csit-scalability-daily.yaml
new file mode 100755 (executable)
index 0000000..67a9410
--- /dev/null
@@ -0,0 +1,36 @@
+- 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'
index 54830fbe2e29b37f985fbfa8829de2172efeee47..cb02b3b30185649b6541231d759add9aa41ad619 100644 (file)
@@ -1,4 +1,10 @@
 STREAMS:
+- neutron-yang-migration:
+    branch: topic/master/neutron-yang-migration
+    jdks: openjdk7
+- routermanager:
+    branch: topic/routermanager
+    jdks: openjdk7
 - beryllium:
     branch: master
     jdks: openjdk7
index 4e0f05744ee9d37941e062239a71ad1be377bd37..c6793abfc9222f6dc999785c16b2caf3aa0c0d68 100644 (file)
     # 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
index f1d871b93d9df32724cc2579c21076954be8b1f3..efa8e971ea79dd7968d79211330619c989a926d3 100644 (file)
     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'
@@ -59,6 +63,7 @@
     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: ''
index ae00f1ce9ac9773b27cab622cf4cd7845c2e5822..fbbffe7834264f7b19ec0758977b7808fb24ce43 100644 (file)
@@ -7,6 +7,10 @@
         - '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]'
index 50eeca2ff2dd714d638b64c4ddd9176d6bb4a3b0..cd7ec13a8cbeab54d58d4ca9ba873be0e36c8238 100644 (file)
@@ -1,7 +1,7 @@
 - project:
     name: sfc-csit-clustering
     jobs:
-        - '{project}-csit-3node-cds-{functionality}-{install}-{stream}'
+        - '{project}-csit-3node-{functionality}-{install}-{stream}'
 
 
     # The project name
index 3fd843f31492483956522064f540a06a2dc31dae..3e7915f7fda3dd82d382c9a083742b09ccd7146b 100644 (file)
@@ -1,7 +1,7 @@
 STREAMS:
 - beryllium:
     branch: master
-    jdks: openjdk7
+    jdks: openjdk7,openjdk8
 - stable-lithium:
     branch: stable/lithium
-    jdks: openjdk7
+    jdks: openjdk7,openjdk8
index b27c57b1fd47efcbf322ecff958a1da8d990d954..641373251ac6b72ba19fd8c023e46dc0dd6e6eab 100644 (file)
             jdk: openjdk7
             jdks:
                 - openjdk7
+                - openjdk8
         - stable-lithium:
             branch: 'stable/lithium'
             jdk: openjdk7
             jdks:
                 - openjdk7
+                - openjdk8
 
     project: 'snmp'
 
diff --git a/jjb/unimgr/unimgr.cfg b/jjb/unimgr/unimgr.cfg
new file mode 100644 (file)
index 0000000..1a44f90
--- /dev/null
@@ -0,0 +1,5 @@
+STREAMS:
+- beryllium:
+    branch: master
+    jdks: openjdk7,openjdk8
+DEPENDENCIES: odlparent,yangtools,controller,ovsdb
diff --git a/jjb/unimgr/unimgr.yaml b/jjb/unimgr/unimgr.yaml
new file mode 100644 (file)
index 0000000..3e4c9d0
--- /dev/null
@@ -0,0 +1,464 @@
+# 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]'
+
index ea56d443f66b79e90a0e4ff6a4ccaae543cf37e8..c6e589c4a82e27c2beea54ee6681355a00389b22 100644 (file)
@@ -508,3 +508,97 @@ with any name other than \<project\>.yaml. The auto-update script will only
 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
similarity index 55%
rename from vagrant/rackspace-convert-base/README.md
rename to vagrant/baseline/README.md
index 974f5be31f9f3a61bd6ec98d1d42fbdbaffbcd2d..1ef1e722404cf0f9bdbbbb3c4847520cc893ba56 100644 (file)
@@ -1,7 +1,12 @@
-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:
 
@@ -24,3 +29,7 @@ CentOS 7 - Vagrant ready
 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.
similarity index 95%
rename from vagrant/rackspace-convert-base/Vagrantfile
rename to vagrant/baseline/Vagrantfile
index fdcd9a51140379bdf5507a6def6f12b59c22ab1a..dd09c1b48e15f0e41eec20cb2ddded2056e81351 100644 (file)
@@ -15,7 +15,11 @@ Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
   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
diff --git a/vagrant/baseline/bootstrap.sh b/vagrant/baseline/bootstrap.sh
new file mode 100644 (file)
index 0000000..2eb7a3c
--- /dev/null
@@ -0,0 +1,127 @@
+#!/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
similarity index 97%
rename from vagrant/rackspace-convert-base/system_reseal.sh
rename to vagrant/baseline/system_reseal.sh
index 95811fa7899c6370c0042183dfba9a3048856ae7..0b2fb8d44de8e920e0a72e53c8acc8d972e0af6b 100644 (file)
@@ -18,6 +18,9 @@ rm -rf /etc/Pegasus/*.cnf /etc/Pegasus/*.crt /etc/Pegasus/*.csr /etc/Pegasus/*.p
 
 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 "********************************************"
index 8e01b96b8ea5f02f283f90c3c734646f4e799209..c088f9cd266b5e30b7c015899192ae071681c7d5 100644 (file)
@@ -10,7 +10,7 @@ yum update -q -y
 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
diff --git a/vagrant/rackspace-convert-base/bootstrap.sh b/vagrant/rackspace-convert-base/bootstrap.sh
deleted file mode 100644 (file)
index 15d47f6..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-#!/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