summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rw-r--r--jjb/apex/apex.yml81
-rw-r--r--jjb/armband/armband.yml9
-rw-r--r--jjb/availability/availability.yml9
-rw-r--r--jjb/bottlenecks/bottlenecks.yml148
-rw-r--r--jjb/compass4nfv/compass4nfv.yml101
-rw-r--r--jjb/conductor/conductor.yml9
-rw-r--r--jjb/copper/copper.yml9
-rw-r--r--jjb/doctor/doctor.yml9
-rw-r--r--jjb/dpacc/dpacc.yml9
-rw-r--r--jjb/fastpathmetrics/fastpathmetrics.yml9
-rwxr-xr-xjjb/fuel/fuel-build.sh36
-rw-r--r--jjb/fuel/fuel-ci-jobs.yml194
-rwxr-xr-xjjb/fuel/fuel-deploy-virtual.sh21
-rwxr-xr-xjjb/fuel/fuel-deploy.sh29
-rwxr-xr-xjjb/fuel/fuel-download-artifact.sh4
-rwxr-xr-xjjb/fuel/fuel-lab-reconfig.sh2
-rw-r--r--jjb/fuel/fuel-project-jobs.yml (renamed from jjb/fuel/fuel.yml)270
-rwxr-xr-xjjb/fuel/fuel-upload-artifact.sh27
-rw-r--r--jjb/fuel/opnfv-fuel.yml124
-rw-r--r--jjb/functest/functest-ci-jobs.yml (renamed from jjb/functest/functest.yml)102
-rw-r--r--jjb/functest/functest-project-jobs.yml62
-rw-r--r--jjb/functest/res-build.sh2
-rw-r--r--jjb/genesis/genesis-foreman.yml14
-rw-r--r--jjb/genesis/genesis-fuel-att.yml2
-rw-r--r--jjb/genesis/genesis-fuel-dell.yml2
-rw-r--r--jjb/genesis/genesis-fuel.yml14
-rw-r--r--jjb/genesis/genesis-juju.yml6
-rw-r--r--jjb/ipv6/ipv6.yml9
-rw-r--r--jjb/joid/joid-ci-jobs.yml276
-rw-r--r--jjb/joid/joid-deploy.sh65
-rw-r--r--jjb/joid/joid-project-jobs.yml61
-rw-r--r--jjb/joid/joid.yml117
-rw-r--r--jjb/kvmfornfv/kvmfornfv.yml29
-rw-r--r--jjb/octopus/octopus.yml9
-rw-r--r--jjb/onosfw/onosfw.yml187
-rw-r--r--jjb/opnfv/installer-params.yml56
-rw-r--r--jjb/opnfv/opnfv-docker.sh20
-rw-r--r--jjb/opnfv/opnfv-docker.yml1
-rw-r--r--jjb/opnfv/opnfv-docs.yml20
-rw-r--r--jjb/opnfv/slave-params.yml (renamed from jjb/opnfv/pod-params.yml)70
-rw-r--r--jjb/opnfvdocs/opnfvdocs.yml156
-rw-r--r--jjb/opnfvdocs/project.cfg37
-rw-r--r--jjb/ovsnfv/ovsnfv.yml21
-rw-r--r--jjb/parser/parser.yml9
-rw-r--r--jjb/pharos/pharos.yml9
-rw-r--r--jjb/prediction/prediction.yml9
-rw-r--r--jjb/promise/promise.yml9
-rw-r--r--jjb/releng-defaults.yaml5
-rw-r--r--jjb/releng-macros.yaml35
-rw-r--r--jjb/storperf/storperf.yml23
-rw-r--r--jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml113
-rw-r--r--jjb/vswitchperf/vswitchperf.yml13
-rw-r--r--jjb/yardstick/yardstick-ci-jobs.yml (renamed from jjb/yardstick/yardstick.yml)204
-rw-r--r--jjb/yardstick/yardstick-project-jobs.yml117
54 files changed, 1959 insertions, 1025 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml
index 14c472b1e..a5cc4798a 100644
--- a/jjb/apex/apex.yml
+++ b/jjb/apex/apex.yml
@@ -31,7 +31,7 @@
branch: '{branch}'
- string:
name: GIT_BASE
- default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: "Used for overriding the GIT URL coming from parameters macro."
scm:
@@ -93,7 +93,7 @@
branch: '{branch}'
- string:
name: GIT_BASE
- default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: "Used for overriding the GIT URL coming from parameters macro."
scm:
@@ -144,7 +144,7 @@
branch: '{branch}'
- string:
name: GIT_BASE
- default: ssh://gerrit.opnfv.org:29418/$PROJECT
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: "Used for overriding the GIT URL coming from parameters macro."
scm:
@@ -197,7 +197,7 @@
# branch: branch (eg. stable)
node: opnfv-jump-1
- disabled: true
+ disabled: false
scm:
- git-scm:
@@ -212,6 +212,7 @@
gs-pathname: '{gs-pathname}'
builders:
+ - 'apex-deploy-baremetal'
- 'apex-workspace-cleanup'
- job-template:
@@ -253,12 +254,10 @@
git-revision: true
block: true
- trigger-builds:
- - project: 'apex-deploy-virtual-{stream}'
+ - project: 'apex-deploy-baremetal-{stream}'
git-revision: true
block: true
- trigger-builds:
- - project: 'apex-deploy-baremetal-{stream}'
- - trigger-builds:
- project: 'functest-apex-opnfv-jump-1-daily-{stream}'
block: true
block-thresholds:
@@ -425,7 +424,73 @@
# cleanup virtual machines before we start
sudo opnfv-clean
# initiate virtual deployment
- sudo opnfv-deploy -v
+ if [ -e /usr/share/doc/opnfv/network_settings.yaml.example ]; then
+ sudo opnfv-deploy -v -d /usr/share/doc/opnfv/deploy_settings.yaml.example -n /usr/share/doc/opnfv/network_settings.yaml.example
+ else
+ sudo opnfv-deploy -v
+ fi
+ echo
+ echo "--------------------------------------------------------"
+ echo "Done!"
+
+- builder:
+ name: 'apex-deploy-baremetal'
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+
+ # log info to console
+ echo "Starting the Apex baremetal deployment."
+ echo "--------------------------------------------------------"
+ echo
+
+ if [[ ! "$ARTIFACT_NAME" == "latest" ]]; then
+ # if artifact name is passed the pull a
+ # specific artifact from artifacts.opnfv.org
+ RPM_INSTALL_PATH=$GS_URL/$ARTIFACT_NAME
+ else
+ if [[ -f opnfv.properties ]]; then
+ # if opnfv.properties exists then use the
+ # local build. Source the file so we get local OPNFV vars
+ source opnfv.properties
+ RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
+ else
+ # no opnfv.properties means use the latest from artifacts.opnfv.org
+ # get the latest.properties to get the link to the latest artifact
+ curl -s -o $WORKSPACE/opnfv.properties http://$GS_URL/latest.properties
+ [[ -f opnfv.properties ]] || exit 1
+ # source the file so we get OPNFV vars
+ source opnfv.properties
+ RPM_INSTALL_PATH=$OPNFV_RPM_URL
+ fi
+ fi
+
+ source opnfv.properties
+ RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
+ if [ ! -e "$RPM_INSTALL_PATH" ]; then
+ RPM_INSTALL_PATH=http://${OPNFV_RPM_URL}
+ fi
+
+ # update / install the new rpm
+ if rpm -q opnfv-apex > /dev/null; then
+ if [ $(basename $OPNFV_RPM_URL) == $(rpm -q opnfv-apex).rpm ]; then
+ echo "RPM is already installed"
+ elif sudo yum update -y $RPM_INSTALL_PATH | grep "does not update installed package"; then
+ sudo yum downgrade -y $RPM_INSTALL_PATH;
+ fi
+ else
+ sudo yum install -y $RPM_INSTALL_PATH;
+ fi
+
+ # cleanup environment before we start
+ sudo opnfv-clean
+ # initiate baremetal deployment
+ sudo opnfv-deploy -i /root/inventory/pod_settings.yaml \
+ -d /usr/share/doc/opnfv/deploy_settings.yaml.example \
+ -n /root/network/network_settings.yaml
echo
echo "--------------------------------------------------------"
diff --git a/jjb/armband/armband.yml b/jjb/armband/armband.yml
index c35f28784..8de95c2e1 100644
--- a/jjb/armband/armband.yml
+++ b/jjb/armband/armband.yml
@@ -10,14 +10,13 @@
jobs:
- 'armband-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'armband-verify-{stream}'
diff --git a/jjb/availability/availability.yml b/jjb/availability/availability.yml
index 2f0812b84..a320ff732 100644
--- a/jjb/availability/availability.yml
+++ b/jjb/availability/availability.yml
@@ -10,14 +10,13 @@
jobs:
- 'availability-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'availability-verify-{stream}'
diff --git a/jjb/bottlenecks/bottlenecks.yml b/jjb/bottlenecks/bottlenecks.yml
index e96147848..a65341809 100644
--- a/jjb/bottlenecks/bottlenecks.yml
+++ b/jjb/bottlenecks/bottlenecks.yml
@@ -5,8 +5,8 @@
name: bottlenecks
jobs:
- 'bottlenecks-verify-{stream}'
- - 'bottlenecks-daily-{installer}-{pod}-{stream}'
-
+ - 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}'
+ - 'bottlenecks-{suite}-upload-artifacts-{stream}'
pod:
- lf:
node: 'opnfv-jump-2'
@@ -14,16 +14,20 @@
installer_ip: '10.20.0.2'
installer:
- -fuel
+ - 'fuel'
+
+ suite:
+ - 'rubbos'
+ - 'vstf'
# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+# branch: 'stable/{stream}'
+# gs-pathname: '/{stream}'
project: 'bottlenecks'
###############################
@@ -72,7 +76,38 @@
echo "Nothing to verify!"
- job-template:
- name: 'bottlenecks-daily-{installer}-{pod}-{stream}'
+ name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
+
+ node: ericsson-build
+
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - 'ericsson-ca-build-1-defaults'
+ - bottlenecks-parameter:
+ gs-pathname: '{gs-pathname}'
+ suite: '{suite}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ builders:
+ - 'bottlenecks-builder-upload-artifact'
+ - 'bottlenecks-workspace-cleanup'
+
+- job-template:
+ name: 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}'
disabled: false
@@ -94,6 +129,10 @@
name: INSTALLER_IP
default: '{installer_ip}'
description: "Installer IP."
+ - string:
+ name: GERRIT_REFSPEC_DEBUG
+ default: ''
+ description: "Gerrit refspec for debug."
scm:
- git-scm:
@@ -101,18 +140,40 @@
refspec: ''
branch: '{branch}'
+ wrappers:
+ - timeout:
+ timeout: 120
+ fail: true
+
triggers:
- 'bottlenecks-trigger-{pod}'
builders:
- 'bottlenecks-fetch-os-creds'
- - 'run-rubbos-env-preparation'
- - 'run-rubbos-tools-installation'
- - 'rubbos-exec'
+ - 'bottlenecks-run-{suite}'
publishers:
- email:
- recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com
+ recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com liyiting@huawei.com
+
+####################
+# parameter macros
+####################
+- parameter:
+ name: bottlenecks-parameter
+ parameters:
+ - string:
+ name: CACHE_DIR
+ default: $WORKSPACE/cache/{suite}
+ description: "the cache to store packages downloaded from public IP"
+ - string:
+ name: SUITE_URL
+ default: gs://artifacts.opnfv.org/bottlenecks/{suite}{gs-pathname}
+ description: "LF artifacts url for storage of bottlenecks packages"
+ - string:
+ name: PACKAGE_URL
+ default: http://205.177.226.237:9999/bottlenecks/{suite}/
+ description: "the url where we store the packages used for bottlenecks rubbos"
###################################
#builders for bottlenecks project
@@ -124,43 +185,56 @@
!include-raw ../../utils/fetch_os_creds.sh
- builder:
- name: run-rubbos-env-preparation
+ name: bottlenecks-run-rubbos
builders:
- shell: |
#!/bin/bash
set -o errexit
- echo "Bottlenecks: export openstack parameters before rubbos running"
-
+ echo "Bottlenecks: rubbos running now..."
cd $WORKSPACE
- ./rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
+ ./ci/run.sh $GERRIT_REFSPEC_DEBUG
- builder:
- name: run-rubbos-tools-installation
+ name: bottlenecks-run-vstf
builders:
- shell: |
#!/bin/bash
set -o errexit
- echo "Bottlenecks: to install tools to run rubbos"
-
+ echo "Bottlenecks: vstf running now..."
cd $WORKSPACE
- ./rubbos/rubbos_scripts/1-1-1/scripts/run.sh
+ ./ci/vstf_run.sh $GERRIT_REFSPEC_DEBUG
+- builder:
+ name: bottlenecks-builder-upload-artifact
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: upload to artifacts from the public IP"
+
+ [[ -d $CACHE_DIR ]] || mkdir -p $CACHE_DIR
+
+ for file in $(curl -s $PACKAGE_URL |
+ grep href |
+ sed 's/.*href="//' |
+ sed 's/".*//' |
+ grep '^[a-zA-Z].*'); do
+ curl --connect-timeout 10 -o $CACHE_DIR/$file $PACKAGE_URL$file
+ gsutil cp $CACHE_DIR/$file $SUITE_URL
+ done
- builder:
- name: rubbos-exec
+ name: bottlenecks-workspace-cleanup
builders:
- shell: |
#!/bin/bash
set -o errexit
- echo "Bottlenecks: rubbos execution"
+ echo "Bottlenecks: cleanup cache used for storage downloaded packages"
- cd $WORKSPACE
- cd ./rubbos/rubbos_scripts/1-1-1
- source set_bottlenecks_rubbos_env.sh
- ssh $CONTROL_HOST
- ./tmp/CONTROL_rubbos_exec.sh
+ /bin/rm -rf $CACHE_DIR
#######################
#trigger macros
@@ -168,4 +242,24 @@
- trigger:
name: 'bottlenecks-trigger-lf'
triggers:
- - timed: '@midnight'
+ - timed: '0 6 * * *'
+ - 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: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
diff --git a/jjb/compass4nfv/compass4nfv.yml b/jjb/compass4nfv/compass4nfv.yml
index 3645bbba3..018145e4e 100644
--- a/jjb/compass4nfv/compass4nfv.yml
+++ b/jjb/compass4nfv/compass4nfv.yml
@@ -9,28 +9,31 @@
- 'compass-daily-{stream}'
- 'compass-build-iso-{stream}'
- 'compass-build-ppa-{stream}'
- - 'compass-deploy-virtual-{flavor}'
- - 'compass-deploy-bare-huawei-us'
+ - 'compass-deploy-virtual-{sdn-controller}-{stream}'
+ - 'compass-deploy-bare-huawei-us-{stream}'
# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
-
- flavor:
- - cluster-odl:
- conf: 'virtual_cluster_odl'
- node: 'huawei-deploy-vm'
- - cluster-onos:
- conf: 'virtual_cluster_onos'
- node: 'huawei-deploy-vm'
- - cluster:
- conf: 'virtual_cluster'
- node: 'huawei-deploy-vm'
+# branch: 'stable/{stream}'
+# gs-pathname: '/{stream}'
+
+ sdn-controller:
+ - 'nosdn':
+ disabled: false
+ node: huawei-deploy-vm
+ - 'odl':
+ disabled: false
+ node: huawei-deploy-vm
+ - 'onos':
+ disabled: false
+ node: huawei-deploy-vm
+ - 'opencontrail':
+ disabled: true
+ node: huawei-deploy-vm
project: 'compass4nfv'
@@ -59,10 +62,10 @@
branch: '{branch}'
- compass-parameter:
installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
- string:
- name: FLAVOR_CONF
- default: 'virtual_cluster'
- description: ""
+ name: SDN_CONTROLLER
+ default: 'nosdn'
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
@@ -93,7 +96,7 @@
builders:
- 'builder-compass-build-iso'
- - 'builder-compass-deploy-virtual-flavor'
+ - 'builder-compass-deploy-virtual'
publishers:
- archive:
artifacts: 'ansible.log'
@@ -118,6 +121,7 @@
project: '{project}'
- compass-parameter:
installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
scm:
- git-scm:
@@ -126,7 +130,7 @@
branch: '{branch}'
triggers:
- - timed: '@midnight'
+ - timed: 'H 16 * * *'
builders:
- trigger-builds:
@@ -134,17 +138,22 @@
git-revision: true
block: true
- trigger-builds:
- - project: 'compass-deploy-virtual-cluster'
+ - project: 'compass-deploy-virtual-nosdn-{stream}'
git-revision: true
- block: true
-# - trigger-builds:
-# - project: 'compass-deploy-virtual-cluster-odl'
-# git-revision: true
-# block: true
+ block: false
- trigger-builds:
- - project: 'compass-deploy-virtual-cluster-onos'
+ - project: 'compass-deploy-virtual-odl-{stream}'
git-revision: true
- block: true
+ block: false
+ - trigger-builds:
+ - project: 'compass-deploy-virtual-onos-{stream}'
+ git-revision: true
+ block: false
+ - trigger-builds:
+ - project: 'compass-deploy-bare-huawei-us-{stream}'
+ git-revision: true
+ block: false
+
- job-template:
name: 'compass-build-iso-{stream}'
@@ -164,6 +173,7 @@
project: '{project}'
- compass-parameter:
installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
scm:
- git-scm:
@@ -196,6 +206,7 @@
project: '{project}'
- compass-parameter:
installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
scm:
- git-scm:
@@ -210,7 +221,7 @@
- 'builder-compass-make-ppa'
- job-template:
- name: 'compass-deploy-virtual-{flavor}'
+ name: 'compass-deploy-virtual-{sdn-controller}-{stream}'
disabled: false
@@ -229,15 +240,15 @@
project: '{project}'
- compass-parameter:
installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
- string:
- name: FLAVOR_CONF
- default: '{conf}'
- description: ""
+ name: SDN_CONTROLLER
+ default: '{sdn-controller}'
builders:
- 'builder-compass-ci-preclean-workspace'
- 'builder-compass-download-artifact'
- - 'builder-compass-deploy-virtual-flavor'
+ - 'builder-compass-deploy-virtual'
publishers:
- archive:
artifacts: 'ansible.log'
@@ -245,7 +256,7 @@
fingerprint: true
- job-template:
- name: 'compass-deploy-bare-huawei-us'
+ name: 'compass-deploy-bare-huawei-us-{stream}'
disabled: false
@@ -264,6 +275,10 @@
project: '{project}'
- compass-parameter:
installer: '{installer}'
+ gs-pathname: '{gs-pathname}'
+ - string:
+ name: SDN_CONTROLLER
+ default: '{sdn-controller}'
builders:
- 'builder-compass-ci-preclean-workspace'
@@ -300,7 +315,7 @@
description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
- string:
name: GS_URL
- default: artifacts.opnfv.org/$PROJECT/
+ default: artifacts.opnfv.org/$PROJECT{gs-pathname}
description: "URL to Google Storage."
- string:
name: GS_URL_PROXY
@@ -323,8 +338,8 @@
- choice:
name: COMPASS_OS_VERSION
choices:
- - 'ubuntu-trusty'
- - 'rhel7'
+ - 'trusty'
+ - 'centos7'
########################
# builder macros
@@ -398,7 +413,7 @@
echo "Done!"
- builder:
- name: 'builder-compass-deploy-virtual-flavor'
+ name: 'builder-compass-deploy-virtual'
builders:
- shell: |
#!/bin/bash
@@ -410,14 +425,10 @@
echo
export ISO_URL=file://$BUILD_DIRECTORY/compass.iso
- sudo brctl addbr vnic_ci
- sudo ifconfig vnic_ci up
- export EXTERNAL_NIC=vnic_ci
- cd $WORKSPACE
-
export OS_VERSION=${COMPASS_OS_VERSION}
export OPENSTACK_VERSION=${COMPASS_OPENSTACK_VERSION}
- ./deploy.sh $FLAVOR_CONF
+ export CONFDIR=$WORKSPACE/deploy/conf/vm_environment
+ ./deploy.sh --dha $CONFDIR/$SDN_CONTROLLER.yml --network $CONFDIR/$NODE_NAME/network.yml
if [ $? -ne 0 ]; then
echo "depolyment failed!"
deploy_ret=1
diff --git a/jjb/conductor/conductor.yml b/jjb/conductor/conductor.yml
index 39325d4ce..b2c4b1f52 100644
--- a/jjb/conductor/conductor.yml
+++ b/jjb/conductor/conductor.yml
@@ -10,14 +10,13 @@
jobs:
- 'conductor-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'conductor-verify-{stream}'
diff --git a/jjb/copper/copper.yml b/jjb/copper/copper.yml
index fc27d9cd6..1b16864b8 100644
--- a/jjb/copper/copper.yml
+++ b/jjb/copper/copper.yml
@@ -10,14 +10,13 @@
jobs:
- 'copper-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'copper-verify-{stream}'
diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml
index 309177bde..167b696a3 100644
--- a/jjb/doctor/doctor.yml
+++ b/jjb/doctor/doctor.yml
@@ -6,14 +6,13 @@
jobs:
- 'doctor-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'doctor-verify-{stream}'
diff --git a/jjb/dpacc/dpacc.yml b/jjb/dpacc/dpacc.yml
index d503257dd..0258c23fd 100644
--- a/jjb/dpacc/dpacc.yml
+++ b/jjb/dpacc/dpacc.yml
@@ -10,14 +10,13 @@
jobs:
- 'dpacc-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'dpacc-verify-{stream}'
diff --git a/jjb/fastpathmetrics/fastpathmetrics.yml b/jjb/fastpathmetrics/fastpathmetrics.yml
index a0ae806ad..5b2c9c2cf 100644
--- a/jjb/fastpathmetrics/fastpathmetrics.yml
+++ b/jjb/fastpathmetrics/fastpathmetrics.yml
@@ -10,14 +10,13 @@
jobs:
- 'fastpathmetrics-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'fastpathmetrics-verify-{stream}'
diff --git a/jjb/fuel/fuel-build.sh b/jjb/fuel/fuel-build.sh
index 00617ce54..d6a71e00b 100755
--- a/jjb/fuel/fuel-build.sh
+++ b/jjb/fuel/fuel-build.sh
@@ -3,13 +3,45 @@ set -o errexit
set -o nounset
set -o pipefail
+cd $WORKSPACE
+
+LATEST_ISO_PROPERTIES=$WORKSPACE/latest.iso.properties
+if [[ "$JOB_NAME" =~ "daily" ]]; then
+ # check to see if we already have an artifact on artifacts.opnfv.org
+ # for this commit during daily builds
+ echo "Checking to see if we already built and stored Fuel ISO for this commit"
+
+ curl -s -o $LATEST_ISO_PROPERTIES http://$GS_URL/latest.properties 2>/dev/null
+
+ # get metadata of latest ISO
+ LATEST_ISO_SHA1=$(grep OPNFV_GIT_SHA1 $LATEST_ISO_PROPERTIES | cut -d'=' -f2)
+ LATEST_ISO_URL=$(grep OPNFV_ARTIFACT_URL $LATEST_ISO_PROPERTIES | cut -d'=' -f2)
+else
+ LATEST_ISO_SHA1=none
+fi
+
+# get current SHA1
+CURRENT_SHA1=$(git rev-parse HEAD)
+
+if [[ "$CURRENT_SHA1" == "$LATEST_ISO_SHA1" ]]; then
+ echo "An ISO has already been built for this commit"
+ echo " $LATEST_ISO_URL"
+ echo "Nothing new to build. Exiting."
+ touch $WORKSPACE/.noupload
+ exit 0
+else
+ echo "This commit has not been built yet. Proceeding with the build."
+ /bin/rm -f $LATEST_ISO_PROPERTIES
+ echo
+fi
+
# log info to console
-echo "Starting the build of $INSTALLER. This could take some time..."
+echo "Starting the build of $INSTALLER_TYPE. This could take some time..."
echo "--------------------------------------------------------"
echo
# create the cache directory if it doesn't exist
-[[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
+mkdir -p $CACHE_DIRECTORY
# set OPNFV_ARTIFACT_VERSION
if [[ "$JOB_NAME" =~ "merge" ]]; then
diff --git a/jjb/fuel/fuel-ci-jobs.yml b/jjb/fuel/fuel-ci-jobs.yml
new file mode 100644
index 000000000..1b4b26963
--- /dev/null
+++ b/jjb/fuel/fuel-ci-jobs.yml
@@ -0,0 +1,194 @@
+- project:
+
+ name: 'fuel'
+
+ project: '{name}'
+
+ installer: '{name}'
+
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+ master: &master
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ brahmaputra: &brahmaputra
+ stream: brahmaputra
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+#--------------------------------
+# POD, INSTALLER, AND BRANCH MAPPING
+#--------------------------------
+# brahmaputra
+#--------------------------------
+ pod:
+ - opnfv-jump-2:
+ <<: *brahmaputra
+#--------------------------------
+# master
+#--------------------------------
+ - ericsson-pod1:
+ <<: *master
+ - ericsson-pod2:
+ <<: *master
+#--------------------------------
+
+# 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
+
+ jobs:
+ - 'fuel-{sdn-controller}-{pod}-daily-{stream}'
+ - 'fuel-deploy-{pod}-daily-{stream}'
+
+########################
+# job templates
+########################
+- job-template:
+ name: 'fuel-{sdn-controller}-{pod}-daily-{stream}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+
+ triggers:
+ - 'fuel-{pod}-{sdn-controller}-trigger'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - '{pod}-defaults'
+ - '{installer}-defaults'
+ - string:
+ name: SDN_CONTROLLER
+ default: '{sdn-controller}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'none'
+ - 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}'
+
+ concurrent: false
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - '{pod}-defaults'
+ - '{installer}-defaults'
+ - fuel-ci-parameter:
+ gs-pathname: '{gs-pathname}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+
+ builders:
+ - shell:
+ !include-raw ./fuel-download-artifact.sh
+ - shell:
+ !include-raw ./fuel-deploy.sh
+
+ publishers:
+ - email:
+ recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
+########################
+# parameter macros
+########################
+- parameter:
+ name: fuel-ci-parameter
+ 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."
+########################
+# trigger macros
+########################
+# trigger for opnfv-jump-2 is set to run 1 hour ahead of others
+# to prevent doing unnecessary builds
+- trigger:
+ name: 'fuel-opnfv-jump-2-nosdn-trigger'
+ triggers:
+ - timed: '0 2 * * *'
+- trigger:
+ name: 'fuel-ericsson-pod1-nosdn-trigger'
+ triggers:
+ - timed: '0 2 * * *'
+- trigger:
+ name: 'fuel-ericsson-pod2-nosdn-trigger'
+ triggers:
+ - timed: '0 2 * * *'
diff --git a/jjb/fuel/fuel-deploy-virtual.sh b/jjb/fuel/fuel-deploy-virtual.sh
index 626a65060..8e9282373 100755
--- a/jjb/fuel/fuel-deploy-virtual.sh
+++ b/jjb/fuel/fuel-deploy-virtual.sh
@@ -9,20 +9,35 @@ 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"
+# 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
+
# create TMPDIR if it doesn't exist
export TMPDIR=$HOME/tmpdir
-[[ -d $TMPDIR ]] || mkdir -p $TMPDIR
+mkdir -p $TMPDIR
# change permissions down to TMPDIR
chmod a+x $HOME
chmod a+x $TMPDIR
+# get the lab name from SLAVE_NAME
+# we currently support ericsson and intel labs
+LAB_NAME=${{NODE_NAME%%-*}}
+if [[ ! "$LAB_NAME" =~ (ericsson|intel) ]]; then
+ echo "Unsupported/unidentified lab $LAB_NAME. Cannot continue!"
+ exit 1
+else
+ echo "Using configuration for $LAB_NAME"
+fi
+
# set CONFDIR, BRIDGE
-CONFDIR=$WORKSPACE/deploy/templates/virtual_environment_noha/conf
+CONFDIR=$WORKSPACE/deploy/templates/$LAB_NAME/virtual_environment/noha/conf
BRIDGE=pxebr
# log info to console
-echo "Starting the deployment for a merged change using $INSTALLER. This could take some time..."
+echo "Starting the deployment for a merged change using $INSTALLER_TYPE. This could take some time..."
echo "--------------------------------------------------------"
echo
diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh
index b617bcf01..334307448 100755
--- a/jjb/fuel/fuel-deploy.sh
+++ b/jjb/fuel/fuel-deploy.sh
@@ -9,41 +9,32 @@ 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"
+# 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
+
# create TMPDIR if it doesn't exist
export TMPDIR=$HOME/tmpdir
-[[ -d $TMPDIR ]] || mkdir -p $TMPDIR
+mkdir -p $TMPDIR
# change permissions down to TMPDIR
chmod a+x $HOME
chmod a+x $TMPDIR
-# set CONFDIR, BRIDGE
-CONFDIR=$WORKSPACE/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2
+# set BRIDGE
BRIDGE=pxebr
-# clone genesis repo and checkout the SR1 tag
-echo "Cloning genesis repo"
-cd $WORKSPACE
-GIT_SSL_NO_VERIFY=true git clone https://gerrit.opnfv.org/gerrit/genesis genesis
-cd genesis
-git checkout arno.2015.2.0
-
-# cleanup first
-sudo $WORKSPACE/genesis/common/ci/clean.sh -base_config $WORKSPACE/genesis/foreman/ci/inventory/lf_pod2_ksgen_settings.yml
-
-# prepare for Fuel Deployment
-sudo $WORKSPACE/genesis/common/ci/setup.sh
-
# log info to console
-echo "Starting the deployment using $INSTALLER. This could take some time..."
+echo "Starting the deployment using $INSTALLER_TYPE. This could take some time..."
echo "--------------------------------------------------------"
echo
# start the deployment
echo "Issuing command"
-echo "sudo $WORKSPACE/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $CONFDIR/dea.yaml -dha $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE -nh"
+echo "sudo $WORKSPACE/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $POD_CONF_DIR/dea.yaml -dha $POD_CONF_DIR/dha.yaml -s $TMPDIR -b $BRIDGE -nh"
-sudo $WORKSPACE/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $CONFDIR/dea.yaml -dha $CONFDIR/dha.yaml -s $TMPDIR -b $BRIDGE -nh
+sudo $WORKSPACE/ci/deploy.sh -iso $WORKSPACE/opnfv.iso -dea $POD_CONF_DIR/dea.yaml -dha $POD_CONF_DIR/dha.yaml -s $TMPDIR -b $BRIDGE -nh
echo
echo "--------------------------------------------------------"
diff --git a/jjb/fuel/fuel-download-artifact.sh b/jjb/fuel/fuel-download-artifact.sh
index 05dc05e05..917bc97a0 100755
--- a/jjb/fuel/fuel-download-artifact.sh
+++ b/jjb/fuel/fuel-download-artifact.sh
@@ -4,10 +4,12 @@ set -o nounset
set -o pipefail
if [[ "$JOB_NAME" =~ "merge" ]]; then
+ echo "Downloading http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties"
# get the properties file for the Fuel ISO built for a merged change
curl -s -o $WORKSPACE/latest.properties http://$GS_URL/opnfv-gerrit-$GERRIT_CHANGE_NUMBER.properties
else
# get the latest.properties file in order to get info regarding latest artifact
+ echo "Downloading http://$GS_URL/latest.properties"
curl -s -o $WORKSPACE/latest.properties http://$GS_URL/latest.properties
fi
@@ -18,7 +20,7 @@ fi
source latest.properties
# log info to console
-echo "Downloading the $INSTALLER artifact using URL http://$OPNFV_ARTIFACT_URL"
+echo "Downloading the $INSTALLER_TYPE artifact using URL http://$OPNFV_ARTIFACT_URL"
echo "This could take some time..."
echo "--------------------------------------------------------"
echo
diff --git a/jjb/fuel/fuel-lab-reconfig.sh b/jjb/fuel/fuel-lab-reconfig.sh
index a79bc2c51..55bb5dd9d 100755
--- a/jjb/fuel/fuel-lab-reconfig.sh
+++ b/jjb/fuel/fuel-lab-reconfig.sh
@@ -19,7 +19,7 @@ if ! GIT_SSL_NO_VERIFY=true git clone https://gerrit.opnfv.org/gerrit/releng; th
fi
# log info to console
-echo "Starting the lab reconfiguration for $INSTALLER..."
+echo "Starting the lab reconfiguration for $INSTALLER_TYPE..."
echo "--------------------------------------------------------"
echo
diff --git a/jjb/fuel/fuel.yml b/jjb/fuel/fuel-project-jobs.yml
index f8eabb0b6..848fd0b21 100644
--- a/jjb/fuel/fuel.yml
+++ b/jjb/fuel/fuel-project-jobs.yml
@@ -2,36 +2,77 @@
# Job configuration for fuel
########################
- project:
-
- name: fuel
+ name: fuel-project-jobs
project: 'fuel'
installer: 'fuel'
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+
jobs:
+ - 'fuel-build-daily-{stream}'
- 'fuel-verify-build-{stream}'
- 'fuel-merge-build-{stream}'
- 'fuel-merge-deploy-virtual-{stream}'
- - 'fuel-daily-{stream}'
- - 'fuel-build-{stream}'
- - 'fuel-deploy-{stream}'
- - 'fuel-lab-reconfig-{stream}'
-
- stream:
- - master:
- branch: 'master'
- gs-pathname: ''
########################
# job templates
########################
+- job-template:
+ name: 'fuel-build-daily-{stream}'
+
+ concurrent: false
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - 'ericsson-ca-build-1-defaults'
+ - '{installer}-defaults'
+ - fuel-project-parameter:
+ gs-pathname: '{gs-pathname}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ triggers:
+ - pollscm: '0 H/4 * * *'
+
+ wrappers:
+ - timeout:
+ timeout: 360
+ fail: true
+
+ builders:
+ - shell:
+ !include-raw ./fuel-build.sh
+ - shell:
+ !include-raw ./fuel-upload-artifact.sh
+ - shell:
+ !include-raw ./fuel-workspace-cleanup.sh
+
+ publishers:
+ - email:
+ recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
- job-template:
name: 'fuel-verify-build-{stream}'
- node: ericsson-build
-
concurrent: true
properties:
@@ -44,8 +85,9 @@
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- - fuel-parameter:
- installer: '{installer}'
+ - 'ericsson-ca-build-1-defaults'
+ - '{installer}-defaults'
+ - fuel-project-parameter:
gs-pathname: '{gs-pathname}'
scm:
@@ -90,8 +132,6 @@
- job-template:
name: 'fuel-merge-build-{stream}'
- node: ericsson-build
-
concurrent: true
properties:
@@ -104,9 +144,10 @@
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- - fuel-parameter:
- installer: '{installer}'
- gs-pathname: ''
+ - 'ericsson-ca-build-1-defaults'
+ - '{installer}-defaults'
+ - fuel-project-parameter:
+ gs-pathname: '{gs-pathname}'
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
@@ -144,8 +185,6 @@
- job-template:
name: 'fuel-merge-deploy-virtual-{stream}'
- node: fuel-deploy-virtual
-
concurrent: true
properties:
@@ -159,9 +198,10 @@
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- - fuel-parameter:
- installer: '{installer}'
- gs-pathname: ''
+ - 'fuel-deploy-virtual-defaults'
+ - '{installer}-defaults'
+ - fuel-project-parameter:
+ gs-pathname: '{gs-pathname}'
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
@@ -170,7 +210,7 @@
wrappers:
- ssh-agent-credentials:
- user: '{ssh-credentials}'
+ users: '{ssh-credentials}'
triggers:
- gerrit:
@@ -198,195 +238,21 @@
- email:
recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
-- job-template:
- name: 'fuel-daily-{stream}'
-
- node: ericsson-build
-
- disabled: false
-
- triggers:
- - 'fuel-{strem}-trigger'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - fuel-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- builders:
- - trigger-builds:
- - project: 'fuel-build-{stream}'
- git-revision: true
- block: true
- - trigger-builds:
- - project: 'fuel-deploy-{stream}'
- git-revision: true
- block: true
- - trigger-builds:
- - project: 'functest-fuel-opnfv-jump-2-daily-{stream}'
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-fuel-opnfv-jump-2-daily-{stream}'
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'bottlenecks-daily-fuel-lf-{stream}'
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
-
- triggers:
- - 'fuel-{stream}-daily-trigger'
-
-- job-template:
- name: 'fuel-build-{stream}'
-
- node: ericsson-build
-
- parameters:
- - project-parameter:
- project: '{project}'
- - fuel-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- wrappers:
- - timeout:
- timeout: 360
- fail: true
-
- builders:
- - shell:
- !include-raw ./fuel-build.sh
- - shell:
- !include-raw ./fuel-upload-artifact.sh
- - shell:
- !include-raw ./fuel-workspace-cleanup.sh
-
- publishers:
- - email:
- recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
-
-- job-template:
- name: 'fuel-deploy-{stream}'
-
- disabled: false
-
- node: opnfv-jump-2
-
- parameters:
- - project-parameter:
- project: '{project}'
- - fuel-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- - string:
- name: GIT_BASE
- default: ssh://gerrit.opnfv.org:29418/$PROJECT
- description: "POD2 has some issues with cloning using https so that's why GIT_BASE is overriden here again."
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- builders:
- - shell:
- !include-raw ./fuel-download-artifact.sh
- - shell:
- !include-raw ./fuel-deploy.sh
-
- publishers:
- - email:
- recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com
-
-- job-template:
- name: 'fuel-lab-reconfig-{stream}'
-
- disabled: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- - fuel-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- - string:
- name: GIT_BASE
- default: ssh://gerrit.opnfv.org:29418/$PROJECT
- description: "Used for overriding the GIT URL coming from parameters macro."
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - "apex-daily.*"
-
- builders:
- - shell:
- !include-raw ./fuel-lab-reconfig.sh
-
########################
# parameter macros
########################
- parameter:
- name: fuel-parameter
+ name: fuel-project-parameter
parameters:
- string:
- name: INSTALLER
- default: '{installer}'
- description: "Installer to use."
- - 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
+ default: $HOME/opnfv/cache/$INSTALLER_TYPE
description: "Directory where the cache to be used during the build is located."
- string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW."
- - string:
name: GS_URL
default: artifacts.opnfv.org/$PROJECT{gs-pathname}
description: "URL to Google Storage."
-
-########################
-# trigger macros
-########################
-- trigger:
- name: 'fuel-master-daily-trigger'
- triggers:
- - timed: '0 3 * * *'
diff --git a/jjb/fuel/fuel-upload-artifact.sh b/jjb/fuel/fuel-upload-artifact.sh
index b998e6a6a..fa695e6b0 100755
--- a/jjb/fuel/fuel-upload-artifact.sh
+++ b/jjb/fuel/fuel-upload-artifact.sh
@@ -3,8 +3,15 @@ set -o errexit
set -o nounset
set -o pipefail
+# check if we built something
+if [ -f $WORKSPACE/.noupload ]; then
+ echo "Nothing new to upload. Exiting."
+ /bin/rm -f $WORKSPACE/.noupload
+ exit 0
+fi
+
# log info to console
-echo "Uploading the $INSTALLER artifact. This could take some time..."
+echo "Uploading the $INSTALLER_TYPE artifact. This could take some time..."
echo "--------------------------------------------------------"
echo
@@ -12,14 +19,26 @@ echo
source $WORKSPACE/opnfv.properties
# upload artifact and additional files to google storage
-gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
-gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
+gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso \
+ gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
+gsutil cp $WORKSPACE/opnfv.properties \
+ gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then
- gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
+ gsutil cp $WORKSPACE/opnfv.properties \
+ gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
elif [[ "$JOB_NAME" =~ "merge" ]]; then
echo "Uploaded Fuel ISO for a merged change"
fi
+gsutil -m setmeta \
+ -h "Content-Type:text/html" \
+ -h "Cache-Control:private, max-age=0, no-transform" \
+ gs://$GS_URL/*.properties > /dev/null 2>&1
+
+gsutil -m setmeta \
+ -h "Cache-Control:private, max-age=0, no-transform" \
+ gs://$GS_URL/*.iso > /dev/null 2>&1
+
echo
echo "--------------------------------------------------------"
echo "Done!"
diff --git a/jjb/fuel/opnfv-fuel.yml b/jjb/fuel/opnfv-fuel.yml
deleted file mode 100644
index 393f919d0..000000000
--- a/jjb/fuel/opnfv-fuel.yml
+++ /dev/null
@@ -1,124 +0,0 @@
-########################
-# Job configuration for fuel
-########################
-- project:
-
- name: 'opnfv-fuel'
-
- installer: 'fuel'
-
- controller:
- - 'odl'
- - 'onos'
- - 'opencontrail'
-
- pod:
- - 'opnfv-jump-2'
- - 'ericsson-pod1'
-
- loop:
- - 'daily'
-
- # ignore these as these will not exist in real job
- dummy-phase:
- - build
- - deploy
- - functest
- - yardstick
-
- stream:
- - master:
- branch: 'master'
- gs-pathname: ''
-
- jobs:
- - 'tmp_fuel-{controller}-{pod}-{loop}-{stream}'
- - 'tmp_fuel-{dummy-phase}-{pod}-{loop}-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'tmp_fuel-{controller}-{pod}-{loop}-{stream}'
-
- project-type: multijob
-
- parameters:
- - project-parameter:
- project: '{installer}'
- - 'ericsson-ca-build-1-defaults'
- - '{installer}-defaults'
- - string:
- name: CONTROLLER
- default: '{controller}'
- - string:
- name: FEATURE
- default: 'none'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- builders:
- - multijob:
- name: build
- condition: SUCCESSFUL
- projects:
- - name: 'tmp_fuel-build-{loop}-{stream}'
- kill-phase-on: FAILURE
- current-parameters: true
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'tmp_fuel-deploy-{pod}-{loop}-{stream}'
- kill-phase-on: FAILURE
- current-parameters: true
- - multijob:
- name: functest
- projects:
- - name: 'tmp_fuel-test-{pod}-{loop}-{stream}'
- current-parameters: true
- - multijob:
- name: yardstick
- projects:
- - name: 'tmp_fuel-test-{pod}-{loop}-{stream}'
- current-parameters: true
-
-
-- job-template:
- name: 'tmp_fuel-{dummy-phase}-{pod}-{loop}-{stream}'
-
- disabled: false
-
- concurrent: false
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER: {installer} $CONTROLLER'
-
- parameters:
- - project-parameter:
- project: '{installer}'
- - '{pod}-defaults'
- - '{installer}-defaults'
- - string:
- name: CONTROLLER
- default: 'none'
- - string:
- name: FEATURE
- default: 'none'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- echo "Hello World from OPNFV $INSTALLER_TYPE"
- echo "Running $INSTALLER_TYPE with controller $CONTROLLER"
diff --git a/jjb/functest/functest.yml b/jjb/functest/functest-ci-jobs.yml
index 346b678ac..c9ab3c25a 100644
--- a/jjb/functest/functest.yml
+++ b/jjb/functest/functest-ci-jobs.yml
@@ -6,19 +6,54 @@
project: '{name}'
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+ master: &master
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ brahmaputra: &brahmaputra
+ stream: brahmaputra
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+#--------------------------------
+# POD, INSTALLER, AND BRANCH MAPPING
+#--------------------------------
+# brahmaputra
+#--------------------------------
pod:
- - opnfv-jump-1:
- installer: apex
- opnfv-jump-2:
installer: fuel
- - orange-test1:
- installer: fuel
- - orange-pod2:
+ <<: *brahmaputra
+ - intel-pod5:
installer: joid
+ <<: *brahmaputra
+#--------------------------------
+# master
+#--------------------------------
- huawei-us-deploy-bare-1:
installer: compass
- - intel-pod5:
+ <<: *master
+ - intel-pod6:
+ installer: joid
+ <<: *master
+ - intel-us-deploy-virtual-2:
+ installer: apex
+ <<: *master
+ - ericsson-pod1:
+ installer: fuel
+ <<: *master
+ - ericsson-pod2:
+ installer: fuel
+ <<: *master
+ - orange-test1:
+ installer: fuel
+ <<: *master
+ - orange-pod2:
installer: joid
+ <<: *master
+#--------------------------------
testsuite:
- 'daily'
@@ -26,15 +61,6 @@
jobs:
- 'functest-{installer}-{pod}-{testsuite}-{stream}'
- - 'functest-verify-{stream}'
-
- stream:
- - master:
- branch: 'master'
- gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
################################
# job template
@@ -44,7 +70,7 @@
wrappers:
- build-name:
- name: '$BUILD_NUMBER: $FUNCTEST_SUITE_NAME'
+ name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
parameters:
- project-parameter:
@@ -52,7 +78,8 @@
- '{pod}-defaults'
- '{installer}-defaults'
- 'functest-{testsuite}-parameter'
- - functest-parameter
+ - functest-parameter:
+ gs-pathname: '{gs-pathname}'
scm:
- git-scm:
@@ -63,43 +90,6 @@
builders:
- 'functest-{testsuite}-builder'
-- job-template:
- name: 'functest-verify-{stream}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
-
- 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: 'functest'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - shell: |
- echo "Nothing to verify!"
-
########################
# parameter macros
########################
@@ -201,7 +191,7 @@
elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
# If production lab then creds may be retrieved dynamically
# creds are on the jumphost, always in the same folder
- labconfig="-v /home/ubuntu/joid/ci/cloud/admin-openrc:/home/opnfv/functest/conf/openstack.creds"
+ labconfig="-v /var/lib/jenkins/joid_config/admin-openrc:/home/opnfv/functest/conf/openstack.creds"
# If dev lab, credentials may not be the default ones, just provide a path to put them into docker
# replace the default one by the customized one provided by jenkins config
if [ -n "${LAB_CONFIG}" ]; then
@@ -212,7 +202,7 @@
envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}"
dir_result="${HOME}/opnfv/functest/reports"
- mkdir -f ${dir_result}
+ mkdir -p ${dir_result}
rm -rf ${dir_result}/*
$res_volume="-v ${dir_result}:/home/opnfv/functest/results"
diff --git a/jjb/functest/functest-project-jobs.yml b/jjb/functest/functest-project-jobs.yml
new file mode 100644
index 000000000..e2a5c1afd
--- /dev/null
+++ b/jjb/functest/functest-project-jobs.yml
@@ -0,0 +1,62 @@
+###################################################
+# All the jobs except verify have been removed!
+# They will only be enabled on request by projects!
+###################################################
+- project:
+ name: functest-project-jobs
+
+ project: 'functest'
+
+ jobs:
+ - 'functest-verify-{stream}'
+
+# only master branch is enabled at the moment to keep no of jobs sane
+ stream:
+ - master:
+ branch: 'master'
+ gs-pathname: ''
+# - brahmaputra:
+# branch: 'stable/brahmaputra'
+# gs-pathname: '/brahmaputra'
+
+- job-template:
+ name: 'functest-verify-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ 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: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
+
+ builders:
+ - shell: |
+ echo "Nothing to verify!"
diff --git a/jjb/functest/res-build.sh b/jjb/functest/res-build.sh
index 9d425773d..1f4699681 100644
--- a/jjb/functest/res-build.sh
+++ b/jjb/functest/res-build.sh
@@ -9,7 +9,7 @@ res_build_date=$(date -u +"%Y-%m-%d_%H-%M-%S")
# Result directory in the jumphost
# to be used only with CI
-dir_result="${HOME}/opnfv/functest/reports"
+dir_result="${HOME}/opnfv/functest/results"
# Clean the results directory
# remove json file for rally, export only html
diff --git a/jjb/genesis/genesis-foreman.yml b/jjb/genesis/genesis-foreman.yml
index 39b3a58e1..9c212ace1 100644
--- a/jjb/genesis/genesis-foreman.yml
+++ b/jjb/genesis/genesis-foreman.yml
@@ -37,6 +37,8 @@
- job-template:
name: 'genesis-foreman-verify-build-{stream}'
+ disabled: true
+
node: ericsson-build
concurrent: true
@@ -108,6 +110,8 @@
node: ericsson-build
+ disabled: true
+
concurrent: true
properties:
@@ -171,7 +175,7 @@
node: ericsson-build
- disabled: '{obj:disabled}'
+ disabled: true
triggers:
- 'foreman-{stream}'
@@ -225,7 +229,7 @@
- job-template:
name: 'genesis-foreman-deploy-runner-{stream}'
- disabled: false
+ disabled: true
parameters:
- project-parameter:
@@ -264,6 +268,8 @@
node: ericsson-build
+ disabled: true
+
parameters:
- project-parameter:
project: '{project}'
@@ -284,7 +290,7 @@
- job-template:
name: 'genesis-foreman-deploy-{stream}'
- disabled: false
+ disabled: true
node: opnfv-jump-2
@@ -311,7 +317,7 @@
- job-template:
name: 'genesis-foreman-lab-reconfig-{stream}'
- disabled: false
+ disabled: true
parameters:
- project-parameter:
diff --git a/jjb/genesis/genesis-fuel-att.yml b/jjb/genesis/genesis-fuel-att.yml
index 8e40a09aa..8c03ebb31 100644
--- a/jjb/genesis/genesis-fuel-att.yml
+++ b/jjb/genesis/genesis-fuel-att.yml
@@ -23,6 +23,8 @@
node: att-build
+ disabled: true
+
parameters:
- string:
name: BUILD_DIRECTORY
diff --git a/jjb/genesis/genesis-fuel-dell.yml b/jjb/genesis/genesis-fuel-dell.yml
index 01b7ea033..6bebb5d6f 100644
--- a/jjb/genesis/genesis-fuel-dell.yml
+++ b/jjb/genesis/genesis-fuel-dell.yml
@@ -23,6 +23,8 @@
node: dell-build
+ disabled: true
+
parameters:
- string:
name: BUILD_DIRECTORY
diff --git a/jjb/genesis/genesis-fuel.yml b/jjb/genesis/genesis-fuel.yml
index 8ab771020..ea628a626 100644
--- a/jjb/genesis/genesis-fuel.yml
+++ b/jjb/genesis/genesis-fuel.yml
@@ -40,6 +40,8 @@
node: ericsson-build
+ disabled: true
+
concurrent: true
properties:
@@ -114,6 +116,8 @@
node: ericsson-build
+ disabled: true
+
concurrent: true
properties:
@@ -182,7 +186,7 @@
node: ericsson-build
- disabled: '{obj:disabled}'
+ disabled: true
triggers:
- 'genesis-fuel-{stream}-trigger'
@@ -236,7 +240,7 @@
- job-template:
name: 'genesis-fuel-deploy-runner-{stream}'
- disabled: false
+ disabled: true
parameters:
- project-parameter:
@@ -275,6 +279,8 @@
node: ericsson-build
+ disabled: true
+
parameters:
- project-parameter:
project: '{project}'
@@ -300,7 +306,7 @@
- job-template:
name: 'genesis-fuel-deploy-{stream}'
- disabled: false
+ disabled: true
node: opnfv-jump-2
@@ -332,7 +338,7 @@
- job-template:
name: 'genesis-fuel-lab-reconfig-{stream}'
- disabled: false
+ disabled: true
parameters:
- project-parameter:
diff --git a/jjb/genesis/genesis-juju.yml b/jjb/genesis/genesis-juju.yml
index efc09b3c3..3d102d282 100644
--- a/jjb/genesis/genesis-juju.yml
+++ b/jjb/genesis/genesis-juju.yml
@@ -25,6 +25,8 @@
- job-template:
name: 'genesis-juju-verify'
+ disabled: true
+
node: ericsson-build
parameters:
@@ -75,6 +77,8 @@
- job-template:
name: 'genesis-juju-merge'
+ disabled: true
+
# builder-merge job to run JJB update
#
# This job's purpose is to update all the JJB
@@ -123,6 +127,8 @@
- job-template:
name: 'genesis-juju-daily-{stream}'
+ disabled: true
+
node: ericsson-build
parameters:
diff --git a/jjb/ipv6/ipv6.yml b/jjb/ipv6/ipv6.yml
index 7768f2de1..67bc7885e 100644
--- a/jjb/ipv6/ipv6.yml
+++ b/jjb/ipv6/ipv6.yml
@@ -10,14 +10,13 @@
jobs:
- 'ipv6-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'ipv6-verify-{stream}'
diff --git a/jjb/joid/joid-ci-jobs.yml b/jjb/joid/joid-ci-jobs.yml
new file mode 100644
index 000000000..80e21f50e
--- /dev/null
+++ b/jjb/joid/joid-ci-jobs.yml
@@ -0,0 +1,276 @@
+########################
+# Job configuration for joid
+########################
+- project:
+
+ name: 'joid'
+
+ project: '{name}'
+
+ installer: '{name}'
+
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+ master: &master
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ brahmaputra: &brahmaputra
+ stream: brahmaputra
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+#--------------------------------
+# POD, INSTALLER, AND BRANCH MAPPING
+#--------------------------------
+# brahmaputra
+#--------------------------------
+ pod:
+ - intel-pod5:
+ <<: *brahmaputra
+#--------------------------------
+# master
+#--------------------------------
+ - intel-pod6:
+ <<: *master
+ - orange-pod2:
+ <<: *master
+#--------------------------------
+# please check the triggers before enabling any of the controllers!!!
+ sdn-controller:
+ - 'odl':
+ disabled: false
+# commented out below controllers to get Arno scenario settled first
+# - 'nosdn':
+# disabled: true
+# - 'onos':
+# disabled: true
+# - 'opencontrail':
+# disabled: true
+
+ jobs:
+ - 'joid-{sdn-controller}-{pod}-daily-{stream}'
+ - 'joid-deploy-{pod}-daily-{stream}'
+
+########################
+# job templates
+########################
+- job-template:
+ name: 'joid-{sdn-controller}-{pod}-daily-{stream}'
+
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+
+ triggers:
+ - 'joid-{pod}-{sdn-controller}-trigger'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - '{pod}-defaults'
+ - '{installer}-defaults'
+ - string:
+ name: SDN_CONTROLLER
+ default: '{sdn-controller}'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'none'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ builders:
+ - '{installer}-multijob-{pod}-builder':
+ pod: '{pod}'
+ stream: '{stream}'
+
+- job-template:
+ name: 'joid-deploy-{pod}-daily-{stream}'
+
+ disabled: false
+
+ concurrent: false
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: 180
+ fail: true
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - '{pod}-defaults'
+ - '{installer}-defaults'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ builders:
+ - '{pod}-builder'
+
+########################
+# multijob builder macros
+########################
+# intel-pod5 is CI POD so full CI will run on it
+# deploy, functest, yardstick
+- builder:
+ name: joid-multijob-intel-pod5-builder
+ builders:
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: 'joid-deploy-{pod}-daily-{stream}'
+ current-parameters: true
+ git-revision: true
+ kill-phase-on: FAILURE
+ - multijob:
+ name: functest
+ condition: COMPLETED
+ projects:
+ - name: 'functest-joid-{pod}-daily-{stream}'
+ current-parameters: true
+ kill-phase-on: NEVER
+ - multijob:
+ name: yardstick
+ condition: COMPLETED
+ projects:
+ - name: 'yardstick-joid-{pod}-daily-{stream}'
+ current-parameters: true
+ kill-phase-on: NEVER
+# intel-pod6 is CI POD so full CI will run on it
+# deploy, functest, yardstick
+- builder:
+ name: joid-multijob-intel-pod6-builder
+ builders:
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: 'joid-deploy-{pod}-daily-{stream}'
+ current-parameters: true
+ git-revision: true
+ kill-phase-on: FAILURE
+ - multijob:
+ name: functest
+ condition: COMPLETED
+ projects:
+ - name: 'functest-joid-{pod}-daily-{stream}'
+ current-parameters: true
+ kill-phase-on: NEVER
+ - multijob:
+ name: yardstick
+ condition: COMPLETED
+ projects:
+ - name: 'yardstick-joid-{pod}-daily-{stream}'
+ current-parameters: true
+ kill-phase-on: NEVER
+# yardstick placeholder
+# - multijob:
+# name: yardstick
+# condition: COMPLETED
+# projects:
+# - name: 'yardstick-joid-{pod}-daily-{stream}'
+# current-parameters: true
+# kill-phase-on: NEVER
+
+# orange-pod2 is NOT a CI POD so only the selected jobs will run
+# deploy and functest currently
+- builder:
+ name: joid-multijob-orange-pod2-builder
+ builders:
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: 'joid-deploy-{pod}-daily-{stream}'
+ current-parameters: true
+ git-revision: true
+ kill-phase-on: FAILURE
+ - multijob:
+ name: functest
+ condition: COMPLETED
+ projects:
+ - name: 'functest-joid-{pod}-daily-{stream}'
+ current-parameters: true
+ kill-phase-on: NEVER
+########################
+# builder macros
+########################
+- builder:
+ name: intel-pod5-builder
+ builders:
+ - shell: |
+ #!/bin/bash
+ echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
+ echo
+ echo "Executing clean.sh"
+ cd $WORKSPACE/ci
+ ./clean.sh
+ echo
+ echo "Executing 02-maasdeploy.sh intelpod5"
+ ./02-maasdeploy.sh intelpod5
+ echo
+ echo "Executing deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5"
+ ./deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5
+
+- builder:
+ name: intel-pod6-builder
+ builders:
+ - shell: |
+ #!/bin/bash
+ echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
+ echo
+ echo "Executing clean.sh"
+ cd $WORKSPACE/ci
+ ./clean.sh
+ echo
+ echo "Executing 02-maasdeploy.sh intelpod6"
+ ./02-maasdeploy.sh intelpod6
+ echo
+ echo "Executing deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod6"
+ ./deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod6
+
+- builder:
+ name: orange-pod2-builder
+ builders:
+ - shell: |
+ #!/bin/bash
+ echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
+ echo "Please note that this is WIP generic builder"
+ echo
+ echo "Executing clean.sh"
+ cd $WORKSPACE/ci
+ ./clean.sh
+ - shell:
+ !include-raw ./joid-deploy.sh
+########################
+# trigger macros
+########################
+- trigger:
+ name: 'joid-intel-pod5-odl-trigger'
+ triggers:
+ - timed: '0 2 * * *'
+- trigger:
+ name: 'joid-intel-pod6-odl-trigger'
+ triggers:
+ - timed: '0 2 * * *'
+- trigger:
+ name: 'joid-orange-pod2-odl-trigger'
+ triggers:
+ - timed: ''
diff --git a/jjb/joid/joid-deploy.sh b/jjb/joid/joid-deploy.sh
index d9ce86eb4..c7e5ba8fd 100644
--- a/jjb/joid/joid-deploy.sh
+++ b/jjb/joid/joid-deploy.sh
@@ -2,12 +2,8 @@
set +e
set -o nounset
-####### Temporary - to be done with jenkins params #####
-JOID_MODE=ha
-JOID_RELEASE=liberty
-JOID_LOCAL_CONFIG_FOLDER=~/joid_config
-JOID_SDN_CONTROLLER=odl
-#################
+JOID_LOCAL_CONFIG_FOLDER=$HOME/joid_config
+JOID_ADMIN_OPENRC=$JOID_LOCAL_CONFIG_FOLDER/admin-openrc
##
## Load local config or defaults
@@ -18,6 +14,7 @@ if [ -e "$JOID_LOCAL_CONFIG_FOLDER/config.sh" ]; then
source $JOID_LOCAL_CONFIG_FOLDER/config.sh
else
echo "------ No local config, load default ------"
+ # link NODE_NAME to joid node config names
case $NODE_NAME in
orange-fr-pod2)
POD=orange-pod2 ;;
@@ -33,7 +30,6 @@ else
export OS_ADMIN_PASSWORD=openstack
export CEPH_DISKS=/srv
export CEPH_REFORMAT=no
- export JOID_ADMIN_OPENRC=$WORKSPACE/admin_openrc.sh
fi
##
@@ -47,8 +43,8 @@ if [ -e "$JOID_LOCAL_CONFIG_FOLDER/environments.yaml" ] && [ "$MAAS_REINSTALL" =
else
MAASCONFIG=$WORKSPACE/ci/maas/$POD_DC/$POD_NUM/deployment.yaml
echo "------ Set MAAS password ------"
- sed -i -- 's/user: ubuntu/user: $MAAS_USER/' $MAASCONFIG
- sed -i -- 's/password: ubuntu/password: $MAAS_PASSWORD/' $MAASCONFIG
+ sed -i -- "s/user: ubuntu/user: $MAAS_USER/" $MAASCONFIG
+ sed -i -- "s/password: ubuntu/password: $MAAS_PASSWORD/" $MAASCONFIG
echo "------ Redeploy MAAS ------"
./02-maasdeploy.sh $POD_NAME
fi
@@ -58,10 +54,10 @@ fi
##
# Get juju deployer file
-if [ "$JOID_MODE" == 'nonha' ]; then
- SRCBUNDLE=$WORKSPACE/ci/$JOID_SDN_CONTROLLER/juju-deployer/ovs-$JOID_SDN_CONTROLLER.yaml
+if [ "$HA_MODE" == 'nonha' ]; then
+ SRCBUNDLE=$WORKSPACE/ci/$SDN_CONTROLLER/juju-deployer/ovs-$SDN_CONTROLLER.yaml
else
- SRCBUNDLE=$WORKSPACE/ci/$JOID_SDN_CONTROLLER/juju-deployer/ovs-$JOID_SDN_CONTROLLER-$JOID_MODE.yaml
+ SRCBUNDLE=$WORKSPACE/ci/$SDN_CONTROLLER/juju-deployer/ovs-$SDN_CONTROLLER-$HA_MODE.yaml
fi
# Modify files
@@ -78,17 +74,24 @@ sed -i -r -- "s/^(\s+osd-reformat: )'no'/\1'$CEPH_REFORMAT'/" $SRCBUNDLE
##
echo "------ Deploy with juju ------"
-echo "Execute: ./deploy.sh -t $JOID_MODE -o $JOID_RELEASE -s $JOID_SDN_CONTROLLER -l $POD_NAME"
+echo "Execute: ./deploy.sh -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME"
-./deploy.sh -t $JOID_MODE -o $JOID_RELEASE -s $JOID_SDN_CONTROLLER -l $POD_NAME
+./deploy.sh -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME
##
## Set Admin RC
##
-echo "------ Create OpenRC file ------"
-KEYSTONE=$(cat bundle.yaml |shyaml get-value openstack-phase2.services.keystone.options.vip)
+echo "------ Create OpenRC file [$JOID_ADMIN_OPENRC] ------"
+KEYSTONE=$(cat bundles.yaml |shyaml get-value openstack-phase2.services.keystone.options.vip)
+# create the folder if needed
+JOID_ADMIN_OPENRC_FOLDER=$(echo $JOID_ADMIN_OPENRC | perl -pe "s|^(.*/).*?$|\1|")
+if [ ! -d "$JOID_ADMIN_OPENRC_FOLDER" ]; then
+ mkdir -p $JOID_ADMIN_OPENRC_FOLDER
+fi
+
+# export the openrc file
cat << EOF > $JOID_ADMIN_OPENRC
export OS_USERNAME=admin
export OS_PASSWORD=$OS_ADMIN_PASSWORD
@@ -97,7 +100,37 @@ export OS_AUTH_URL=http://$KEYSTONE:5000/v2.0
export OS_REGION_NAME=Canonical
EOF
+##
+## Backup local juju env
+##
+
if [ -d "$JOID_LOCAL_CONFIG_FOLDER" ]; then
echo "------ Backup Juju environment ------"
cp environments.yaml $JOID_LOCAL_CONFIG_FOLDER/
fi
+
+##
+## Basic test to return a realistic result to jenkins
+##
+source $JOID_ADMIN_OPENRC
+curl -i -sw '%{http_code}' -H "Content-Type: application/json" -d "
+{ \"auth\": {
+ \"identity\": {
+ \"methods\": [\"password\"],
+ \"password\": {
+ \"user\": {
+ \"name\": \"$OS_TENANT_NAME\",
+ \"domain\": { \"id\": \"default\" },
+ \"password\": \"$OS_PASSWORD\"
+ }
+ }
+ }
+ }
+}" http://$KEYSTONE:5000/v3/auth/tokens |grep "HTTP/1.1 20" 2>&1 >/dev/null; echo $?;
+RES=$?
+if [ $RES == 0 ]; then
+ echo "Deploy SUCCESS"
+else
+ echo "Deploy FAILED"
+fi
+exit $RES
diff --git a/jjb/joid/joid-project-jobs.yml b/jjb/joid/joid-project-jobs.yml
new file mode 100644
index 000000000..b314da1fa
--- /dev/null
+++ b/jjb/joid/joid-project-jobs.yml
@@ -0,0 +1,61 @@
+###################################################
+# All the jobs except verify have been removed!
+# They will only be enabled on request by projects!
+###################################################
+- project:
+ name: joid-project-jobs
+
+ project: 'joid'
+
+ jobs:
+ - 'joid-verify-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+
+- job-template:
+ name: 'joid-verify-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ 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: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
+
+ builders:
+ - shell: |
+ echo "Nothing to verify!"
diff --git a/jjb/joid/joid.yml b/jjb/joid/joid.yml
deleted file mode 100644
index 28b019fcd..000000000
--- a/jjb/joid/joid.yml
+++ /dev/null
@@ -1,117 +0,0 @@
-########################
-# Job configuration for joid
-########################
-- project:
-
- name: 'joid'
-
- installer: 'joid'
-
- controller: 'odl'
-
- pod:
- - 'intel-pod5'
- - 'orange-pod2'
-
- stream:
- - master:
- branch: 'master'
- gs-pathname: ''
-
- jobs:
- - 'joid-{controller}-{pod}-daily-{stream}'
- - 'joid-deploy-{pod}-daily-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'joid-{controller}-{pod}-daily-{stream}'
-
- disabled: false
-
- concurrent: false
-
- parameters:
- - project-parameter:
- project: '{installer}'
- - 'intel-us-build-1-defaults'
- - '{installer}-defaults':
- controller: '{controller}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- builders:
- - trigger-builds:
- - project: 'joid-deploy-{pod}-daily-{stream}'
- git-revision: true
- block: true
- predefined-parameters:
- CONTROLLER={controller}
-
-- job-template:
- name: 'joid-deploy-{pod}-daily-{stream}'
-
- disabled: false
-
- concurrent: false
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER: {installer} $CONTROLLER'
-
- parameters:
- - project-parameter:
- project: '{installer}'
- - '{pod}-defaults'
- - '{installer}-defaults':
- controller: '{controller}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- builders:
- - '{pod}-builder'
-
-########################
-# builder macros
-########################
-- builder:
- name: intel-pod5-builder
- builders:
- - shell: |
- #!/bin/bash
- echo "Running $INSTALLER_TYPE with controller $CONTROLLER"
- echo "Please note that this is a quick try to see how joid deployment works"
- echo
- echo "Executing clean.sh"
- cd $WORKSPACE/ci
- ./clean.sh
- - shell: |
- cd $WORKSPACE/ci
- echo "Executing 02-maasdeploy.sh intelpod5"
- ./02-maasdeploy.sh intelpod5
- - shell: |
- cd $WORKSPACE/ci
- echo "Executing deploy.sh -o liberty -s $CONTROLLER -t ha -l intelpod5"
- ./deploy.sh -o liberty -s $CONTROLLER -t ha -l intelpod5
-- builder:
- name: orange-pod2-builder
- builders:
- - shell: |
- #!/bin/bash
- echo "Running $INSTALLER_TYPE with controller $CONTROLLER"
- echo "Please note that this is WIP generic builder"
- echo
- echo "Executing clean.sh"
- cd $WORKSPACE/ci
- ./clean.sh
- - shell:
- !include-raw ./joid-deploy.sh
diff --git a/jjb/kvmfornfv/kvmfornfv.yml b/jjb/kvmfornfv/kvmfornfv.yml
index 562003350..368dab54e 100644
--- a/jjb/kvmfornfv/kvmfornfv.yml
+++ b/jjb/kvmfornfv/kvmfornfv.yml
@@ -1,16 +1,19 @@
- project:
name: kvmfornfv
+
+ project: '{name}'
+
jobs:
- 'kvmfornfv-verify-{stream}'
- 'kvmfornfv-merge-{stream}'
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
stream:
- master:
- branch: 'master'
-
- project: 'kvmfornfv'
+ branch: '{stream}'
+ gs-pathname: ''
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'kvmfornfv-verify-{stream}'
@@ -21,7 +24,7 @@
- project-parameter:
project: '{project}'
- gerrit-parameter:
- branch: 'master'
+ branch: '{branch}'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
@@ -47,10 +50,10 @@
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: 'kvmfornfv'
+ project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
builders:
- shell:
@@ -59,17 +62,13 @@
- job-template:
name: 'kvmfornfv-merge-{stream}'
- # builder-merge job to run JJB update
- #
- # This job's purpose is to update all the JJB
-
node: ericsson-build
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
- branch: 'master'
+ branch: '{branch}'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
@@ -89,10 +88,10 @@
comment-contains-value: 'remerge'
projects:
- project-compare-type: 'ANT'
- project-pattern: 'kvmfornfv'
+ project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
builders:
- shell:
diff --git a/jjb/octopus/octopus.yml b/jjb/octopus/octopus.yml
index 3aa422b38..cceda50aa 100644
--- a/jjb/octopus/octopus.yml
+++ b/jjb/octopus/octopus.yml
@@ -9,14 +9,13 @@
jobs:
- 'octopus-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'octopus-verify-{stream}'
diff --git a/jjb/onosfw/onosfw.yml b/jjb/onosfw/onosfw.yml
new file mode 100644
index 000000000..7dc0241f9
--- /dev/null
+++ b/jjb/onosfw/onosfw.yml
@@ -0,0 +1,187 @@
+- project:
+
+ name: onosfw
+
+ jobs:
+ - 'onosfw-verify-{stream}'
+ - 'onosfw-daily-{stream}'
+ - 'onosfw-build-{stream}'
+
+# only master branch is enabled at the moment to keep no of jobs sane
+ stream:
+ - master:
+ branch: 'master'
+ gs-pathname: ''
+# - brahmaputra:
+# branch: 'stable/brahmaputra'
+# gs-pathname: '/brahmaputra'
+
+ project: 'onosfw'
+
+########################
+# job templates
+########################
+- job-template:
+ name: 'onosfw-verify-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ 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: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
+
+ builders:
+ - 'builder-onosfw-helloworld'
+
+- job-template:
+ name: 'onosfw-daily-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - 'opnfv-build-defaults'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ triggers:
+ - timed: '@midnight'
+
+ builders:
+ - trigger-builds:
+ - project: 'onosfw-build-{stream}'
+ git-revision: true
+ block: true
+
+- job-template:
+ name: 'onosfw-build-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - 'opnfv-build-defaults'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ builders:
+ - 'builder-onosfw-helloworld'
+
+########################
+# builder macros
+########################
+- builder:
+ name: 'builder-onosfw-build'
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+
+ # log info to console
+ echo "Starting the build of $PROJECT. This could take some time..."
+ echo "--------------------------------------------------------"
+ echo
+
+ # create the cache directory if it doesn't exist
+ [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
+ [[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY
+
+ # set OPNFV_ARTIFACT_VERSION
+ export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
+
+ # start the build
+ cd $WORKSPACE/
+ ./ci/build.sh $BUILD_DIRECTORY/
+
+ # list the build artifacts
+ ls -al $BUILD_DIRECTORY
+
+ # save information regarding artifact into file
+ (
+ echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
+ 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-$OPNFV_ARTIFACT_VERSION.iso"
+ echo "OPNFV_ARTIFACT_MD5SUM=$(md5sum $BUILD_DIRECTORY/onosfw.iso | cut -d' ' -f1)"
+ echo "OPNFV_BUILD_URL=$BUILD_URL"
+ ) > $BUILD_DIRECTORY/opnfv.properties
+ echo
+ echo "--------------------------------------------------------"
+ echo "Done!"
+
+
+- builder:
+ name: 'builder-onosfw-upload-artifact'
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o nounset
+ set -o pipefail
+
+ # log info to console
+ echo "Uploading the $INSTALLER artifact. This could take some time..."
+ echo "--------------------------------------------------------"
+ echo
+
+ # source the opnfv.properties to get ARTIFACT_VERSION
+ source $BUILD_DIRECTORY/opnfv.properties
+
+ # upload artifact and additional files to google storage
+ gsutil cp $BUILD_DIRECTORY/onosfw.iso gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1
+ gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
+ gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
+
+ echo
+ echo "--------------------------------------------------------"
+ echo "Done!"
+ echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso"
+
+
+- builder:
+ name: 'builder-onosfw-helloworld'
+ builders:
+ - shell: |
+ #!/bin/bash
+ echo "Hello world!"
diff --git a/jjb/opnfv/installer-params.yml b/jjb/opnfv/installer-params.yml
index 64945c656..3e5c0ffac 100644
--- a/jjb/opnfv/installer-params.yml
+++ b/jjb/opnfv/installer-params.yml
@@ -9,6 +9,18 @@
name: INSTALLER_TYPE
default: apex
description: 'Installer used for deploying OPNFV on this POD'
+ - string:
+ name: SDN_CONTROLLER
+ default: 'nosdn'
+ description: 'SDN Controller to use'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'none'
+ description: 'Scenario to deploy and test'
+ - string:
+ name: EXTERNAL_NETWORK
+ default: 'net04_ext'
+ description: 'external network for test'
- parameter:
name: 'compass-defaults'
@@ -21,6 +33,18 @@
name: INSTALLER_TYPE
default: compass
description: 'Installer used for deploying OPNFV on this POD'
+ - string:
+ name: SDN_CONTROLLER
+ default: 'nosdn'
+ description: 'SDN Controller to use'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'none'
+ description: 'Scenario to deploy and test'
+ - string:
+ name: EXTERNAL_NETWORK
+ default: 'ext-net'
+ description: 'external network for test'
- parameter:
name: 'fuel-defaults'
@@ -33,6 +57,18 @@
name: INSTALLER_TYPE
default: fuel
description: 'Installer used for deploying OPNFV on this POD'
+ - string:
+ name: SDN_CONTROLLER
+ default: 'nosdn'
+ description: 'SDN Controller to use'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'none'
+ description: 'Scenario to deploy and test'
+ - string:
+ name: EXTERNAL_NETWORK
+ default: 'net04_ext'
+ description: 'external network for test'
- parameter:
name: 'joid-defaults'
@@ -45,3 +81,23 @@
name: INSTALLER_TYPE
default: joid
description: 'Installer used for deploying OPNFV on this POD'
+ - string:
+ name: SDN_CONTROLLER
+ default: 'nosdn'
+ description: 'SDN Controller to use'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'none'
+ description: 'Scenario to deploy and test'
+ - string:
+ name: HA_MODE
+ default: 'ha'
+ description: 'High Availability mode (ha|nonha)'
+ - string:
+ name: OS_RELEASE
+ default: 'liberty'
+ description: 'OpenStack release (kilo|liberty)'
+ - string:
+ name: EXTERNAL_NETWORK
+ default: 'net04_ext'
+ description: 'external network for test'
diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh
index 6f0a0c35c..545aef6dd 100644
--- a/jjb/opnfv/opnfv-docker.sh
+++ b/jjb/opnfv/opnfv-docker.sh
@@ -12,8 +12,18 @@ echo
# Remove previous running containers if exist
if [[ ! -z $(docker ps -a | grep $DOCKER_REPO_NAME) ]]; then
echo "Removing existing $DOCKER_REPO_NAME containers..."
- docker ps | grep $DOCKER_REPO_NAME | awk '{{print $1}}' | xargs docker stop
- docker ps -a | grep $DOCKER_REPO_NAME | awk '{{print $1}}' | xargs docker rm
+ #docker ps | grep $DOCKER_REPO_NAME | awk '{{print $1}}' | xargs docker stop
+ docker ps -a | grep $DOCKER_REPO_NAME | awk '{{print $1}}' | xargs docker rm -f
+ t=60
+ # Wait max 60 sec for containers to be removed
+ while [ $t -gt 0 ]; do
+ ids=$(docker ps | grep $DOCKER_REPO_NAME |awk '{{print $1}}')
+ if [[ -z $ids ]]; then
+ break
+ fi
+ sleep 1
+ let t=t-1
+ done
fi
@@ -24,7 +34,7 @@ if [[ ! -z $(docker images | grep $DOCKER_REPO_NAME) ]]; then
image_tags=($(docker images | grep $DOCKER_REPO_NAME | awk '{{print $2}}'))
for tag in "${{image_tags[@]}}"; do
echo "Removing docker image $DOCKER_REPO_NAME:$tag..."
- docker rmi $DOCKER_REPO_NAME:$tag
+ docker rmi -f $DOCKER_REPO_NAME:$tag
done
fi
@@ -36,7 +46,7 @@ if [[ "$UPDATE_LATEST_STABLE" == "true" ]]; then
echo "ERROR: The image $DOCKER_REPO_NAME with tag $STABLE_TAG does not exist."
exit 1
fi
- docker tag $DOCKER_REPO_NAME:$STABLE_TAG $DOCKER_REPO_NAME:latest_stable
+ docker tag -f $DOCKER_REPO_NAME:$STABLE_TAG $DOCKER_REPO_NAME:latest_stable
echo "Pushing $DOCKER_REPO_NAME:latest_stable ..."
docker push $DOCKER_REPO_NAME:latest_stable
exit 0
@@ -66,6 +76,8 @@ elif [[ "$DOCKER_REPO_NAME" == "opnfv/yardstick" ]]; then
cd $WORKSPACE/ci/docker/yardstick-ci
elif [[ "$DOCKER_REPO_NAME" == "opnfv/storperf" ]]; then
cd $WORKSPACE/docker
+elif [[ "$DOCKER_REPO_NAME" == "opnfv/qtip" ]]; then
+ cd $WORKSPACE/docker
else
echo "ERROR: DOCKER_REPO_NAME parameter not valid: $DOCKER_REPO_NAME"
exit 1
diff --git a/jjb/opnfv/opnfv-docker.yml b/jjb/opnfv/opnfv-docker.yml
index 83ebab7af..fcbe60be2 100644
--- a/jjb/opnfv/opnfv-docker.yml
+++ b/jjb/opnfv/opnfv-docker.yml
@@ -10,6 +10,7 @@
- 'functest'
- 'yardstick'
- 'storperf'
+ - 'qtip'
jobs:
- '{project}-docker-build-push-{stream}'
diff --git a/jjb/opnfv/opnfv-docs.yml b/jjb/opnfv/opnfv-docs.yml
index 3574b3988..31f5d00fd 100644
--- a/jjb/opnfv/opnfv-docs.yml
+++ b/jjb/opnfv/opnfv-docs.yml
@@ -11,11 +11,13 @@
- 'opnfv-docs-verify-{stream}'
- 'opnfv-docs-merge-{stream}'
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
+ gs-pathname: ''
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
########################
# job templates
@@ -28,7 +30,7 @@
- project-parameter:
project: $GERRIT_PROJECT
- gerrit-parameter:
- branch: 'master'
+ branch: '{branch}'
scm:
- gerrit-trigger-scm:
@@ -54,7 +56,7 @@
project-pattern: 'vswitchperf|yardstick|apex|availability|bottlenecks|compass4nfv|conductor|copper|doctor|dovetail|dpacc|escalator|fastpathmetrics|fuel|inspector|ipv6|joid|kvmfornfv|lsoapi|moon|movie|multisite|onosfw|ovsnfv|parser|prediction|promise|qtip|releng|rs|sdnvpn|sfc|vnf_forwarding_graph|enfv|pinpoint|pharos|opnfvdocs|cperf|functest'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
file-paths:
- compare-type: ANT
pattern: 'docs/**'
@@ -69,7 +71,11 @@
- project-parameter:
project: $GERRIT_PROJECT
- gerrit-parameter:
- branch: 'master'
+ branch: '{branch}'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
scm:
- gerrit-trigger-scm:
@@ -88,7 +94,7 @@
project-pattern: 'vswitchperf|yardstick|apex|availability|bottlenecks|compass4nfv|conductor|copper|doctor|dovetail|dpacc|escalator|fastpathmetrics|fuel|inspector|ipv6|joid|kvmfornfv|lsoapi|moon|movie|multisite|onosfw|ovsnfv|parser|prediction|promise|qtip|releng|rs|sdnvpn|sfc|vnf_forwarding_graph|enfv|pinpoint|pharos|opnfvdocs|cperf|functest'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
file-paths:
- compare-type: ANT
pattern: 'docs/**'
diff --git a/jjb/opnfv/pod-params.yml b/jjb/opnfv/slave-params.yml
index e36a0b684..002ab7e52 100644
--- a/jjb/opnfv/pod-params.yml
+++ b/jjb/opnfv/slave-params.yml
@@ -15,7 +15,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- string:
name: SSH_KEY
default: /root/.ssh/id_rsa
@@ -38,7 +38,11 @@
- string:
name: GIT_BASE
default: ssh://gerrit.opnfv.org:29418/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: POD_CONF_DIR
+ default: $WORKSPACE/deploy/templates/hardware_environment/conf/linux_foundation_lab/pod2
+ description: 'Directory where POD configuration files are located.'
- parameter:
name: 'ericsson-pod1-defaults'
@@ -57,7 +61,11 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: POD_CONF_DIR
+ default: $WORKSPACE/deploy/templates/hardware_environment/conf/ericsson_montreal_lab/pod1
+ description: 'Directory where POD configuration files are located.'
- parameter:
name: 'ericsson-pod2-defaults'
@@ -76,7 +84,11 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: POD_CONF_DIR
+ default: $WORKSPACE/deploy/templates/hardware_environment/conf/ericsson_montreal_lab/pod2
+ description: 'Directory where POD configuration files are located.'
- parameter:
name: 'intelpod2-jumphost-defaults'
@@ -95,7 +107,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- string:
name: SSH_KEY
default: /root/.ssh/id_rsa
@@ -114,7 +126,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'intel-pod5-defaults'
@@ -133,7 +145,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'intel-pod6-defaults'
@@ -152,7 +164,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'intel-pod8-defaults'
@@ -171,7 +183,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'huawei-us-deploy-bare-1-defaults'
@@ -190,7 +202,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'opnfv-build-defaults'
@@ -207,7 +219,11 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the slave'
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
- parameter:
name: 'intel-us-build-1-defaults'
@@ -222,7 +238,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the slave'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'intel-us-build-2-defaults'
@@ -237,7 +253,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the slave'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'ericsson-ca-build-1-defaults'
@@ -252,7 +268,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the slave'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'zte-build-1'
@@ -267,7 +283,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the slave'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'orange-pod2-defaults'
@@ -286,7 +302,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- string:
name: LAB_CONFIG
default: "/home/opnfv/repos/functest"
@@ -310,26 +326,18 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- parameter:
- name: 'intel-us-deploy-virtual-1-defaults'
+ name: 'fuel-deploy-virtual-defaults'
parameters:
- - node:
- name: SLAVE_NAME
- description: 'Slave name on Jenkins'
- allowed-slaves:
- - intel-us-deploy-virtual-1
- default-slaves:
- - intel-us-deploy-virtual-1
- - string:
- name: INSTALLER_VERSION
- default: latest
- description: 'Version of the installer to deploy'
+ - label:
+ name: SLAVE_LABEL
+ default: 'fuel-deploy-virtual'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on these Jenkins Slaves'
- parameter:
name: 'intel-us-deploy-virtual-2-defaults'
@@ -348,7 +356,7 @@
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on the jumphost'
+ description: 'Git URL to use on this Jenkins Slave'
- string:
name: SSH_KEY
default: /root/.ssh/id_rsa
diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml
new file mode 100644
index 000000000..c4fa73468
--- /dev/null
+++ b/jjb/opnfvdocs/opnfvdocs.yml
@@ -0,0 +1,156 @@
+########################
+# Job configuration for opnfvdocs
+########################
+- project:
+
+ name: opnfvdocs
+
+ project: '{name}'
+
+ jobs:
+ - 'opnfvdocs-verify-{stream}'
+ - 'opnfvdocs-merge-{stream}'
+ - 'opnfvdocs-daily-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+
+########################
+# job templates
+########################
+
+- job-template:
+ name: 'opnfvdocs-verify-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ - gerrit-parameter:
+ branch: '{branch}'
+ - string:
+ name: GIT_CLONE_BASE
+ default: ssh://gerrit.opnfv.org:29418
+ description: "Used for overriding the GIT URL coming from parameters macro."
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ 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: 'REG_EXP'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+
+ builders:
+ - build-opnfv-composite-docs
+ - upload-under-review-docs-to-opnfv-artifacts
+ - report-docs-build-result-to-gerrit
+
+- job-template:
+ name: 'opnfvdocs-merge-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: $GERRIT_PROJECT
+ - gerrit-parameter:
+ branch: '{branch}'
+ - string:
+ name: GIT_CLONE_BASE
+ default: ssh://gerrit.opnfv.org:29418
+ description: "Used for overriding the GIT URL coming from parameters macro."
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'REG_EXP'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**'
+
+ builders:
+ - build-opnfv-composite-docs
+# - upload-generated-docs-to-opnfv-artifacts
+ - report-docs-build-result-to-gerrit
+ - remove-old-docs-from-opnfv-artifacts
+
+- job-template:
+ name: 'opnfvdocs-daily-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
+ - string:
+ name: GIT_CLONE_BASE
+ default: ssh://gerrit.opnfv.org:29418
+ description: "Used for overriding the GIT URL coming from parameters macro."
+ - string:
+ name: GERRIT_BRANCH
+ default: '{branch}'
+ description: 'Specify the branch in this way in order to be able to use build-opnfv-composite-docs builder.'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ triggers:
+ - timed: '0 H/6 * * *'
+
+ builders:
+ - build-opnfv-composite-docs
+# - upload-generated-docs-to-opnfv-artifacts
+
+- builder:
+ name: build-opnfv-composite-docs
+ builders:
+ - shell: |
+ #!/bin/bash -e
+ export PATH=$PATH:/usr/local/bin/
+ GERRIT_COMMENT=gerrit_comment.txt ./build-composite.sh
diff --git a/jjb/opnfvdocs/project.cfg b/jjb/opnfvdocs/project.cfg
new file mode 100644
index 000000000..ba977f92a
--- /dev/null
+++ b/jjb/opnfvdocs/project.cfg
@@ -0,0 +1,37 @@
+apex
+armband
+availability
+bottlenecks
+compass4nfv
+copper
+conductor
+doctor
+dpacc
+escalator
+fastpathmetrics
+fuel
+functest
+genesisreq
+ipv6
+joid
+kvmfornfv
+lsoapi
+moon
+movie
+multisite
+octopus
+onosfw
+ovno
+ovsnfv
+parser
+pharos
+policytest
+prediction
+promise
+qtip
+sdnvpn
+sfc
+storperf
+vnf_forwarding_graph
+vswitchperf
+yardstick
diff --git a/jjb/ovsnfv/ovsnfv.yml b/jjb/ovsnfv/ovsnfv.yml
index 00417eb0b..d0c180c5b 100644
--- a/jjb/ovsnfv/ovsnfv.yml
+++ b/jjb/ovsnfv/ovsnfv.yml
@@ -8,14 +8,13 @@
- 'ovsnfv-merge-{stream}'
- 'ovsnfv-daily-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'ovsnfv-verify-{stream}'
@@ -26,6 +25,10 @@
- gerrit-parameter:
branch: '{branch}'
- 'intel-us-build-2-defaults'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
scm:
- gerrit-trigger-scm:
@@ -71,6 +74,10 @@
- gerrit-parameter:
branch: '{branch}'
- 'intel-us-build-2-defaults'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
scm:
- gerrit-trigger-scm:
@@ -108,6 +115,10 @@
- project-parameter:
project: '{project}'
- 'intel-us-build-2-defaults'
+ - string:
+ name: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "Directory where the build artifact will be located upon the completion of the build."
scm:
- git-scm:
diff --git a/jjb/parser/parser.yml b/jjb/parser/parser.yml
index 9913c0315..5e603f026 100644
--- a/jjb/parser/parser.yml
+++ b/jjb/parser/parser.yml
@@ -10,14 +10,13 @@
jobs:
- 'parser-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'parser-verify-{stream}'
diff --git a/jjb/pharos/pharos.yml b/jjb/pharos/pharos.yml
index 30172cdd8..3bef22578 100644
--- a/jjb/pharos/pharos.yml
+++ b/jjb/pharos/pharos.yml
@@ -10,14 +10,13 @@
jobs:
- 'pharos-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'pharos-verify-{stream}'
diff --git a/jjb/prediction/prediction.yml b/jjb/prediction/prediction.yml
index 7a47bc11e..f8fdceb81 100644
--- a/jjb/prediction/prediction.yml
+++ b/jjb/prediction/prediction.yml
@@ -10,14 +10,13 @@
jobs:
- 'prediction-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'prediction-verify-{stream}'
diff --git a/jjb/promise/promise.yml b/jjb/promise/promise.yml
index d057f3f2f..7999fb5ce 100644
--- a/jjb/promise/promise.yml
+++ b/jjb/promise/promise.yml
@@ -10,14 +10,13 @@
jobs:
- 'promise-verify-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'promise-verify-{stream}'
diff --git a/jjb/releng-defaults.yaml b/jjb/releng-defaults.yaml
index fed1056bb..2b927d270 100644
--- a/jjb/releng-defaults.yaml
+++ b/jjb/releng-defaults.yaml
@@ -5,9 +5,9 @@
logrotate:
daysToKeep: 30
- numToKeep: 40
+ numToKeep: 100
artifactDaysToKeep: 30
- artifactNumToKeep: 40
+ artifactNumToKeep: 100
ssh-credentials: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e'
wrappers:
@@ -18,3 +18,4 @@
project-type: freestyle
node: master
+
diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml
index f9cb95209..5a1568e23 100644
--- a/jjb/releng-macros.yaml
+++ b/jjb/releng-macros.yaml
@@ -7,6 +7,14 @@
name: PROJECT
default: '{project}'
description: "JJB configured PROJECT parameter to identify an opnfv Gerrit project"
+ - string:
+ name: GS_BASE
+ default: artifacts.opnfv.org/$PROJECT
+ description: "URL to Google Storage."
+ - string:
+ name: GS_BASE_PROXY
+ default: build.opnfv.org/artifacts/$PROJECT
+ description: "URL to Google Storage proxy"
- parameter:
name: gerrit-parameter
@@ -165,7 +173,7 @@
export PATH=$PATH:/usr/local/bin/
[[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
- [[ -d output ]]
+ [[ -d docs_output ]] || exit 0
echo
echo "###########################"
@@ -178,7 +186,7 @@
local_path="upload/$GERRIT_CHANGE_NUMBER"
mkdir -p upload
- mv output "$local_path"
+ mv docs_output "$local_path"
gsutil -m cp -r "$local_path" "gs://$gs_base"
if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then
@@ -193,32 +201,27 @@
sed -e "s|^$local_path| http://$gs_path|" >> gerrit_comment.txt
- builder:
- name: upload-merged-docs-to-opnfv-artifacts
+ name: upload-generated-docs-to-opnfv-artifacts
builders:
- shell: |
#!/bin/bash -e
set -o pipefail
export PATH=$PATH:/usr/local/bin/
- [[ -d output ]]
+ [[ -d docs_output ]] || exit 0
echo
- echo "#####################"
- echo "UPLOADING MERGED DOCS"
- echo "#####################"
+ echo "########################"
+ echo "UPLOADING GENERATED DOCS"
+ echo "########################"
echo
- if [[ "$GERRIT_BRANCH" == "master" ]] ; then
- gs_base="artifacts.opnfv.org/$GERRIT_PROJECT"
- else
- gs_base="artifacts.opnfv.org/$GERRIT_PROJECT/$GERRIT_BRANCH"
- fi
- gs_path="$gs_base/docs"
+ gs_path="$GS_URL/docs"
local_path="upload/docs"
mkdir -p upload
- mv output "$local_path"
- gsutil -m cp -r "$local_path" "gs://$gs_base"
+ mv docs_output "$local_path"
+ gsutil -m cp -r "$local_path" "gs://$GS_URL"
if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then
gsutil -m setmeta \
@@ -277,6 +280,6 @@
name: upload-merged-docs
builders:
- build-html-and-pdf-docs-output
- - upload-merged-docs-to-opnfv-artifacts
+ - upload-generated-docs-to-opnfv-artifacts
- report-docs-build-result-to-gerrit
- remove-old-docs-from-opnfv-artifacts
diff --git a/jjb/storperf/storperf.yml b/jjb/storperf/storperf.yml
index dd00474e4..fffca10cc 100644
--- a/jjb/storperf/storperf.yml
+++ b/jjb/storperf/storperf.yml
@@ -1,17 +1,20 @@
- project:
name: storperf
+
+ project: '{name}'
+
jobs:
- 'storperf-verify-{stream}'
- 'storperf-merge-{stream}'
- 'storperf-daily-{stream}'
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
stream:
- master:
- branch: 'master'
-
- project: 'storperf'
+ branch: '{stream}'
+ gs-pathname: ''
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
name: 'storperf-verify-{stream}'
@@ -22,7 +25,7 @@
- project-parameter:
project: '{project}'
- gerrit-parameter:
- branch: 'master'
+ branch: '{branch}'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
@@ -48,10 +51,10 @@
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: 'storperf'
+ project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
builders:
- shell: |
@@ -90,10 +93,10 @@
comment-contains-value: 'remerge'
projects:
- project-compare-type: 'ANT'
- project-pattern: 'storperf'
+ project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
builders:
- shell: |
diff --git a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml
index de63c4eeb..0123fcdf9 100644
--- a/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml
+++ b/jjb/vnf_forwarding_graph/vnf_forwarding_graph.yml
@@ -1,71 +1,27 @@
- project:
name: vnf_forwarding_graph
+
+ project: '{name}'
+
jobs:
- - 'vnf_forwarding_graph-test'
- - 'vnf_forwarding_graph-daily-{stream}'
- - 'vnf_forwarding_graph-merge'
- - 'vnf_forwarding_graph-verify'
+ - 'vnf_forwarding_graph-verify-{stream}'
- # stream: branch with - in place of / (eg. stable-helium)
- # branch: branch (eg. stable/helium)
stream:
- master:
- branch: 'master'
-
- project: 'vnf_forwarding_graph'
- somevar: 'foo'
-
-- job-template:
- name: vnf_forwarding_graph-test
-
- builders:
- - shell: |
- echo "Hello world from vnf_forwarding_graph"
-
-- job-template:
- name: 'vnf_forwarding_graph-daily-{stream}'
-
- # Job template for daily builders
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
-
- varsetabove: '{somevar}'
-
- parameters:
- - project-parameter:
- project: '{project}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- triggers:
- - timed: 'H H * * *'
-
- prebuilders:
- - test-macro
-
- builders:
- - shell: |
- pwd
- find .
- echo "Hello world from vnf_forwarding_graph {somevar} daily"
-
- postbuilders:
- - test-macro
+ branch: '{stream}'
+ gs-pathname: ''
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
- name: 'vnf_forwarding_graph-verify'
+ name: 'vnf_forwarding_graph-verify-{stream}'
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
- branch: 'master'
+ branch: '{branch}'
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
@@ -86,52 +42,11 @@
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: 'vnf_forwarding_graph'
+ project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
-
- builders:
- - shell: |
- pwd
- find .
- echo "verify logic goes here"
-
-- job-template:
- name: 'vnf_forwarding_graph-merge'
-
- # builder-merge job to run JJB update
- #
- # This job's purpose is to update all the JJB
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: 'master'
-
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- choosing-strategy: 'default'
-
- triggers:
- - gerrit:
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: 'vnf_forwarding_graph'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
builders:
- shell: |
- pwd
- find .
- echo "merge logic goes here"
-
+ echo "Nothing to verify!"
diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml
index a06507a14..4b1147d36 100644
--- a/jjb/vswitchperf/vswitchperf.yml
+++ b/jjb/vswitchperf/vswitchperf.yml
@@ -9,14 +9,13 @@
- 'vswitchperf-merge-{stream}'
- 'vswitchperf-daily-{stream}'
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
- job-template:
@@ -34,7 +33,7 @@
branch: '{branch}'
triggers:
- - timed: 'H H * * *'
+ - pollscm: '@midnight'
builders:
- shell: |
@@ -44,6 +43,8 @@
make
# run basic sanity test
make sanity
+ cd ../ci
+ scl enable python33 "source ~/vsperfenv/bin/activate ; ./build-vsperf.sh daily"
- job-template:
name: 'vswitchperf-verify-{stream}'
diff --git a/jjb/yardstick/yardstick.yml b/jjb/yardstick/yardstick-ci-jobs.yml
index e5c306a56..1cb6d1f08 100644
--- a/jjb/yardstick/yardstick.yml
+++ b/jjb/yardstick/yardstick-ci-jobs.yml
@@ -1,131 +1,68 @@
+###################################
+# job configuration for functest
+###################################
- project:
name: yardstick
project: '{name}'
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+ master: &master
+ stream: master
+ branch: '{stream}'
+ gs-pathname: ''
+ brahmaputra: &brahmaputra
+ stream: brahmaputra
+ branch: 'stable/{stream}'
+ gs-pathname: '{stream}'
+#--------------------------------
+# POD, INSTALLER, AND BRANCH MAPPING
+#--------------------------------
+# brahmaputra
+#--------------------------------
pod:
- opnfv-jump-2:
installer: fuel
+ <<: *brahmaputra
+ - intel-pod5:
+ installer: joid
+ <<: *brahmaputra
+#--------------------------------
+# master
+#--------------------------------
- ericsson-pod1:
installer: fuel
+ <<: *master
+ - ericsson-pod2:
+ installer: fuel
+ <<: *master
+ - intel-pod6:
+ installer: joid
+ <<: *master
- huawei-us-deploy-bare-1:
installer: compass
-
+ <<: *master
+#--------------------------------
loop:
- daily
jobs:
- 'yardstick-{installer}-{pod}-{loop}-{stream}'
- - 'yardstick-merge-{stream}'
- - 'yardstick-verify-{stream}'
-
- stream:
- - master:
- branch: 'master'
- gs-pathname: ''
-# - brahmaputra:
-# branch: 'stable/brahmaputra'
-# gs-pathname: '/brahmaputra'
-
-- job-template:
- name: 'yardstick-verify-{stream}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - 'ericsson-ca-build-1-defaults'
-
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: '$GERRIT_REFSPEC'
- choosing-strategy: 'gerrit'
-
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
-
- echo "Running unit tests..."
- cd $WORKSPACE
- virtualenv $WORKSPACE/yardstick_venv
- source $WORKSPACE/yardstick_venv/bin/activate
- easy_install -U setuptools
- python setup.py develop
- ./run_tests.sh
- deactivate
-
-- job-template:
- name: 'yardstick-merge-{stream}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - 'ericsson-ca-build-1-defaults'
-
- scm:
- - gerrit-trigger-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- choosing-strategy: 'default'
-
- triggers:
- - gerrit:
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
-
- echo "Running unit tests..."
- cd $WORKSPACE
- virtualenv $WORKSPACE/yardstick_venv
- source $WORKSPACE/yardstick_venv/bin/activate
- easy_install -U setuptools
- python setup.py develop
- ./run_tests.sh
- deactivate
+################################
+# job templates
+################################
- job-template:
name: 'yardstick-{installer}-{pod}-{loop}-{stream}'
disabled: false
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER - SDN: $SDN_CONTROLLER Scenario: $DEPLOY_SCENARIO'
+
parameters:
- project-parameter:
project: '{project}'
@@ -141,10 +78,7 @@
- git-scm:
credentials-id: '{ssh-credentials}'
refspec: ''
- branch: master
-
- triggers:
- - 'yardstick-trigger-{pod}'
+ branch: '{branch}'
builders:
- 'yardstick-cleanup'
@@ -177,9 +111,10 @@
-e "INSTALLER_TYPE=${INSTALLER_TYPE}" \
-e "INSTALLER_IP=${INSTALLER_IP}" \
-e "POD_NAME=${NODE_NAME}" \
- -e "EXTERNAL_NETWORK=net04_ext" \
+ -e "EXTERNAL_NETWORK=${EXTERNAL_NETWORK}" \
+ -e "YARDSTICK_BRANCH=${GERRIT_BRANCH}" \
opnfv/yardstick \
- run_tests.sh \
+ run_tests.sh $YARDSTICK_DB_BACKEND \
$YARDSTICK_SUITE_NAME
echo "Yardstick: done!"
@@ -219,11 +154,35 @@
# parameter macros
########################
- parameter:
+ name: 'yardstick-params-intel-pod5'
+ parameters:
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: ''
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'yardstick-params-intel-pod6'
+ parameters:
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: ''
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
name: 'yardstick-params-ericsson-pod1'
parameters:
- string:
name: YARDSTICK_DB_BACKEND
- default: 'none'
+ default: ''
+ description: 'Arguments to use in order to choose the backend DB'
+
+- parameter:
+ name: 'yardstick-params-ericsson-pod2'
+ parameters:
+ - string:
+ name: YARDSTICK_DB_BACKEND
+ default: ''
description: 'Arguments to use in order to choose the backend DB'
- parameter:
@@ -231,7 +190,7 @@
parameters:
- string:
name: YARDSTICK_DB_BACKEND
- default: 'db_args'
+ default: '-r 213.77.62.197'
description: 'Arguments to use in order to choose the backend DB'
- parameter:
@@ -239,22 +198,5 @@
parameters:
- string:
name: YARDSTICK_DB_BACKEND
- default: 'none'
+ default: ''
description: 'Arguments to use in order to choose the backend DB'
-########################
-# trigger macros
-########################
-- trigger:
- name: 'yardstick-trigger-ericsson-pod1'
- triggers:
- - timed: '@midnight'
-
-- trigger:
- name: 'yardstick-trigger-opnfv-jump-2'
- triggers:
- - timed: '#@midnight'
-
-- trigger:
- name: 'yardstick-trigger-huawei-us-deploy-bare-1'
- triggers:
- - timed: '#@midnight'
diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml
new file mode 100644
index 000000000..4f978e189
--- /dev/null
+++ b/jjb/yardstick/yardstick-project-jobs.yml
@@ -0,0 +1,117 @@
+###################################################
+# All the jobs except verify have been removed!
+# They will only be enabled on request by projects!
+###################################################
+- project:
+ name: yardstick-project-jobs
+
+ project: 'yardstick'
+
+ jobs:
+ - 'yardstick-verify-{stream}'
+ - 'yardstick-merge-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ - brahmaputra:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+
+################################
+# job templates
+################################
+
+- job-template:
+ name: 'yardstick-verify-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'ericsson-ca-build-1-defaults'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: '$GERRIT_REFSPEC'
+ choosing-strategy: 'gerrit'
+
+ 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: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ echo "Running unit tests..."
+ cd $WORKSPACE
+ virtualenv $WORKSPACE/yardstick_venv
+ source $WORKSPACE/yardstick_venv/bin/activate
+ easy_install -U setuptools
+ python setup.py develop
+ ./run_tests.sh
+ deactivate
+
+- job-template:
+ name: 'yardstick-merge-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'ericsson-ca-build-1-defaults'
+
+ scm:
+ - gerrit-trigger-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ choosing-strategy: 'default'
+
+ triggers:
+ - gerrit:
+ trigger-on:
+ - change-merged-event
+ - comment-added-contains-event:
+ comment-contains-value: 'remerge'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: '{project}'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+ set -o pipefail
+
+ echo "Running unit tests..."
+ cd $WORKSPACE
+ virtualenv $WORKSPACE/yardstick_venv
+ source $WORKSPACE/yardstick_venv/bin/activate
+ easy_install -U setuptools
+ python setup.py develop
+ ./run_tests.sh
+ deactivate