Split up genesis.yml into its component installers so that we can specify nodes 99/299/4
authorAric Gardner <agardner@linuxfoundation.org>
Mon, 13 Apr 2015 13:41:47 +0000 (09:41 -0400)
committerAric Gardner <agardner@linuxfoundation.org>
Mon, 13 Apr 2015 15:50:23 +0000 (11:50 -0400)
Change-Id: I97fecab46df84687e73d5e98bed96cacc2e8cb0a
JIRA:0000
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
jjb/genesis/genesis-docs.yml [new file with mode: 0644]
jjb/genesis/genesis-foreman.yml [moved from jjb/genesis/genesis.yml with 61% similarity]
jjb/genesis/genesis-fuel.yml [new file with mode: 0644]
jjb/genesis/genesis-juju.yml [new file with mode: 0644]
jjb/genesis/genesis-opensteak.yml [new file with mode: 0644]

diff --git a/jjb/genesis/genesis-docs.yml b/jjb/genesis/genesis-docs.yml
new file mode 100644 (file)
index 0000000..aeee562
--- /dev/null
@@ -0,0 +1,62 @@
+# this is the job configuration for bgs
+- project:
+
+    name: genesis-docs
+
+    jobs:
+        - 'genesis-build-docs'
+
+    # stream:    branch with - in place of / (eg. stable-helium)
+    # branch:    branch (eg. stable/helium)
+    stream:
+        - master:
+            branch: 'master'
+
+    project: 'genesis'
+
+########################
+# job templates
+########################
+- job-template:
+    name: 'genesis-build-docs'
+
+    project-type: freestyle
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 40
+        artifactDaysToKeep: -1
+        artifactNumToKeep: 5
+
+    parameters:
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            choosing-strategy: 'default'
+
+    wrappers:
+        - ssh-agent-credentials:
+            user: '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            trigger-on:
+                - change-merged-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'remerge'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'genesis'
+                branches:
+                    - branch-compare-type: 'ANT'
+                      branch-pattern: '**/master'
+
+    builders:
+        - shell: 
+            !include-raw build-docu.sh
similarity index 61%
rename from jjb/genesis/genesis.yml
rename to jjb/genesis/genesis-foreman.yml
index 30d467e..c63b423 100644 (file)
@@ -1,18 +1,14 @@
 # this is the job configuration for bgs
 - project:
 
-    name: genesis
+    name: genesis-foreman
 
     installer:
         - foreman
-        - fuel
-        - opensteak
-        - juju
     jobs:
-        - 'genesis-{installer}-verify'
-        - 'genesis-{installer}-merge'
-        - 'genesis-{installer}-daily-{stream}'
-        - 'genesis-build-docs'
+        - 'genesis-foreman-verify'
+        - 'genesis-foreman-merge'
+        - 'genesis-foreman-daily-{stream}'
 
     # stream:    branch with - in place of / (eg. stable-helium)
     # branch:    branch (eg. stable/helium)
@@ -27,7 +23,7 @@
 ########################
 
 - job-template:
-    name: 'genesis-{installer}-verify'
+    name: 'genesis-foreman-verify'
 
     project-type: freestyle
 
                   - compare-type: ANT
                     pattern: 'common/**'
                   - compare-type: ANT
-                    pattern: '{installer}/**'
+                    pattern: 'foreman/**'
 
 
     builders:
-        - '{installer}-verify'
+        - 'foreman-verify'
 
 - job-template:
-    name: 'genesis-{installer}-merge'
+    name: 'genesis-foreman-merge'
 
     # builder-merge job to run JJB update
     #
                   - compare-type: ANT
                     pattern: 'common/**'
                   - compare-type: ANT
-                    pattern: '{installer}/**'
+                    pattern: 'foreman/**'
 
     builders:
-        - '{installer}-merge'
+        - 'foreman-merge'
 
 - job-template:
-    name: 'genesis-{installer}-daily-{stream}'
+    name: 'genesis-foreman-daily-{stream}'
 
     project-type: freestyle
 
             description: "Directory where the build artifact will be located upon the completion of the build."
         - string:
             name: GS_URL
-            default: 'artifacts.opnfv.org/genesis/{installer}'
+            default: 'artifacts.opnfv.org/genesis/foreman'
             description: "URL to Google Storage."
         - string:
             name: INSTALLER
-            default: '{installer}'
+            default: 'foreman'
             description: "Installer to use."
         - string:
             name: GIT_BASE
         artifactNumToKeep: -1
 
     builders:
-        - '{installer}-daily-master'
+        - 'foreman-daily-master'
 
-- job-template:
-    name: 'genesis-build-docs'
-
-    project-type: freestyle
-
-    logrotate:
-        daysToKeep: 30
-        numToKeep: 40
-        artifactDaysToKeep: -1
-        artifactNumToKeep: 5
-
-    parameters:
-        - project-parameter:
-            project: '{project}'
-        - gerrit-parameter:
-            branch: 'master'
-
-    scm:
-        - gerrit-trigger-scm:
-            credentials-id: '{ssh-credentials}'
-            refspec: ''
-            choosing-strategy: 'default'
-
-    wrappers:
-        - ssh-agent-credentials:
-            user: '{ssh-credentials}'
-
-    triggers:
-        - gerrit:
-            trigger-on:
-                - change-merged-event
-                - comment-added-contains-event:
-                    comment-contains-value: 'remerge'
-            projects:
-              - project-compare-type: 'ANT'
-                project-pattern: 'genesis'
-                branches:
-                    - branch-compare-type: 'ANT'
-                      branch-pattern: '**/master'
-
-    builders:
-        - shell: 
-            !include-raw build-docu.sh
 
 ########################
 # builder macros
             # remove the BUILD_DIRECTORY and downlaoded artifact to reclaim some space
             /bin/rm -rf $BUILD_DIRECTORY
             /bin/rm -rf $WORKSPACE/opnfv.iso
-
-- builder:
-    name: fuel-verify
-    builders:
-        - shell: |
-            #!/bin/bash
-            set -o errexit
-            set -o nounset
-            set -o pipefail
-            set -x
-
-            # set/create the cache location
-            OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
-            [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
-
-            # do the build
-            cd $WORKSPACE/fuel/ci
-            ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
-
-            # list the build artifacts
-            ls -al $BUILD_DIRECTORY
-
-            # remove the BUILD_DIRECTORY to reclaim some space
-            /bin/rm -rf $BUILD_DIRECTORY
-
-- builder:
-    name: fuel-merge
-    builders:
-        - shell: |
-            #!/bin/bash
-            set -o errexit
-            set -o nounset
-            set -o pipefail
-            set -x
-
-            # set/create the cache location
-            OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
-            [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
-
-            # do the build
-            cd $WORKSPACE/fuel/ci
-            ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
-
-            # list the build artifacts
-            ls -al $BUILD_DIRECTORY
-
-            # remove the BUILD_DIRECTORY to reclaim some space
-            /bin/rm -rf $BUILD_DIRECTORY
-
-- builder:
-    name: fuel-daily-master
-    builders:
-        - shell: |
-            #!/bin/bash
-            set -o errexit
-            set -o nounset
-            set -o pipefail
-            set -x
-
-            # set/create the cache location
-            OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
-            [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
-
-            # do the build
-            cd $WORKSPACE/fuel/ci
-            ./build.sh -f t -v $BUILD_ID -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
-
-        - shell: |
-            #!/bin/bash
-            set -o errexit
-            set -o nounset
-            set -o pipefail
-            set -x
-
-            # list the build artifacts
-            ls -al $BUILD_DIRECTORY
-
-            cd $BUILD_DIRECTORY
-
-            # save information regarding artifact into file
-            (
-                echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
-                echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
-                echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$BUILD_ID.iso"
-                echo "OPNFV_BUILD_URL=$BUILD_URL"
-                echo "OPNFV_BUILD=OK"
-            ) > opnfv-$BUILD_ID.properties
-
-            # copy artifact property file as latest.properties
-            # so we can directly get info regarding latest artifact
-            /bin/cp -f opnfv-$BUILD_ID.properties latest.properties
-
-            # upload artifact and additional files to google storage
-            gsutil cp opnfv-$BUILD_ID.iso gs://$GS_URL/opnfv-$BUILD_ID.iso
-            gsutil cp opnfv-$BUILD_ID.properties gs://$GS_URL/opnfv-$BUILD_ID.properties
-            gsutil cp latest.properties gs://$GS_URL/latest.properties
-
-        - shell: |
-            #!/bin/bash
-            set -o errexit
-            set -o nounset
-            set -o pipefail
-            set -x
-
-            # get the latest.properties file in order to get info regarding latest artifact
-            gsutil cp gs://$GS_URL/latest.properties latest.properties
-
-            # check if we got the file
-            [[ -f latest.properties ]] || exit 1
-
-            # source the file so we get OPNFV vars
-            source latest.properties
-
-            # download the file
-            gsutil cp gs://$OPNFV_ARTIFACT_URL $WORKSPACE/opnfv.iso
-
-            # list the file
-            ls -al $WORKSPACE/opnfv.iso
-
-            # remove the BUILD_DIRECTORY and downlaoded artifact to reclaim some space
-            /bin/rm -rf $BUILD_DIRECTORY
-            /bin/rm -rf $WORKSPACE/opnfv.iso
-
-- builder:
-    name: opensteak-verify
-    builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Hello World!"
-
-- builder:
-    name: opensteak-merge
-    builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Hello World!"
-
-- builder:
-    name: opensteak-daily-master
-    builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Hello World!"
-- builder:
-    name: juju-verify
-    builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Hello World!"
-
-- builder:
-    name: juju-merge
-    builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Hello World!"
-
-- builder:
-    name: juju-daily-master
-    builders:
-        - shell: |
-            #!/bin/bash
-
-            echo "Hello World!"
diff --git a/jjb/genesis/genesis-fuel.yml b/jjb/genesis/genesis-fuel.yml
new file mode 100644 (file)
index 0000000..6d297aa
--- /dev/null
@@ -0,0 +1,321 @@
+# this is the job configuration for bgs
+- project:
+
+    name: genesis-fuel
+
+    installer:
+        - fuel
+    jobs:
+        - 'genesis-fuel-verify'
+        - 'genesis-fuel-merge'
+        - 'genesis-fuel-daily-{stream}'
+
+    # stream:    branch with - in place of / (eg. stable-helium)
+    # branch:    branch (eg. stable/helium)
+    stream:
+        - master:
+            branch: 'master'
+
+    project: 'genesis'
+
+########################
+# job templates
+########################
+
+- job-template:
+    name: 'genesis-fuel-verify'
+
+    project-type: freestyle
+
+    node: ericsson-build
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+        - 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:
+            user: '{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'
+                - comment-added-contains-event:
+                    comment-contains-value: 'reverify'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'genesis'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/master'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'common/**'
+                  - compare-type: ANT
+                    pattern: 'fuel/**'
+
+
+    builders:
+        - 'fuel-verify'
+
+- job-template:
+    name: 'genesis-fuel-merge'
+
+    # builder-merge job to run JJB update
+    #
+    # This job's purpose is to update all the JJB
+
+    project-type: freestyle
+
+    node: ericsson-build
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 40
+        artifactDaysToKeep: -1
+        artifactNumToKeep: 5
+
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            choosing-strategy: 'default'
+
+    wrappers:
+        - ssh-agent-credentials:
+            user: '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            trigger-on:
+                - change-merged-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'remerge'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'genesis'
+                branches:
+                    - branch-compare-type: 'ANT'
+                      branch-pattern: '**/master'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'common/**'
+                  - compare-type: ANT
+                    pattern: 'fuel/**'
+
+    builders:
+        - 'fuel-merge'
+
+- job-template:
+    name: 'genesis-fuel-daily-{stream}'
+
+    project-type: freestyle
+
+    node: ericsson-build
+
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+            description: "Directory where the build artifact will be located upon the completion of the build."
+        - string:
+            name: GS_URL
+            default: 'artifacts.opnfv.org/genesis/fuel'
+            description: "URL to Google Storage."
+        - string:
+            name: INSTALLER
+            default: 'fuel'
+            description: "Installer to use."
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+        - string:
+            name: GERRIT_BRANCH
+            default: origin/master
+            description: "Branch to build, deploy and test."
+        - string:
+            name: GERRIT_REFSPEC
+            default: refs/heads/master
+            description: "Refspec to retrieve."
+
+    scm:
+        - git:
+            skip-tag: true
+            url: $GIT_BASE
+            branches:
+                - $GERRIT_BRANCH
+            refspec: $GERRIT_REFSPEC
+
+    triggers:
+        - pollscm: '@midnight'
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - 'fuel-daily-master'
+
+
+- builder:
+    name: fuel-verify
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+            set -x
+
+            # set/create the cache location
+            OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
+            [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
+
+            # do the build
+            cd $WORKSPACE/fuel/ci
+            ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
+
+            # list the build artifacts
+            ls -al $BUILD_DIRECTORY
+
+            # remove the BUILD_DIRECTORY to reclaim some space
+            /bin/rm -rf $BUILD_DIRECTORY
+
+- builder:
+    name: fuel-merge
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+            set -x
+
+            # set/create the cache location
+            OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
+            [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
+
+            # do the build
+            cd $WORKSPACE/fuel/ci
+            ./build.sh -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
+
+            # list the build artifacts
+            ls -al $BUILD_DIRECTORY
+
+            # remove the BUILD_DIRECTORY to reclaim some space
+            /bin/rm -rf $BUILD_DIRECTORY
+
+- builder:
+    name: fuel-daily-master
+    builders:
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+            set -x
+
+            # set/create the cache location
+            OPNFV_FUEL_CACHE="$(dirname $WORKSPACE)/opnfv_fuel_cache"
+            [[ -d $OPNFV_FUEL_CACHE ]] || mkdir -p $OPNFV_FUEL_CACHE
+
+            # do the build
+            cd $WORKSPACE/fuel/ci
+            ./build.sh -f t -v $BUILD_ID -c file://$OPNFV_FUEL_CACHE $BUILD_DIRECTORY
+
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+            set -x
+
+            # list the build artifacts
+            ls -al $BUILD_DIRECTORY
+
+            cd $BUILD_DIRECTORY
+
+            # save information regarding artifact into file
+            (
+                echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
+                echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
+                echo "OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$BUILD_ID.iso"
+                echo "OPNFV_BUILD_URL=$BUILD_URL"
+                echo "OPNFV_BUILD=OK"
+            ) > opnfv-$BUILD_ID.properties
+
+            # copy artifact property file as latest.properties
+            # so we can directly get info regarding latest artifact
+            /bin/cp -f opnfv-$BUILD_ID.properties latest.properties
+
+            # upload artifact and additional files to google storage
+            gsutil cp opnfv-$BUILD_ID.iso gs://$GS_URL/opnfv-$BUILD_ID.iso
+            gsutil cp opnfv-$BUILD_ID.properties gs://$GS_URL/opnfv-$BUILD_ID.properties
+            gsutil cp latest.properties gs://$GS_URL/latest.properties
+
+        - shell: |
+            #!/bin/bash
+            set -o errexit
+            set -o nounset
+            set -o pipefail
+            set -x
+
+            # get the latest.properties file in order to get info regarding latest artifact
+            gsutil cp gs://$GS_URL/latest.properties latest.properties
+
+            # check if we got the file
+            [[ -f latest.properties ]] || exit 1
+
+            # source the file so we get OPNFV vars
+            source latest.properties
+
+            # download the file
+            gsutil cp gs://$OPNFV_ARTIFACT_URL $WORKSPACE/opnfv.iso
+
+            # list the file
+            ls -al $WORKSPACE/opnfv.iso
+
+            # remove the BUILD_DIRECTORY and downlaoded artifact to reclaim some space
+            /bin/rm -rf $BUILD_DIRECTORY
+            /bin/rm -rf $WORKSPACE/opnfv.iso
diff --git a/jjb/genesis/genesis-juju.yml b/jjb/genesis/genesis-juju.yml
new file mode 100644 (file)
index 0000000..8e17a7b
--- /dev/null
@@ -0,0 +1,219 @@
+# this is the job configuration for bgs
+- project:
+
+    name: genesis-juju
+
+    installer:
+        - juju
+    jobs:
+        - 'genesis-juju-verify'
+        - 'genesis-juju-merge'
+        - 'genesis-juju-daily-{stream}'
+
+    # stream:    branch with - in place of / (eg. stable-helium)
+    # branch:    branch (eg. stable/helium)
+    stream:
+        - master:
+            branch: 'master'
+
+    project: 'genesis'
+
+########################
+# job templates
+########################
+
+- job-template:
+    name: 'genesis-juju-verify'
+
+    project-type: freestyle
+
+    node: ericsson-build
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+        - 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:
+            user: '{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'
+                - comment-added-contains-event:
+                    comment-contains-value: 'reverify'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'genesis'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/master'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'common/**'
+                  - compare-type: ANT
+                    pattern: 'juju/**'
+
+
+    builders:
+        - 'juju-verify'
+
+- job-template:
+    name: 'genesis-juju-merge'
+
+    # builder-merge job to run JJB update
+    #
+    # This job's purpose is to update all the JJB
+
+    project-type: freestyle
+
+    node: ericsson-build
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 40
+        artifactDaysToKeep: -1
+        artifactNumToKeep: 5
+
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            choosing-strategy: 'default'
+
+    wrappers:
+        - ssh-agent-credentials:
+            user: '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            trigger-on:
+                - change-merged-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'remerge'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'genesis'
+                branches:
+                    - branch-compare-type: 'ANT'
+                      branch-pattern: '**/master'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'common/**'
+                  - compare-type: ANT
+                    pattern: 'juju/**'
+
+    builders:
+        - 'juju-merge'
+
+- job-template:
+    name: 'genesis-juju-daily-{stream}'
+
+    project-type: freestyle
+
+    node: ericsson-build
+
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+            description: "Directory where the build artifact will be located upon the completion of the build."
+        - string:
+            name: GS_URL
+            default: 'artifacts.opnfv.org/genesis/juju'
+            description: "URL to Google Storage."
+        - string:
+            name: INSTALLER
+            default: 'juju'
+            description: "Installer to use."
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+        - string:
+            name: GERRIT_BRANCH
+            default: origin/master
+            description: "Branch to build, deploy and test."
+        - string:
+            name: GERRIT_REFSPEC
+            default: refs/heads/master
+            description: "Refspec to retrieve."
+
+    scm:
+        - git:
+            skip-tag: true
+            url: $GIT_BASE
+            branches:
+                - $GERRIT_BRANCH
+            refspec: $GERRIT_REFSPEC
+
+    triggers:
+        - pollscm: '@midnight'
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - 'juju-daily-master'
+
+- builder:
+    name: juju-verify
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World!"
+
+- builder:
+    name: juju-merge
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World!"
+
+- builder:
+    name: juju-daily-master
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World!"
diff --git a/jjb/genesis/genesis-opensteak.yml b/jjb/genesis/genesis-opensteak.yml
new file mode 100644 (file)
index 0000000..f232235
--- /dev/null
@@ -0,0 +1,219 @@
+# this is the job configuration for bgs
+- project:
+
+    name: genesis-opensteak
+
+    installer:
+        - opensteak
+    jobs:
+        - 'genesis-opensteak-verify'
+        - 'genesis-opensteak-merge'
+        - 'genesis-opensteak-daily-{stream}'
+
+    # stream:    branch with - in place of / (eg. stable-helium)
+    # branch:    branch (eg. stable/helium)
+    stream:
+        - master:
+            branch: 'master'
+
+    project: 'genesis'
+
+########################
+# job templates
+########################
+
+- job-template:
+    name: 'genesis-opensteak-verify'
+
+    project-type: freestyle
+
+    node: ericsson-build
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+        - 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:
+            user: '{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'
+                - comment-added-contains-event:
+                    comment-contains-value: 'reverify'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'genesis'
+                branches:
+                  - branch-compare-type: 'ANT'
+                    branch-pattern: '**/master'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'common/**'
+                  - compare-type: ANT
+                    pattern: 'opensteak/**'
+
+
+    builders:
+        - 'opensteak-verify'
+
+- job-template:
+    name: 'genesis-opensteak-merge'
+
+    # builder-merge job to run JJB update
+    #
+    # This job's purpose is to update all the JJB
+
+    project-type: freestyle
+
+    node: ericsson-build
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 40
+        artifactDaysToKeep: -1
+        artifactNumToKeep: 5
+
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+        - project-parameter:
+            project: '{project}'
+        - gerrit-parameter:
+            branch: 'master'
+
+    scm:
+        - gerrit-trigger-scm:
+            credentials-id: '{ssh-credentials}'
+            refspec: ''
+            choosing-strategy: 'default'
+
+    wrappers:
+        - ssh-agent-credentials:
+            user: '{ssh-credentials}'
+
+    triggers:
+        - gerrit:
+            trigger-on:
+                - change-merged-event
+                - comment-added-contains-event:
+                    comment-contains-value: 'remerge'
+            projects:
+              - project-compare-type: 'ANT'
+                project-pattern: 'genesis'
+                branches:
+                    - branch-compare-type: 'ANT'
+                      branch-pattern: '**/master'
+                file-paths:
+                  - compare-type: ANT
+                    pattern: 'common/**'
+                  - compare-type: ANT
+                    pattern: 'opensteak/**'
+
+    builders:
+        - 'opensteak-merge'
+
+- job-template:
+    name: 'genesis-opensteak-daily-{stream}'
+
+    project-type: freestyle
+
+    node: ericsson-build
+
+    parameters:
+        - string:
+            name: BUILD_DIRECTORY
+            default: $WORKSPACE/build_output
+            description: "Directory where the build artifact will be located upon the completion of the build."
+        - string:
+            name: GS_URL
+            default: 'artifacts.opnfv.org/genesis/opensteak'
+            description: "URL to Google Storage."
+        - string:
+            name: INSTALLER
+            default: 'opensteak'
+            description: "Installer to use."
+        - string:
+            name: GIT_BASE
+            default: https://gerrit.opnfv.org/gerrit/genesis
+        - string:
+            name: GERRIT_BRANCH
+            default: origin/master
+            description: "Branch to build, deploy and test."
+        - string:
+            name: GERRIT_REFSPEC
+            default: refs/heads/master
+            description: "Refspec to retrieve."
+
+    scm:
+        - git:
+            skip-tag: true
+            url: $GIT_BASE
+            branches:
+                - $GERRIT_BRANCH
+            refspec: $GERRIT_REFSPEC
+
+    triggers:
+        - pollscm: '@midnight'
+
+    logrotate:
+        daysToKeep: 30
+        numToKeep: 10
+        artifactDaysToKeep: -1
+        artifactNumToKeep: -1
+
+    builders:
+        - 'opensteak-daily-master'
+
+- builder:
+    name: opensteak-verify
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World!"
+
+- builder:
+    name: opensteak-merge
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World!"
+
+- builder:
+    name: opensteak-daily-master
+    builders:
+        - shell: |
+            #!/bin/bash
+            echo "Hello World!"