summaryrefslogtreecommitdiffstats
path: root/jjb/genesis/genesis-foreman.yml
diff options
context:
space:
mode:
authorAric Gardner <agardner@linuxfoundation.org>2015-04-13 09:41:47 -0400
committerAric Gardner <agardner@linuxfoundation.org>2015-04-13 11:50:23 -0400
commit151cfc32953ec4106f2ee5811d9f989302069b50 (patch)
tree7af141a775e43ff819f7ae45a0f228f00944e4b7 /jjb/genesis/genesis-foreman.yml
parent242b28dddfffa834500fd5efb22272e1fe74dd3f (diff)
Split up genesis.yml into its component installers so that we can specify nodes
Change-Id: I97fecab46df84687e73d5e98bed96cacc2e8cb0a JIRA:0000 Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Diffstat (limited to 'jjb/genesis/genesis-foreman.yml')
-rw-r--r--jjb/genesis/genesis-foreman.yml342
1 files changed, 342 insertions, 0 deletions
diff --git a/jjb/genesis/genesis-foreman.yml b/jjb/genesis/genesis-foreman.yml
new file mode 100644
index 000000000..c63b42396
--- /dev/null
+++ b/jjb/genesis/genesis-foreman.yml
@@ -0,0 +1,342 @@
+# this is the job configuration for bgs
+- project:
+
+ name: genesis-foreman
+
+ installer:
+ - foreman
+ jobs:
+ - 'genesis-foreman-verify'
+ - 'genesis-foreman-merge'
+ - 'genesis-foreman-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-foreman-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: 'foreman/**'
+
+
+ builders:
+ - 'foreman-verify'
+
+- job-template:
+ name: 'genesis-foreman-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: 'foreman/**'
+
+ builders:
+ - 'foreman-merge'
+
+- job-template:
+ name: 'genesis-foreman-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/foreman'
+ description: "URL to Google Storage."
+ - string:
+ name: INSTALLER
+ default: 'foreman'
+ 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:
+ - 'foreman-daily-master'
+
+
+########################
+# builder macros
+########################
+- builder:
+ name: foreman-verify
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+ set -x
+
+ # get the dependencies - temporary fix for RC0
+ [[ -d $WORKSPACE/foreman/build ]] || mkdir -p $WORKSPACE/foreman/build
+ cp /home/jenkins/Downloads/opnfv_iso/* $WORKSPACE/foreman/build/
+
+ # below lines perhaps need to be enabled in order to fetch images from internet
+ # as we are having disk space issues on ericsson-build slave
+ #wget http://ftp.riken.jp/Linux/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-Minimal.iso
+ #wget http://download.virtualbox.org/virtualbox/rpm/fedora/20/x86_64/VirtualBox-4.3-4.3.26_98988_fedora18-1.x86_64.rpm
+ #wget http://repos.duss-janser.ch/vagrant/vagrant_1.7.2_x86_64.rpm
+
+ # do the build
+ cd $WORKSPACE/foreman/ci
+ ./build.sh $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: foreman-merge
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+ set -x
+
+ # get the dependencies - temporary fix for RC0
+ [[ -d $WORKSPACE/foreman/build ]] || mkdir -p $WORKSPACE/foreman/build
+ cp /home/jenkins/Downloads/opnfv_iso/* $WORKSPACE/foreman/build/
+
+ # below lines perhaps need to be enabled in order to fetch images from internet
+ # as we are having disk space issues on ericsson-build slave
+ #wget http://ftp.riken.jp/Linux/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-Minimal.iso
+ #wget http://download.virtualbox.org/virtualbox/rpm/fedora/20/x86_64/VirtualBox-4.3-4.3.26_98988_fedora18-1.x86_64.rpm
+ #wget http://repos.duss-janser.ch/vagrant/vagrant_1.7.2_x86_64.rpm
+
+ # do the build
+ cd $WORKSPACE/foreman/ci
+ ./build.sh $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: foreman-daily-master
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+ set -x
+
+ # get the dependencies - temporary fix for RC0
+ [[ -d $WORKSPACE/foreman/build ]] || mkdir -p $WORKSPACE/foreman/build
+ cp /home/jenkins/Downloads/opnfv_iso/* $WORKSPACE/foreman/build/
+
+ # below lines perhaps need to be enabled in order to fetch images from internet
+ # as we are having disk space issues on ericsson-build slave
+ #wget http://ftp.riken.jp/Linux/centos/7.0.1406/isos/x86_64/CentOS-7.0-1406-x86_64-Minimal.iso
+ #wget http://download.virtualbox.org/virtualbox/rpm/fedora/20/x86_64/VirtualBox-4.3-4.3.26_98988_fedora18-1.x86_64.rpm
+ #wget http://repos.duss-janser.ch/vagrant/vagrant_1.7.2_x86_64.rpm
+
+ # do the build
+ cd $WORKSPACE/foreman/ci
+ ./build.sh -v $BUILD_ID $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-CentOS-7-x86_64-$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