summaryrefslogtreecommitdiffstats
path: root/jjb/fuel
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/fuel')
-rw-r--r--jjb/fuel/fuel-ci-jobs-master.yml154
-rw-r--r--jjb/fuel/fuel-ci-jobs.yml50
-rwxr-xr-xjjb/fuel/fuel-deploy-master.sh59
-rwxr-xr-xjjb/fuel/fuel-deploy.sh2
4 files changed, 246 insertions, 19 deletions
diff --git a/jjb/fuel/fuel-ci-jobs-master.yml b/jjb/fuel/fuel-ci-jobs-master.yml
new file mode 100644
index 000000000..dffafe850
--- /dev/null
+++ b/jjb/fuel/fuel-ci-jobs-master.yml
@@ -0,0 +1,154 @@
+- project:
+
+ name: 'fuel-master'
+
+ project: 'fuel'
+
+ installer: '{project}'
+
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+ master: &master
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+#--------------------------------
+# POD, INSTALLER, AND BRANCH MAPPING
+#--------------------------------
+ pod:
+ - ericsson-pod2:
+ <<: *master
+#--------------------------------
+
+# new scenario descriptions
+ scenario:
+ - 'os_ha'
+ - 'os_odl-l2_ha'
+ - 'os_odl-l3_ha'
+ - 'os_onos_ha'
+ - 'os_kvm_ha'
+ - 'os_ovs_ha'
+ - 'os_kvm_ovs_ha'
+
+ jobs:
+ - 'fuel-{scenario}-{pod}-daily-{stream}'
+ - 'fuel-deploy-{pod}-daily-{stream}-development'
+
+########################
+# job templates - new type of defining the scenario
+########################
+- job-template:
+ name: 'fuel-{scenario}-{pod}-daily-{stream}'
+
+ project-type: multijob
+
+ concurrent: false
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-os_.*'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - '{pod}-defaults'
+ - '{installer}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: '{scenario}'
+ - fuel-ci-parameter:
+ gs-pathname: '{gs-pathname}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ builders:
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: 'fuel-deploy-{pod}-daily-{stream}'
+ current-parameters: true
+ git-revision: true
+ kill-phase-on: FAILURE
+ - multijob:
+ name: functest
+ condition: COMPLETED
+ projects:
+ - name: 'functest-fuel-{pod}-daily-{stream}'
+ current-parameters: true
+ kill-phase-on: NEVER
+ - multijob:
+ name: yardstick
+ condition: COMPLETED
+ projects:
+ - name: 'yardstick-fuel-{pod}-daily-{stream}'
+ current-parameters: true
+ kill-phase-on: NEVER
+
+- job-template:
+ name: 'fuel-deploy-{pod}-daily-{stream}-development'
+
+ concurrent: false
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+
+ parameters:
+ - project-parameter:
+ project: 'fuel'
+ - 'ericsson-pod2-defaults'
+ - 'fuel-defaults'
+ - fuel-ci-parameter-new:
+ gs-pathname: ''
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: 'master'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
+
+ builders:
+ - shell:
+ !include-raw-escape: ./fuel-download-artifact.sh
+ - shell:
+ !include-raw-escape: ./fuel-deploy-master.sh
+########################
+# parameter macros
+########################
+- parameter:
+ name: fuel-ci-parameter-new
+ 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: CACHE_DIRECTORY
+ default: $HOME/opnfv/cache/$INSTALLER_TYPE
+ description: "Directory where the cache to be used during the build is located."
+ - string:
+ name: GS_URL
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
+ description: "URL to Google Storage."
diff --git a/jjb/fuel/fuel-ci-jobs.yml b/jjb/fuel/fuel-ci-jobs.yml
index 273d9a4c9..c90d930c1 100644
--- a/jjb/fuel/fuel-ci-jobs.yml
+++ b/jjb/fuel/fuel-ci-jobs.yml
@@ -36,30 +36,20 @@
# please check the triggers before enabling any of the controllers!!!
sdn-controller:
- - 'nosdn':
- disabled: false
-# commented out below controllers to get nosdn scenario settled first
-# - 'odl':
-# disabled: true
-# - 'onos':
-# disabled: true
-# - 'opencontrail':
-# disabled: true
+ - 'nosdn'
jobs:
- 'fuel-{sdn-controller}-{pod}-daily-{stream}'
- 'fuel-deploy-{pod}-daily-{stream}'
########################
-# job templates
+# job templates - old type of defining the scenario
########################
- job-template:
name: 'fuel-{sdn-controller}-{pod}-daily-{stream}'
project-type: multijob
- disabled: '{obj:disabled}'
-
concurrent: false
properties:
@@ -67,6 +57,10 @@
enabled: true
max-total: 1
max-per-node: 1
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
wrappers:
- build-name:
@@ -129,6 +123,12 @@
enabled: true
max-total: 1
max-per-node: 1
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'fuel-deploy-{pod}-daily-{stream}.*'
+ - 'functest-fuel-{pod}-daily-{stream}'
+ - 'yardstick-fuel-{pod}-daily-{stream}'
parameters:
- project-parameter:
@@ -146,13 +146,10 @@
wrappers:
- build-name:
- name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
builders:
- - shell:
- !include-raw-escape: ./fuel-download-artifact.sh
- - shell:
- !include-raw-escape: ./fuel-deploy.sh
+ - 'builder-{stream}'
publishers:
- email:
@@ -176,6 +173,23 @@
default: artifacts.opnfv.org/$PROJECT{gs-pathname}
description: "URL to Google Storage."
########################
+# builder macros
+########################
+- builder:
+ name: 'builder-master'
+ builders:
+ - shell:
+ !include-raw: ./fuel-download-artifact.sh
+ - shell:
+ !include-raw: ./fuel-deploy-master.sh
+- builder:
+ name: 'builder-brahmaputra'
+ builders:
+ - shell:
+ !include-raw: ./fuel-download-artifact.sh
+ - shell:
+ !include-raw: ./fuel-deploy.sh
+########################
# trigger macros
########################
# trigger for opnfv-jump-2 is set to run 1 hour ahead of others
@@ -191,4 +205,4 @@
- trigger:
name: 'fuel-ericsson-pod2-nosdn-trigger'
triggers:
- - timed: '0 2 * * *'
+ - timed: ''
diff --git a/jjb/fuel/fuel-deploy-master.sh b/jjb/fuel/fuel-deploy-master.sh
new file mode 100755
index 000000000..4a7d1d9fb
--- /dev/null
+++ b/jjb/fuel/fuel-deploy-master.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+set -o errexit
+set -o nounset
+set -o pipefail
+
+# source the file so we get OPNFV vars
+source latest.properties
+
+# echo the info about artifact that is used during the deployment
+echo "Using $OPNFV_ARTIFACT_URL for deployment"
+
+# checkout the commit that was used for building the downloaded artifact
+# to make sure the ISO and deployment mechanism uses same versions
+echo "Checking out $OPNFV_GIT_SHA1"
+git checkout $OPNFV_GIT_SHA1 --quiet
+
+# set deployment parameters
+BRIDGE=pxebr
+export TMPDIR=$HOME/tmpdir
+LAB_NAME=${NODE_NAME/-*}
+POD_NAME=${NODE_NAME/*-}
+
+# create TMPDIR if it doesn't exist
+mkdir -p $TMPDIR
+
+# change permissions down to TMPDIR
+chmod a+x $HOME
+chmod a+x $TMPDIR
+
+# clone the securedlab repo
+cd $WORKSPACE
+echo "Cloning securedlab repo"
+git clone ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab --quiet
+
+# construct the command
+DEPLOY_COMMAND="sudo $WORKSPACE/ci/deploy.sh -b file://$WORKSPACE/securedlab -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://$WORKSPACE/opnfv.iso -H -B $BRIDGE -S $TMPDIR"
+
+# log info to console
+echo "Deployment parameters"
+echo "--------------------------------------------------------"
+echo "Scenario: $DEPLOY_SCENARIO"
+echo "Lab: $LAB_NAME"
+echo "POD: $POD_NAME"
+echo "ISO: $(echo $OPNFV_ARTIFACT_URL | cut -d'/' -f3)"
+echo
+echo "Starting the deployment using $INSTALLER_TYPE. This could take some time..."
+echo "--------------------------------------------------------"
+echo
+
+# start the deployment
+echo "Issuing command"
+echo "$DEPLOY_COMMAND"
+echo
+
+$DEPLOY_COMMAND
+
+echo
+echo "--------------------------------------------------------"
+echo "Done!"
diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh
index 334307448..dc3d81a3a 100755
--- a/jjb/fuel/fuel-deploy.sh
+++ b/jjb/fuel/fuel-deploy.sh
@@ -7,7 +7,7 @@ set -o pipefail
source latest.properties
# echo the info about artifact that is used during the deployment
-echo "Using $(echo $OPNFV_ARTIFACT_URL | cut -d'/' -f3) for deployment"
+echo "Using $OPNFV_ARTIFACT_URL for deployment"
# checkout the commit that was used for building the downloaded artifact
# to make sure the ISO and deployment mechanism uses same versions