Merge "BUG-2472: Add openflowplugin job configuration"
authorAndrew Grimberg <agrimberg@linuxfoundation.org>
Wed, 17 Dec 2014 16:05:09 +0000 (16:05 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Wed, 17 Dec 2014 16:05:09 +0000 (16:05 +0000)
14 files changed:
jjb/bgpcep/bgpcep.yaml
jjb/job-custom.yaml.example [deleted file]
jjb/job.yaml.example [deleted file]
jjb/job.yaml.template
jjb/odlparent/odlparent.yaml
jjb/openflowjava/openflowjava.yaml
jjb/releng-jobs.yaml
jjb/releng-macros.yaml
jjb/tcpmd5/tcpmd5.yaml
jjb/ttp/ttp.yaml
vagrant/basic-builder/README.md [new file with mode: 0644]
vagrant/basic-builder/Vagrantfile [new file with mode: 0644]
vagrant/basic-builder/bootstrap.sh [new file with mode: 0644]
vagrant/basic-builder/system_reseal.sh [new file with mode: 0644]

index f1d3fd13f8c9d8ccb0ec9287023fbcc4579630fe..2d44071f5725939b762d3d3dfd6cc9884b97282e 100644 (file)
@@ -18,6 +18,7 @@
         - stable-helium:
             branch: 'stable/helium'
 
+    project: 'bgpcep'
 
 # For the Job templates below replace instances of:
 # PROJECT with your project name (eg. controller)
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
+        - project-parameter:
+            project: '{project}'
         - gerrit-parameter:
             branch: '{branch}'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/bgpcep.git'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
         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}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/bgpcep.git'
             refspec: ''
             choosing-strategy: 'default'
 
         artifactDaysToKeep: '{build-artifact-days-to-keep}'
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
+    parameters:
+        - project-parameter:
+            project: '{project}'
+
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/bgpcep.git'
             refspec: ''
             branch: '{branch}'
 
diff --git a/jjb/job-custom.yaml.example b/jjb/job-custom.yaml.example
deleted file mode 100644 (file)
index b786949..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-# ODL Releng build templates
-- project:
-    name: controller
-    jobs:
-        - 'controller-verify-{stream}'
-        - 'controller-merge-{stream}'
-        - 'controller-daily-{stream}'
-
-    # stream:    branch with - in place of / (eg. stable-helium)
-    # branch:    branch (eg. stable/helium)
-    stream:
-        - master:
-            branch: 'master'
-        - stable-helium:
-            branch: 'stable/helium'
-
-
-# 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: 'controller-verify-{stream}'
-
-    # Job template for ODL verify jobs
-    #
-    # The purpose of this job template is to setup a ODL verify job
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable-helium)
-    #     branch:    branch (eg. stable/helium)
-
-    project-type: maven
-    node: dynamic_verify
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-        - gerrit-parameter:
-            branch: '{branch}'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/controller.git'
-            refspec: '$GERRIT_REFSPEC'
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    triggers:
-        - gerrit-trigger-patch-submitted:
-            name: 'controller'
-            branch: '{branch}'
-
-    maven:
-        maven-name: '{mvn32}'
-        root-pom: 'pom.xml'
-        goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install'
-        maven-opts: '-Xmx2048m -XX:MaxPermSize=512m'
-        settings: '{controller-settings}'
-        global-settings: '{odl-global-settings}'
-
-    publishers:
-        - email-notification:
-            email-prefix: '[controller]'
-
-- job-template:
-    name: 'controller-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:    branch with - in place of / (eg. stable-helium)
-    #     branch:    branch (eg. stable/helium)
-
-    project-type: maven
-    node: dynamic_merge
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/controller.git'
-            refspec: ''
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    triggers:
-        - gerrit-trigger-patch-merged:
-            name: 'controller'
-            branch: '{branch}'
-
-    maven:
-        maven-name: '{mvn32}'
-        root-pom: 'pom.xml'
-        goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install'
-        maven-opts: '-Xmx2048m -XX:MaxPermSize=512m'
-        settings: '{controller-settings}'
-        global-settings: '{odl-global-settings}'
-
-    publishers:
-        - email-notification:
-            email-prefix: '[controller]'
-        - maven-deploy:
-            id: ''
-            url: ''
-            unique-version: true
-            deploy-unstable: false
-
-- job-template:
-    name: 'controller-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:    branch with - in place of / (eg. stable-helium)
-    #     branch:    branch (eg. stable/helium)
-
-    project-type: maven
-    node: dynamic_verify
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/controller.git'
-            refspec: ''
-            branch: '{branch}'
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    triggers:
-        - timed: 'H H * * *'
-
-    maven:
-        maven-name: '{mvn32}'
-        root-pom: 'pom.xml'
-        goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install'
-        maven-opts: '-Xmx2048m -XX:MaxPermSize=512m'
-        settings: '{controller-settings}'
-        global-settings: '{odl-global-settings}'
-
-    publishers:
-        - email-notification:
-            email-prefix: '[controller]'
-        - sonar:
-            branch: '{stream}'
-            language: 'java'
-            maven-opts: '-Xmx1024m'
diff --git a/jjb/job.yaml.example b/jjb/job.yaml.example
deleted file mode 100644 (file)
index 98747e6..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-# 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: aaa
-    jobs:
-        - 'aaa-verify-{stream}'
-        - 'aaa-merge-{stream}'
-        - 'aaa-daily-{stream}'
-
-    # stream:    branch with - in place of / (eg. stable-helium)
-    # branch:    branch (eg. stable/helium)
-    stream:
-        - master:
-            branch: 'master'
-        - stable-helium:
-            branch: 'stable/helium'
-
-
-# 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: 'aaa-verify-{stream}'
-
-    # Job template for ODL verify jobs
-    #
-    # The purpose of this job template is to setup a ODL verify job
-    #
-    # Required Variables:
-    #     stream:    branch with - in place of / (eg. stable-helium)
-    #     branch:    branch (eg. stable/helium)
-
-    project-type: maven
-    node: dynamic_verify
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    parameters:
-        - gerrit-parameter:
-            branch: '{branch}'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/aaa.git'
-            refspec: '$GERRIT_REFSPEC'
-            choosing-strategy: 'gerrit'
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    triggers:
-        - gerrit-trigger-patch-submitted:
-            name: 'aaa'
-            branch: '{branch}'
-
-    maven:
-        maven-name: '{mvn32}'
-        root-pom: 'pom.xml'
-        goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-        settings: '{aaa-settings}'
-        global-settings: '{odl-global-settings}'
-        ignore-upstream-changes: false
-
-    publishers:
-        - email-notification:
-            email-prefix: '[aaa]'
-
-- job-template:
-    name: 'aaa-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:    branch with - in place of / (eg. stable-helium)
-    #     branch:    branch (eg. stable/helium)
-
-    project-type: maven
-    node: dynamic_merge
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/aaa.git'
-            refspec: ''
-            choosing-strategy: 'default'
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    triggers:
-        - gerrit-trigger-patch-merged:
-            name: 'aaa'
-            branch: '{branch}'
-
-    maven:
-        maven-name: '{mvn32}'
-        root-pom: 'pom.xml'
-        goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-        settings: '{aaa-settings}'
-        global-settings: '{odl-global-settings}'
-
-    publishers:
-        - email-notification:
-            email-prefix: '[aaa]'
-        - maven-deploy:
-            id: ''
-            unique-version: true
-            deploy-unstable: false
-
-- job-template:
-    name: 'aaa-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:    branch with - in place of / (eg. stable-helium)
-    #     branch:    branch (eg. stable/helium)
-
-    project-type: maven
-    node: dynamic_verify
-
-    logrotate:
-        daysToKeep: '{build-days-to-keep}'
-        numToKeep: '{build-num-to-keep}'
-        artifactDaysToKeep: '{build-artifact-days-to-keep}'
-        artifactNumToKeep: '{build-artifact-num-to-keep}'
-
-    scm:
-        - git-scm:
-            credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/aaa.git'
-            refspec: ''
-            branch: '{branch}'
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    triggers:
-        - timed: 'H H * * *'
-
-    maven:
-        maven-name: '{mvn32}'
-        root-pom: 'pom.xml'
-        goals: '-Dmaven.repo.local=$WORKSPACE/.m2repo -Dorg.ops4j.pax.url.mvn.localRepository=$WORKSPACE/.m2repo clean install'
-        maven-opts: '-Xmx1024m -XX:MaxPermSize=256m'
-        settings: '{aaa-settings}'
-        global-settings: '{odl-global-settings}'
-
-    publishers:
-        - email-notification:
-            email-prefix: '[aaa]'
-        - sonar:
-            branch: '{stream}'
-            language: 'java'
-            maven-opts: '-Xmx1024m'
index 516791a92c64dbf3571c1c2607b54fc7cfd0e7dc..a4ca4ba38585000886a1307a6f5db657c22c7427 100644 (file)
@@ -18,6 +18,7 @@
         - stable-helium:
             branch: 'stable/helium'
 
+    project: 'PROJECT'
 
 # For the Job templates below replace instances of:
 # PROJECT with your project name (eg. controller)
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
+        - project-parameter:
+            project: '{project}'
         - gerrit-parameter:
             branch: '{branch}'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/PROJECT.git'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
         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}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/PROJECT.git'
             refspec: ''
             choosing-strategy: 'default'
 
         artifactDaysToKeep: '{build-artifact-days-to-keep}'
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
+    parameters:
+        - project-parameter:
+            project: '{project}'
+
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/PROJECT.git'
             refspec: ''
             branch: '{branch}'
 
index dca0d63fa08170846732548be4c7514e6a0c7af8..2d367f34e3c359772383f21bb9214ad8719919af 100644 (file)
@@ -18,6 +18,7 @@
         - stable-helium:
             branch: 'stable/helium'
 
+    project: 'odlparent'
 
 # For the Job templates below replace instances of:
 # PROJECT with your project name (eg. controller)
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
+        - project-parameter:
+            project: '{project}'
         - gerrit-parameter:
             branch: '{branch}'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/odlparent.git'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
         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}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/odlparent.git'
             refspec: ''
             choosing-strategy: 'default'
 
         artifactDaysToKeep: '{build-artifact-days-to-keep}'
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
+    parameters:
+        - project-parameter:
+            project: '{project}'
+
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/odlparent.git'
             refspec: ''
             branch: '{branch}'
 
index 11aea1ecde0d0d3111f0c20e0eb8d27f343b8564..e8f75095a3d7a95c1ce28ccb4eb1d9c3201a74e2 100644 (file)
@@ -18,6 +18,7 @@
         - stable-helium:
             branch: 'stable/helium'
 
+    project: 'openflowjava'
 
 # For the Job templates below replace instances of:
 # PROJECT with your project name (eg. controller)
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
+        - project-parameter:
+            project: '{project}'
         - gerrit-parameter:
             branch: '{branch}'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/openflowjava.git'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
         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}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/openflowjava.git'
             refspec: ''
             choosing-strategy: 'default'
 
         artifactDaysToKeep: '{build-artifact-days-to-keep}'
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
+    parameters:
+        - project-parameter:
+            project: '{project}'
+
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/openflowjava.git'
             refspec: ''
             branch: '{branch}'
 
index 03a7a839cc077c1ab78b792aaca8ce3e6a361b2f..af482b597ab4c96c64f50b82b8110b2befda8e1b 100644 (file)
@@ -5,6 +5,8 @@
         - 'builder-verify-python'
         - 'builder-merge'
 
+    project: 'releng/builder'
+
 - job-template:
     name: builder-verify-jjb
 
         artifactNumToKeep: -1
 
     parameters:
+        - project-parameter:
+            project: '{project}'
         - gerrit-parameter:
             branch: 'master'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/releng/builder'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
@@ -55,6 +58,7 @@
     builders:
         - shell: |
             source /opt/virtualenv/jenkins-job-builder/bin/activate
+            python scripts/jjb-autoupdate-project.py
             jenkins-jobs test jjb/
 
     publishers:
         artifactNumToKeep: -1
 
     parameters:
+        - project-parameter:
+            project: '{project}'
         - gerrit-parameter:
             branch: 'master'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/releng/builder'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
         artifactNumToKeep: 5
 
     parameters:
+        - project-parameter:
+            project: '{project}'
         - gerrit-parameter:
             branch: 'master'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/releng/builder'
             refspec: ''
             choosing-strategy: 'default'
 
index 4bab7f435c5649200060c3878f38e0cd303b4852..6cac01cf13b5a9907c752bd26f6a43e6276f055a 100644 (file)
@@ -1,5 +1,13 @@
 # OLD Releng macros
 
+- parameter:
+    name: project-parameter
+    parameters:
+        - string:
+            name: PROJECT
+            default: '{project}'
+            description: "JJB configured PROJECT parameter to identify an ODL Gerrit project"
+
 - parameter:
     name: gerrit-parameter
     parameters:
@@ -13,7 +21,7 @@
     scm:
         - git:
             credentials-id: '{credentials-id}'
-            url: '{scm-url}'
+            url: '$GIT_BASE'
             refspec: ''
             branches:
                 - 'origin/{branch}'
@@ -25,7 +33,7 @@
     scm:
         - git:
             credentials-id: '{credentials-id}'
-            url: '{scm-url}'
+            url: '$GIT_BASE'
             refspec: '{refspec}'
             branches:
                 - 'origin/$GERRIT_BRANCH'
index bd9687c5f1a98931b5c9dcef91ed21bb51637b4b..b3f14eab865168557ac824a8a883a60fc4483927 100644 (file)
@@ -18,6 +18,7 @@
         - stable-helium:
             branch: 'stable/helium'
 
+    project: 'tcpmd5'
 
 # For the Job templates below replace instances of:
 # PROJECT with your project name (eg. controller)
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
+        - project-parameter:
+            project: '{project}'
         - gerrit-parameter:
             branch: '{branch}'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/tcpmd5.git'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
         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}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/tcpmd5.git'
             refspec: ''
             choosing-strategy: 'default'
 
         artifactDaysToKeep: '{build-artifact-days-to-keep}'
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
+    parameters:
+        - project-parameter:
+            project: '{project}'
+
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/tcpmd5.git'
             refspec: ''
             branch: '{branch}'
 
index 72d32909434ab284623f88dc87915ed889346d58..f686a7e53fe275ac4f40596212827c405d37efda 100644 (file)
@@ -18,6 +18,7 @@
         - stable-helium:
             branch: 'stable/helium'
 
+    project: 'ttp'
 
 # For the Job templates below replace instances of:
 # PROJECT with your project name (eg. controller)
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
     parameters:
+        - project-parameter:
+            project: '{project}'
         - gerrit-parameter:
             branch: '{branch}'
 
     scm:
         - gerrit-trigger-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/ttp.git'
             refspec: '$GERRIT_REFSPEC'
             choosing-strategy: 'gerrit'
 
         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}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/ttp.git'
             refspec: ''
             choosing-strategy: 'default'
 
         artifactDaysToKeep: '{build-artifact-days-to-keep}'
         artifactNumToKeep: '{build-artifact-num-to-keep}'
 
+    parameters:
+        - project-parameter:
+            project: '{project}'
+
     scm:
         - git-scm:
             credentials-id: '{ssh-credentials}'
-            scm-url: 'ssh://jenkins-releng@git.opendaylight.org:29418/ttp.git'
             refspec: ''
             branch: '{branch}'
 
diff --git a/vagrant/basic-builder/README.md b/vagrant/basic-builder/README.md
new file mode 100644 (file)
index 0000000..31ec3c7
--- /dev/null
@@ -0,0 +1,23 @@
+basic-builder can be used to take an already converted Rackspace
+native base image into a usuable basic java system for use in the
+OpenDaylight build and testing environment.
+
+Please see the rackspace-convert-base vagrant setup for creation of the
+needed base image.
+
+This vagrant expects (by default) a personal Rackspace image named
+
+'CentOS 7 - Vagrant ready'
+
+To spin up and utilize.
+
+$ RSIMAGE='${baseimagename}' vagrant up --provider=rackspace
+
+Will execute this vagrant against a differently named base image
+
+$ RSRESEAL=true vagrant up --provider=rackspace
+
+NOTE: resealing will cause the vagrant to run the resealing operation.
+This operation will intentionally destroy current SSH pubkeys installed
+on the system as well as reset log files and network configurations. You
+have been warned.
diff --git a/vagrant/basic-builder/Vagrantfile b/vagrant/basic-builder/Vagrantfile
new file mode 100644 (file)
index 0000000..a71c67a
--- /dev/null
@@ -0,0 +1,55 @@
+# -*- mode: ruby -*-
+# vi: set ft=ruby sw=2 ts=2 sts=2 et :
+
+# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
+VAGRANTFILE_API_VERSION = "2"
+
+Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
+  # root off of the rackspace provider dummy box
+  config.vm.box = "dummy"
+
+  # rackspace systems, even with cloud-init
+  # don't seem to have the cloud int user ${osname} (or similar)
+  # getting the ssh key for some reason, root does for sure
+  # so use that
+  config.ssh.username = 'root'
+
+  # Fedora and EL systems default to requiring tty for sudo
+  # This should have been disabled with the Vagrant ready
+  # base box conversion (see rackspace-convert-base vagrant)
+  # but just to be safe
+  config.ssh.pty = true
+
+  # make sure to set the following in your
+  # ~/.vagrant.d/boxes/dummy/0/rackspace/Vagrantfile
+  # rs.username
+  # rs.api_key
+  # rs.rackspace_region
+  #
+  # If you are not using an SSH token / smartcard also set this
+  # rs.key_name
+  # config.ssh.private_key_path -- set this outside the rackspace block
+  #         in your base box
+  config.vm.provider :rackspace do |rs|
+    # create these base builds always on the smallest system possible
+    rs.flavor = 'general1-1'
+
+    # Default the CentOS 7 - Vagrant ready image unless overriden by a RSIMAGE
+    # environment variable
+    if ENV['RSIMAGE']
+      rs.image = ENV['RSIMAGE']
+    else
+      rs.image = 'CentOS 7 - Vagrant ready'
+    end
+  end
+
+  # run our bootstrapping for the ovsdb-devstack system
+  config.vm.provision 'shell', path: 'bootstrap.sh'
+
+  # set RSRESEAL to... anything if you want to snap an image of this box
+  # not setting the environment variable will cause the system to come
+  # up fully and not be in a resealable state
+  if ENV['RSRESEAL']
+    config.vm.provision 'shell', path: 'system_reseal.sh'
+  end
+end
diff --git a/vagrant/basic-builder/bootstrap.sh b/vagrant/basic-builder/bootstrap.sh
new file mode 100644 (file)
index 0000000..f029397
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# vim: sw=4 ts=4 sts=4 et tw=72 :
+
+yum clean all
+# Add the ODL yum repo (not needed for java nodes, but useful for
+# potential later layers)
+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
+
+# Make sure the system is fully up to date
+yum update -q -y
+
+# Add in git (needed for most everything) and XML-XPath as it is useful
+# for doing CLI based CML parsing of POM files
+yum install -q -y git perl-XML-XPath
+
+# install all available openjdk-devel sets
+yum install -q -y 'java-*-openjdk-devel'
+
+# we currently use Java7 (aka java-1.7.0-openjdk) as our standard make
+# sure that this is the java that alternatives is pointing to, dynamic
+# spin-up scripts can switch to any of the current JREs installed if
+# needed
+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
+
+# The following packages are not needed by all projects, but they are
+# needed by enough to make them useful everywhere
+yum install -q -y @development perl-{Digest-SHA,ExtUtils-MakeMaker} \
+    ant {boost,gtest,json-c,libcurl,libxml2,libvirt,openssl}-devel \
+    {readline,unixODBC}-devel
+
+# The following is needed by opendove, if this is to be perfomed against
+# an EL6 system some of these packages are not availalble (or at the
+# wrong version) in publically available repositories as such this
+# should only really be done on an EL7 (or F18+) system
+yum install -q -y {jansson,libevent,libnl,libuuid}-devel \
+    python-{devel,virtualenv,setuptools}
diff --git a/vagrant/basic-builder/system_reseal.sh b/vagrant/basic-builder/system_reseal.sh
new file mode 100644 (file)
index 0000000..ba54ce2
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# clean-up from any prior cloud-init networking
+rm -rf /etc/sysconfig/network-scripts/{ifcfg,route}-eth*
+
+rm -rf /etc/Pegasus/*.cnf /etc/Pegasus/*.crt /etc/Pegasus/*.csr /etc/Pegasus/*.pem /etc/Pegasus/*.srl /root/anaconda-ks.cfg /root/anaconda-post.log /root/initial-setup-ks.cfg /root/install.log /root/install.log.syslog /var/cache/fontconfig/* /var/cache/gdm/* /var/cache/man/* /var/lib/AccountService/users/* /var/lib/fprint/* /var/lib/logrotate.status /var/log/*.log* /var/log/BackupPC/LOG /var/log/ConsoleKit/* /var/log/anaconda.syslog /var/log/anaconda/* /var/log/apache2/*_log /var/log/apache2/*_log-* /var/log/apt/* /var/log/aptitude* /var/log/audit/* /var/log/btmp* /var/log/ceph/*.log /var/log/chrony/*.log /var/log/cron* /var/log/cups/*_log /var/log/debug* /var/log/dmesg* /var/log/exim4/* /var/log/faillog* /var/log/gdm/* /var/log/glusterfs/*glusterd.vol.log /var/log/glusterfs/glusterfs.log /var/log/httpd/*log /var/log/installer/* /var/log/jetty/jetty-console.log /var/log/journal/* /var/log/lastlog* /var/log/libvirt/libvirtd.log /var/log/libvirt/lxc/*.log /var/log/libvirt/qemu/*.log /var/log/libvirt/uml/*.log /var/log/lightdm/* /var/log/mail/* /var/log/maillog* /var/log/messages* /var/log/ntp /var/log/ntpstats/* /var/log/ppp/connect-errors /var/log/rhsm/* /var/log/sa/* /var/log/secure* /var/log/setroubleshoot/*.log /var/log/spooler* /var/log/squid/*.log /var/log/syslog* /var/log/tallylog* /var/log/tuned/tuned.log /var/log/wtmp* /var/named/data/named.run
+
+rm -rf ~/.viminfo /etc/ssh/ssh*key*
+
+echo "********************************************"
+echo "*   PLEASE SNAPSHOT IMAGE AT THIS TIME     *"
+echo "********************************************"