Merge "Add missing Maven properties section"
authorAndrew Grimberg <agrimberg@linuxfoundation.org>
Tue, 1 Sep 2015 14:28:42 +0000 (14:28 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Tue, 1 Sep 2015 14:28:42 +0000 (14:28 +0000)
21 files changed:
jjb/integration/integration-distribution-jobs.yaml [new file with mode: 0644]
jjb/integration/integration-macros.yaml
jjb/integration/integration-test-jobs.yaml [moved from jjb/integration/integration-jobs.yaml with 80% 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.cfg
jjb/ovsdb/ovsdb.yaml
jjb/releng-defaults.yaml
jjb/releng-jobs.yaml
jjb/sfc/sfc-csit-clustering.yaml
jjb/unimgr/unimgr.cfg [new file with mode: 0644]
jjb/unimgr/unimgr.yaml [new file with mode: 0644]
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/rackspace-convert-base/bootstrap.sh [deleted file]

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 41f29bf1dad0fbd5f6a5d1e3ee5e0fe239f7141e..960d3f057af16d8e474c69f4c03d4bdf4e0b489e 100644 (file)
             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 gerrit from any project and uses the project 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-distribution-scm
+# Operation: this macro downloads the integration/distribution repo and uses distribution as basedir
+# Used by: {project}-csit-* and integration-patch-test-{stream} job templates
+
 - scm:
-    name: integration-git-scm
+    name: integration-distribution-scm
     scm:
         - git:
             credentials-id: '{credentials-id}'
-            basedir: 'integration'
-            url: '$GIT_BASE'
+            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
     scm:
             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: 'true'
-                - 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 test/csit/suites/{project}/**
+# Used by: {project}-verify-csit-* job templates
 
 - trigger:
     name: integration-test-gerrit-trigger-patch-submitted
                   - compare-type: 'ANT'
                     pattern: 'test/csit/suites/{project}/**'
 
+# Macro: integration-csit-gerrit-trigger-patch-submitted
+# Operation: this macro sets a trigger for patch submit on test/csit/**
+# Used by: integration-verify-csit-1node-{stream} job template
+
 - trigger:
     name: integration-csit-gerrit-trigger-patch-submitted
     triggers:
                   - compare-type: 'ANT'
                     pattern: 'test/csit/**'
 
+# Macro: integration-csit-gerrit-trigger-patch-merged
+# Operation: this macro sets a trigger for patch merged on test/csit/**
+# Used by: not used yet
+
 - trigger:
     name: integration-csit-gerrit-trigger-patch-merged
     triggers:
                   - compare-type: 'ANT'
                     pattern: 'test/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
     wrappers:
 # 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:
similarity index 80%
rename from jjb/integration/integration-jobs.yaml
rename to jjb/integration/integration-test-jobs.yaml
index 90e37e5188433af67d99e2e0a9478ca44319c463..34bbd2035cd8efc0af2cc01eb2cb0f2c3db1fac0 100644 (file)
@@ -1,10 +1,8 @@
 
 - project:
-    name: integration-jobs
+    name: integration-test-jobs
     jobs:
         - 'integration-csit-verify-1node-{stream}'
-        - 'integration-distribution-verify-{stream}'
-        - 'integration-distribution-merge-{stream}'
         - 'integration-distribution-offline-{stream}'
         - 'integration-distribution-test-{stream}'
         - 'integration-patch-test-{stream}'
         aaa-distribution-{stream},
         integration-distribution-merge-{stream}
 
+# Template: integration-csit-verify-1node-{stream}
+# Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. library or variables)
+# Operation: This job template performs a base openflow test every time there is a change in the csit folder.
+
 - job-template:
     name: 'integration-csit-verify-1node-{stream}'
 
         - email-notification:
             email-prefix: '[integration]'
 
-- 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'
-        - 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:
-        - integration-distribution-gerrit-trigger-patch-submitted:
-            name: 'integration'
-            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'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            choosing-strategy: 'default'
-
-    wrappers:
-        - build-timeout
-        - ssh-agent-credentials:
-            users:
-                - '{ssh-credentials}'
-
-    triggers:
-        - integration-distribution-gerrit-trigger-patch-merged:
-            name: 'integration'
-            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
+# Template: integration-distribution-offline-{stream}
+# Goal: Verify distribution can start with no internet connection
+# Operation: This daily job template deployes the controller removing any external repository definition
 
 - job-template:
     name: 'integration-distribution-offline-{stream}'
         - 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}'
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..4fe432fb6cf79e7ff2772f2f17cb9ed2a9662757 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}'
+
+    scm:
+        - git-scm:
+            credentials-id: '{ssh-credentials}'
+            branch: 'master'
+
+    wrappers:
+        - ssh-agent-credentials:
+            users:
+                - '{ssh-credentials}'
+
+    triggers:
+        - reverse:
+            jobs: 'builder-merge'
+            result: 'success'
+
+    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
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]'
+
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 "********************************************"
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