summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
Diffstat (limited to 'jjb')
-rw-r--r--jjb/3rd_party_ci/odl-netvirt.yml4
-rw-r--r--jjb/apex/apex.yml3
-rw-r--r--jjb/doctor/doctor.yml19
-rw-r--r--jjb/dovetail/dovetail-weekly-jobs.yml136
-rw-r--r--jjb/fuel/fuel-daily-jobs.yml2
-rw-r--r--jjb/fuel/fuel-project-jobs.yml4
-rw-r--r--jjb/global/installer-params.yml8
-rw-r--r--jjb/global/releng-macros.yml5
-rw-r--r--jjb/global/slave-params.yml54
-rw-r--r--jjb/infra/bifrost-verify-jobs.yml11
-rwxr-xr-xjjb/infra/bifrost-verify.sh59
-rw-r--r--jjb/joid/joid-deploy.sh40
-rwxr-xr-xjjb/multisite/fuel-deploy-for-multisite.sh116
-rw-r--r--jjb/multisite/multisite-daily-jobs.yml130
-rw-r--r--jjb/multisite/multisite-verify-jobs.yml69
-rw-r--r--jjb/multisite/multisite.yml149
-rw-r--r--jjb/opera/opera-daily-jobs.yml30
-rw-r--r--jjb/opnfvdocs/opnfvdocs.yml2
-rw-r--r--jjb/qtip/qtip-ci-jobs.yml2
-rw-r--r--jjb/releng/testapi-automate.yml25
-rw-r--r--jjb/releng/testapi-backup-mongodb.sh31
-rw-r--r--jjb/yardstick/yardstick-project-jobs.yml3
22 files changed, 626 insertions, 276 deletions
diff --git a/jjb/3rd_party_ci/odl-netvirt.yml b/jjb/3rd_party_ci/odl-netvirt.yml
index 0e479cc08..a57bf176e 100644
--- a/jjb/3rd_party_ci/odl-netvirt.yml
+++ b/jjb/3rd_party_ci/odl-netvirt.yml
@@ -178,6 +178,10 @@
branch: '{branch}'
- '{slave-label}-defaults'
- '{installer}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-odl_l2-bgpvpn-noha'
+ description: 'Scenario to deploy and test'
builders:
- description-setter:
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml
index 710a5f42c..9733c5921 100644
--- a/jjb/apex/apex.yml
+++ b/jjb/apex/apex.yml
@@ -36,7 +36,8 @@
- 'os-odl_l2-netvirt_gbp_fdio-noha'
- 'os-odl_l2-sfc-noha'
- 'os-odl_l3-nofeature-ha'
- - 'os-odl_l3-bgpvpn-ha'
+ - 'os-odl-bgpvpn-ha'
+ - 'os-odl-gluon-ha'
- 'os-odl_l3-fdio-noha'
- 'os-odl_l3-fdio-ha'
- 'os-odl_l3-fdio_dvr-noha'
diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml
index 62f89e686..2abb94696 100644
--- a/jjb/doctor/doctor.yml
+++ b/jjb/doctor/doctor.yml
@@ -19,6 +19,13 @@
- apex:
slave-label: 'ool-virtual1'
pod: 'ool-virtual1'
+ - fuel:
+ slave-label: 'ool-virtual2'
+ pod: 'ool-virtual2'
+ # TODO(r-mibu): enable this once joid is ready
+ #- joid:
+ # slave-label: 'ool-virtual3'
+ # pod: 'ool-virtual3'
inspector:
- 'sample'
@@ -34,7 +41,7 @@
jobs:
- 'doctor-verify-{stream}'
- - 'doctor-{task}-{installer}-{inspector}-{stream}':
+ - 'doctor-{task}-{installer}-{inspector}-{stream}'
- job-template:
name: 'doctor-verify-{stream}'
@@ -88,14 +95,16 @@
- gerrit-parameter:
branch: '{branch}'
- string:
+ name: GIT_BRANCH
+ default: 'origin/{branch}'
+ description: "Override GIT_BRANCH parameter as we need stream name here"
+ #TODO(r-mibu): remove this work around by cleanup *_BRANCH params
+ - string:
name: OS_CREDS
default: /home/jenkins/openstack.creds
description: 'OpenStack credentials'
- '{slave-label}-defaults'
- - string:
- name: INSTALLER_TYPE
- default: '{installer}'
- description: 'Installer used for deploying OPNFV on this POD'
+ - '{installer}-defaults'
- string:
name: DOCKER_TAG
default: '{docker-tag}'
diff --git a/jjb/dovetail/dovetail-weekly-jobs.yml b/jjb/dovetail/dovetail-weekly-jobs.yml
new file mode 100644
index 000000000..c6b3774d4
--- /dev/null
+++ b/jjb/dovetail/dovetail-weekly-jobs.yml
@@ -0,0 +1,136 @@
+- project:
+ name: dovetail-weekly-jobs
+ project: dovetail
+#--------------------------------
+# BRANCH ANCHORS
+#--------------------------------
+ master: &master
+ stream: master
+ branch: '{stream}'
+ dovetail-branch: '{stream}'
+ gs-pathname: ''
+ docker-tag: 'latest'
+ colorado: &colorado
+ stream: colorado
+ branch: 'stable/{stream}'
+ dovetail-branch: master
+ gs-pathname: '/{stream}'
+ docker-tag: 'latest'
+
+#--------------------------------
+# POD, INSTALLER, AND BRANCH MAPPING
+#--------------------------------
+# Installers using labels
+# CI PODs
+# This section should only contain the installers
+# that have been switched using labels for slaves
+#--------------------------------
+ pod:
+# - baremetal:
+# slave-label: apex-baremetal
+# sut: apex
+# <<: *colorado
+ - baremetal:
+ slave-label: compass-baremetal
+ sut: compass
+ <<: *colorado
+# - baremetal:
+# slave-label: fuel-baremetal
+# sut: fuel
+# <<: *master
+# - baremetal:
+# slave-label: joid-baremetal
+# sut: joid
+# <<: *colorado
+
+ testsuite:
+ - 'debug'
+ - 'proposed_tests'
+ - 'compliance_set'
+
+ loop:
+ - 'weekly':
+ job-timeout: 60
+
+ jobs:
+ - 'dovetail-{sut}-{pod}-{testsuite}-{loop}-{stream}'
+
+################################
+# job template
+################################
+- job-template:
+ name: 'dovetail-{sut}-{pod}-{testsuite}-{loop}-{stream}'
+
+ disabled: false
+
+ concurrent: true
+
+ properties:
+ - logrotate-default
+ - throttle:
+ enabled: true
+ max-per-node: 1
+ option: 'project'
+
+ wrappers:
+ - build-name:
+ name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
+ - timeout:
+ timeout: '{job-timeout}'
+ abort: true
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - '{sut}-defaults'
+ - '{slave-label}-defaults'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: 'Tag to pull dovetail docker image'
+ - string:
+ name: CI_DEBUG
+ default: 'true'
+ description: "Show debug output information"
+ - string:
+ name: TESTSUITE
+ default: '{testsuite}'
+ description: "dovetail testsuite to run"
+ - string:
+ name: DOVETAIL_REPO_DIR
+ default: "/home/opnfv/dovetail"
+ description: "Directory where the dovetail repository is cloned"
+
+ scm:
+ - git-scm
+
+ builders:
+ - description-setter:
+ description: "POD: $NODE_NAME"
+ - 'dovetail-cleanup'
+ - 'dovetail-run'
+
+ publishers:
+ - archive:
+ artifacts: 'results/**/*'
+ allow-empty: true
+ fingerprint: true
+
+########################
+# builder macros
+########################
+- builder:
+ name: dovetail-run-weekly
+ builders:
+ - shell:
+ !include-raw: ./dovetail-run.sh
+- builder:
+ name: dovetail-cleanup-weekly
+ builders:
+ - shell:
+ !include-raw: ./dovetail-cleanup.sh
diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml
index 02fa9fbf4..b0dee736a 100644
--- a/jjb/fuel/fuel-daily-jobs.yml
+++ b/jjb/fuel/fuel-daily-jobs.yml
@@ -240,7 +240,7 @@
publishers:
- email:
- recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com peter.barabas@ericsson.com fzhadaev@mirantis.com
+ recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
########################
# parameter macros
diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml
index deab3ab21..390094e47 100644
--- a/jjb/fuel/fuel-project-jobs.yml
+++ b/jjb/fuel/fuel-project-jobs.yml
@@ -79,7 +79,7 @@
publishers:
- email:
- recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com fzhadaev@mirantis.com
+ recipients: fzhadaev@mirantis.com
- job-template:
name: 'fuel-merge-build-{stream}'
@@ -211,7 +211,7 @@
publishers:
- email:
- recipients: jonas.bjurel@ericsson.com stefan.k.berg@ericsson.com fzhadaev@mirantis.com
+ recipients: fzhadaev@mirantis.com
- job-template:
name: 'fuel-deploy-generic-daily-{stream}'
diff --git a/jjb/global/installer-params.yml b/jjb/global/installer-params.yml
index 8e957ebd9..6e965a9cb 100644
--- a/jjb/global/installer-params.yml
+++ b/jjb/global/installer-params.yml
@@ -10,10 +10,6 @@
default: apex
description: 'Installer used for deploying OPNFV on this POD'
- string:
- name: DEPLOY_SCENARIO
- default: 'none'
- description: 'Scenario to deploy and test'
- - string:
name: EXTERNAL_NETWORK
default: 'external'
description: 'external network for test'
@@ -116,10 +112,6 @@
default: netvirt
description: 'Installer used for deploying OPNFV on this POD'
- string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-bgpvpn-noha'
- description: 'Scenario to deploy and test'
- - string:
name: EXTERNAL_NETWORK
default: 'external'
description: 'external network for test'
diff --git a/jjb/global/releng-macros.yml b/jjb/global/releng-macros.yml
index d43bed77a..89909b009 100644
--- a/jjb/global/releng-macros.yml
+++ b/jjb/global/releng-macros.yml
@@ -67,6 +67,11 @@
triggers:
- timed: ''
+- trigger:
+ name: 'weekly-trigger-disabled'
+ triggers:
+ - timed: ''
+
# NOTE: unused macro, but we may use this for some jobs.
- trigger:
name: gerrit-trigger-patch-submitted
diff --git a/jjb/global/slave-params.yml b/jjb/global/slave-params.yml
index 9d08487a3..57bb8bda3 100644
--- a/jjb/global/slave-params.yml
+++ b/jjb/global/slave-params.yml
@@ -439,6 +439,19 @@
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
- parameter:
+ name: 'huawei-virtual7-defaults'
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - huawei-virtual7
+ default-slaves:
+ - huawei-virtual7
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+- parameter:
name: 'huawei-pod7-defaults'
parameters:
- node:
@@ -670,15 +683,17 @@
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
- parameter:
- name: 'ool-virtual1-defaults'
+ name: 'ool-defaults'
parameters:
- node:
name: SLAVE_NAME
description: 'Slave name on Jenkins'
allowed-slaves:
- ool-virtual1
+ - ool-virtual2
+ - ool-virtual3
default-slaves:
- - ool-virtual1
+ - '{default-slave}'
- string:
name: GIT_BASE
default: https://gerrit.opnfv.org/gerrit/$PROJECT
@@ -688,6 +703,21 @@
default: /root/.ssh/id_rsa
description: 'SSH key to be used'
- parameter:
+ name: 'ool-virtual1-defaults'
+ parameters:
+ - 'ool-defaults':
+ default-slave: 'ool-virtual1'
+- parameter:
+ name: 'ool-virtual2-defaults'
+ parameters:
+ - 'ool-defaults':
+ default-slave: 'ool-virtual2'
+- parameter:
+ name: 'ool-virtual3-defaults'
+ parameters:
+ - 'ool-defaults':
+ default-slave: 'ool-virtual3'
+- parameter:
name: 'multisite-virtual-defaults'
parameters:
- label:
@@ -708,6 +738,26 @@
default: https://git.opendaylight.org/gerrit/p/$PROJECT.git
description: 'Git URL to use on this Jenkins Slave'
- parameter:
+ name: 'ericsson-virtual12-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'ericsson-virtual12'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+- parameter:
+ name: 'ericsson-virtual13-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'ericsson-virtual13'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+- parameter:
name: 'odl-netvirt-virtual-defaults'
parameters:
- label:
diff --git a/jjb/infra/bifrost-verify-jobs.yml b/jjb/infra/bifrost-verify-jobs.yml
index 28e36aac6..4c106fc5c 100644
--- a/jjb/infra/bifrost-verify-jobs.yml
+++ b/jjb/infra/bifrost-verify-jobs.yml
@@ -38,9 +38,6 @@
dib-os-element: 'opensuse-minimal'
dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl'
extra-dib-elements: 'openssh-server'
- vm-disk: '30'
- vm-memory: '4096'
- vm-cpu: '2'
#--------------------------------
# type
#--------------------------------
@@ -57,9 +54,9 @@
#--------------------------------
- defaults:
name: vm_defaults
- vm-disk: '100'
- vm-memory: '8192'
- vm-cpu: '4'
+ vm-disk: '30'
+ vm-memory: '4096'
+ vm-cpu: '2'
#--------------------------------
# job templates
@@ -202,8 +199,6 @@
file-paths:
- compare-type: ANT
pattern: 'prototypes/bifrost/**'
- - compare-type: ANT
- pattern: 'jjb/infra/**'
readable-message: true
#---------------------------
diff --git a/jjb/infra/bifrost-verify.sh b/jjb/infra/bifrost-verify.sh
index 48f916e72..94c7dacfa 100755
--- a/jjb/infra/bifrost-verify.sh
+++ b/jjb/infra/bifrost-verify.sh
@@ -17,44 +17,55 @@ function upload_logs() {
BIFROST_CONSOLE_LOG="${BUILD_URL}/consoleText"
BIFROST_GS_URL=${BIFROST_LOG_URL/http:/gs:}
- echo "Uploading build logs to ${BIFROST_LOG_URL}"
-
- echo "Uploading console output"
- curl -s -L ${BIFROST_CONSOLE_LOG} > ${WORKSPACE}/build_log.txt
- gsutil -q cp -Z ${WORKSPACE}/build_log.txt ${BIFROST_GS_URL}/build_log.txt
- rm ${WORKSPACE}/build_log.txt
-
- [[ ! -d ${WORKSPACE}/logs ]] && return 0
-
- pushd ${WORKSPACE}/logs/ &> /dev/null
- for x in *.log; do
- echo "Compressing and uploading $x"
- gsutil -q cp -Z ${x} ${BIFROST_GS_URL}/${x}
- done
+ # Make sure the old landing page is gone in case
+ # we break later on. We don't want to publish
+ # stale information.
+ # TODO: Maybe cleanup the entire $BIFROST_GS_URL directory
+ # before we upload the new data.
+ gsutil -q rm ${BIFROST_GS_URL}/index.html || true
+
+ if [[ -d ${WORKSPACE}/logs ]]; then
+ echo "Uploading collected bifrost logs to ${BIFROST_LOG_URL}"
+ pushd ${WORKSPACE}/logs &> /dev/null
+ for x in *.log; do
+ echo "Compressing and uploading $x"
+ gsutil -q cp -Z ${x} ${BIFROST_GS_URL}/${x}
+ done
+ popd &> /dev/null
+ fi
echo "Generating the landing page"
- cat > index.html <<EOF
+ cat > ${WORKSPACE}/index.html <<EOF
<html>
<h1>Build results for <a href=https://$GERRIT_NAME/#/c/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER>$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER</a></h1>
-<h2>Job: $JOB_NAME</h2>
+<h2>Job: <a href=${BUILD_URL}>$JOB_NAME</a></h2>
<ul>
<li><a href=${BIFROST_LOG_URL}/build_log.txt>build_log.txt</a></li>
EOF
- for x in *.log; do
- echo "<li><a href=${BIFROST_LOG_URL}/${x}>${x}</a></li>" >> index.html
- done
+ if [[ -d ${WORKSPACE}/logs ]]; then
+ pushd ${WORKSPACE}/logs &> /dev/null
+ for x in *.log; do
+ echo "<li><a href=${BIFROST_LOG_URL}/${x}>${x}</a></li>" >> ${WORKSPACE}/index.html
+ done
+ popd &> /dev/null
+ fi
- cat >> index.html << EOF
+ cat >> ${WORKSPACE}/index.html << EOF
</ul>
</html>
EOF
- gsutil -q cp index.html ${BIFROST_GS_URL}/index.html
-
- rm index.html
+ # Finally, download and upload the entire build log so we can retain
+ # as much build information as possible
+ echo "Uploading console output"
+ curl -s -L ${BIFROST_CONSOLE_LOG} > ${WORKSPACE}/build_log.txt
+ gsutil -q cp -Z ${WORKSPACE}/build_log.txt ${BIFROST_GS_URL}/build_log.txt
+ rm ${WORKSPACE}/build_log.txt
- popd &> /dev/null
+ # Upload landing page
+ gsutil -q cp ${WORKSPACE}/index.html ${BIFROST_GS_URL}/index.html
+ rm ${WORKSPACE}/index.html
}
function fix_ownership() {
diff --git a/jjb/joid/joid-deploy.sh b/jjb/joid/joid-deploy.sh
index 88dbe2214..e197dbd8c 100644
--- a/jjb/joid/joid-deploy.sh
+++ b/jjb/joid/joid-deploy.sh
@@ -45,17 +45,24 @@ export POD_NAME=${POD/-}
##
cd $WORKSPACE/ci
-if [ -e "$LAB_CONFIG/environments.yaml" ] && [ "$MAAS_REINSTALL" == "false" ]; then
+
+if [ -e "$LAB_CONFIG/deployconfig.yaml" ] && [ "$MAAS_REINSTALL" == "false" ]; then
echo "------ Recover Juju environment to use MAAS ------"
- cp $LAB_CONFIG/environments.yaml .
- cp $LAB_CONFIG/deployment.yaml .
- if [ -e $LAB_CONFIG/deployconfig.yaml ]; then
+ if [ ! -e deployconfig.yaml ]; then
cp $LAB_CONFIG/deployconfig.yaml .
+ cp $LAB_CONFIG/deployment.yaml .
+ cp $LAB_CONFIG/labconfig.yaml .
fi
else
- echo "------ Redeploy MAAS ------"
- ./00-maasdeploy.sh $POD_NAME
- exit_on_error $? "MAAS Deploy FAILED"
+ if ["$NODE_NAME" == "default" ]; then
+ echo "------ Redeploy MAAS ------"
+ ./03-maasdeploy.sh default
+ exit_on_error $? "MAAS Deploy FAILED"
+ else
+ echo "------ Redeploy MAAS ------"
+ ./03-maasdeploy.sh custom $LAB_CONFIG/labconfig.yaml
+ exit_on_error $? "MAAS Deploy FAILED"
+ fi
fi
##
@@ -142,22 +149,9 @@ if [ "$JOID_MODEL" == 'os' ]; then
# export the openrc file by getting the one generated by joid and add SDN
# controller for Functest
- cp ./cloud/admin-openrc $JOID_ADMIN_OPENRC
- cat << EOF >> $JOID_ADMIN_OPENRC
- export SDN_CONTROLLER=$SDN_CONTROLLER_IP
- export SDN_PASSWORD=$SDN_PASSWORD
- EOF
-
- ##
- ## Backup local juju env
- ##
-
- echo "------ Backup Juju environment ------"
- cp environments.yaml $LAB_CONFIG/
- cp deployment.yaml $LAB_CONFIG/
- if [ -e deployconfig.yaml ]; then
- cp deployconfig.yaml $LAB_CONFIG
- fi
+ # cp ./cloud/admin-openrc $JOID_ADMIN_OPENRC
+ echo export SDN_CONTROLLER=$SDN_CONTROLLER_IP >> $JOID_ADMIN_OPENRC
+ echo export SDN_PASSWORD=$SDN_PASSWORD >> $JOID_ADMIN_OPENRC
fi
diff --git a/jjb/multisite/fuel-deploy-for-multisite.sh b/jjb/multisite/fuel-deploy-for-multisite.sh
new file mode 100755
index 000000000..fab9ace84
--- /dev/null
+++ b/jjb/multisite/fuel-deploy-for-multisite.sh
@@ -0,0 +1,116 @@
+#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2016 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -o nounset
+set -o pipefail
+
+# do not continue with the deployment if FRESH_INSTALL is not requested
+if [[ "$FRESH_INSTALL" == "true" ]]; then
+ echo "Fresh install requested. Proceeding with the installation."
+else
+ echo "Fresh install is not requested. Skipping the installation."
+ exit 0
+fi
+
+export TERM="vt220"
+
+# get the latest successful job console log and extract the properties filename
+FUEL_DEPLOY_BUILD_URL="https://build.opnfv.org/ci/job/fuel-deploy-virtual-daily-master/lastSuccessfulBuild/consoleText"
+FUEL_PROPERTIES_FILE=$(curl -s -L ${FUEL_DEPLOY_URL} | grep 'ISO:' | awk '{print $2}' | sed 's/iso/properties/g')
+if [[ -z "FUEL_PROPERTIES_FILE" ]]; then
+ echo "Unable to extract the url to Fuel ISO properties from ${FUEL_DEPLOY_URL}"
+ exit 1
+fi
+curl -L -s -o $WORKSPACE/latest.properties http://artifacts.opnfv.org/fuel/$FUEL_PROPERTIES_FILE
+
+# source the file so we get OPNFV vars
+source latest.properties
+
+# echo the info about artifact that is used during the deployment
+echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment"
+
+# download the iso
+echo "Downloading the ISO using the link http://$OPNFV_ARTIFACT_URL"
+curl -L -s -o $WORKSPACE/opnfv.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1
+
+echo "Checking out $OPNFV_GIT_SHA1"
+git checkout $OPNFV_GIT_SHA1 --quiet
+
+# set deployment parameters
+DEPLOY_SCENARIO="os-nosdn-nofeature-noha"
+export TMPDIR=$HOME/tmpdir
+BRIDGE=${BRIDGE:-pxebr}
+LAB_NAME=${NODE_NAME/-*}
+POD_NAME=${NODE_NAME/*-}
+
+if [[ "$NODE_NAME" =~ "virtual" ]]; then
+ POD_NAME="virtual_kvm"
+fi
+
+# we currently support ericsson, intel, lf and zte labs
+if [[ ! "$LAB_NAME" =~ (ericsson|intel|lf|zte) ]]; then
+ echo "Unsupported/unidentified lab $LAB_NAME. Cannot continue!"
+ exit 1
+else
+ echo "Using configuration for $LAB_NAME"
+fi
+
+# create TMPDIR if it doesn't exist
+export TMPDIR=$HOME/tmpdir
+mkdir -p $TMPDIR
+
+# change permissions down to TMPDIR
+chmod a+x $HOME
+chmod a+x $TMPDIR
+
+# clone the securedlab repo
+cd $WORKSPACE
+echo "Cloning securedlab repo ${GIT_BRANCH##origin/}"
+git clone ssh://jenkins-ericsson@gerrit.opnfv.org:29418/securedlab --quiet \
+ --branch ${GIT_BRANCH##origin/}
+
+# log file name
+FUEL_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}.log.tar.gz"
+
+# construct the command
+DEPLOY_COMMAND="sudo $WORKSPACE/ci/deploy.sh -b file://$WORKSPACE/securedlab \
+ -l $LAB_NAME -p $POD_NAME -s $DEPLOY_SCENARIO -i file://$WORKSPACE/opnfv.iso \
+ -H -B $BRIDGE -S $TMPDIR -L $WORKSPACE/$FUEL_LOG_FILENAME"
+
+# log info to console
+echo "Deployment parameters"
+echo "--------------------------------------------------------"
+echo "Scenario: $DEPLOY_SCENARIO"
+echo "Lab: $LAB_NAME"
+echo "POD: $POD_NAME"
+echo "ISO: ${OPNFV_ARTIFACT_URL/*\/}"
+echo
+echo "Starting the deployment using $INSTALLER_TYPE. This could take some time..."
+echo "--------------------------------------------------------"
+echo
+
+# start the deployment
+echo "Issuing command"
+echo "$DEPLOY_COMMAND"
+echo
+
+$DEPLOY_COMMAND
+exit_code=$?
+
+echo
+echo "--------------------------------------------------------"
+echo "Deployment is done!"
+
+if [[ $exit_code -ne 0 ]]; then
+ echo "Deployment failed!"
+ exit $exit_code
+else
+ echo "Deployment is successful!"
+ exit 0
+fi
diff --git a/jjb/multisite/multisite-daily-jobs.yml b/jjb/multisite/multisite-daily-jobs.yml
index cfb40a1fa..15c885de4 100644
--- a/jjb/multisite/multisite-daily-jobs.yml
+++ b/jjb/multisite/multisite-daily-jobs.yml
@@ -8,12 +8,16 @@
- 'multisite-{phase}-{stream}'
phase:
- - 'fuel-deploy-regionone-virtual'
- - 'fuel-deploy-regiontwo-virtual'
- - 'register-endpoints'
- - 'update-auth'
- - 'kingbird-deploy-virtual'
- - 'kingbird-functest'
+ - 'fuel-deploy-regionone-virtual':
+ slave-label: ericsson-virtual12
+ - 'fuel-deploy-regiontwo-virtual':
+ slave-label: ericsson-virtual13
+ - 'register-endpoints':
+ slave-label: ericsson-virtual12
+ - 'update-auth':
+ slave-label: ericsson-virtual13
+ - 'kingbird-deploy-virtual':
+ slave-label: ericsson-virtual12
stream:
- master:
@@ -34,13 +38,15 @@
parameters:
- project-parameter:
project: '{project}'
+ - choice:
+ name: FRESH_INSTALL
+ choices:
+ - 'true'
+ - 'false'
- string:
name: KINGBIRD_LOG_FILE
default: $WORKSPACE/kingbird.log
- - 'multisite-virtual-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-multisite-noha'
+ - 'opnfv-build-defaults'
triggers:
- timed: '{timed}'
@@ -56,26 +62,28 @@
current-parameters: false
predefined-parameters: |
FUEL_VERSION=latest
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ DEPLOY_SCENARIO=os-nosdn-nofeature-noha
OS_REGION=RegionOne
- REGIONONE_IP=10.2.117.79
- REGIONTWO_IP=10.2.117.181
+ REGIONONE_IP=100.64.209.10
+ REGIONTWO_IP=100.64.209.11
+ FRESH_INSTALL=$FRESH_INSTALL
node-parameters: false
node-label-name: SLAVE_LABEL
- node-label: intel-virtual2
+ node-label: ericsson-virtual12
kill-phase-on: FAILURE
abort-all-job: true
- name: 'multisite-fuel-deploy-regiontwo-virtual-{stream}'
current-parameters: false
predefined-parameters: |
FUEL_VERSION=latest
- DEPLOY_SCENARIO=$DEPLOY_SCENARIO
+ DEPLOY_SCENARIO=os-nosdn-nofeature-noha
OS_REGION=RegionTwo
- REGIONONE_IP=10.2.117.79
- REGIONTWO_IP=10.2.117.181
+ REGIONONE_IP=100.64.209.10
+ REGIONTWO_IP=100.64.209.11
+ FRESH_INSTALL=$FRESH_INSTALL
node-parameters: false
node-label-name: SLAVE_LABEL
- node-label: intel-virtual6
+ node-label: ericsson-virtual13
kill-phase-on: FAILURE
abort-all-job: true
- multijob:
@@ -86,22 +94,24 @@
current-parameters: false
predefined-parameters: |
OS_REGION=RegionOne
- REGIONONE_IP=10.2.117.79
- REGIONTWO_IP=10.2.117.181
+ REGIONONE_IP=100.64.209.10
+ REGIONTWO_IP=100.64.209.11
+ FRESH_INSTALL=$FRESH_INSTALL
node-parameters: false
node-label-name: SLAVE_LABEL
- node-label: intel-virtual2
+ node-label: ericsson-virtual12
kill-phase-on: FAILURE
abort-all-job: true
- name: 'multisite-update-auth-{stream}'
current-parameters: false
predefined-parameters: |
OS_REGION=RegionTwo
- REGIONONE_IP=10.2.117.79
- REGIONTWO_IP=10.2.117.181
+ REGIONONE_IP=100.64.209.10
+ REGIONTWO_IP=100.64.209.11
+ FRESH_INSTALL=$FRESH_INSTALL
node-parameters: false
node-label-name: SLAVE_LABEL
- node-label: intel-virtual6
+ node-label: ericsson-virtual13
kill-phase-on: FAILURE
abort-all-job: true
- multijob:
@@ -112,26 +122,30 @@
current-parameters: false
predefined-parameters: |
OS_REGION=RegionOne
- REGIONONE_IP=10.2.117.79
- REGIONTWO_IP=10.2.117.181
+ REGIONONE_IP=100.64.209.10
+ REGIONTWO_IP=100.64.209.11
+ FRESH_INSTALL=$FRESH_INSTALL
node-parameters: false
node-label-name: SLAVE_LABEL
- node-label: intel-virtual2
+ node-label: ericsson-virtual12
kill-phase-on: FAILURE
abort-all-job: true
- multijob:
name: kingbird-functest
condition: SUCCESSFUL
projects:
- - name: 'multisite-kingbird-functest-{stream}'
+ - name: 'functest-fuel-virtual-suite-{stream}'
current-parameters: false
predefined-parameters: |
+ DEPLOY_SCENARIO='os-nosdn-multisite-noha'
+ FUNCTEST_SUITE_NAME='multisite'
OS_REGION=RegionOne
- REGIONONE_IP=10.2.117.79
- REGIONTWO_IP=10.2.117.181
+ REGIONONE_IP=100.64.209.10
+ REGIONTWO_IP=100.64.209.11
+ FRESH_INSTALL=$FRESH_INSTALL
node-parameters: false
node-label-name: SLAVE_LABEL
- node-label: intel-virtual2
+ node-label: ericsson-virtual12
kill-phase-on: NEVER
abort-all-job: false
@@ -140,6 +154,29 @@
concurrent: false
+ disabled: '{obj:disabled}'
+
+ concurrent: false
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - string:
+ name: KINGBIRD_LOG_FILE
+ default: $WORKSPACE/kingbird.log
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'fuel-defaults'
+ - '{slave-label}-defaults'
+ - choice:
+ name: FRESH_INSTALL
+ choices:
+ - 'true'
+ - 'false'
+
+ scm:
+ - git-scm
+
builders:
- description-setter:
description: "Built on $NODE_NAME"
@@ -155,39 +192,48 @@
- builder:
name: 'multisite-fuel-deploy-regionone-virtual-builder'
builders:
+ - shell:
+ !include-raw-escape: ./fuel-deploy-for-multisite.sh
- shell: |
#!/bin/bash
-
echo "This is where we deploy fuel, extract passwords and save into file"
+ $WORKSPACE/tools/keystone/run.sh -t controller -r $WORKSPACE/tools/keystone/fetchpass.sh -o servicepass.ini
+
- builder:
name: 'multisite-fuel-deploy-regiontwo-virtual-builder'
builders:
+ - shell:
+ !include-raw-escape: ./fuel-deploy-for-multisite.sh
- shell: |
#!/bin/bash
echo "This is where we deploy fuel, extract publicUrl, privateUrl, and adminUrl and save into file"
+ $WORKSPACE/tools/keystone/run.sh -t controller -r $WORKSPACE/tools/keystone/endpoint.sh -o endpoints.ini
- builder:
name: 'multisite-register-endpoints-builder'
builders:
- copyartifact:
project: 'multisite-fuel-deploy-regiontwo-virtual-{stream}'
which-build: multijob-build
- filter: "RegionTwo-Endpoints.txt"
+ filter: "endpoints.ini"
- shell: |
#!/bin/bash
- echo "This is where we register RegionTwo in RegionOne keystone"
+ echo "This is where we register RegionTwo in RegionOne keystone using endpoints.ini"
+ $WORKSPACE/tools/keystone/run.sh -t controller -r $WORKSPACE/tools/keystone/region.sh -d $WORKSPACE/endpoints.ini
- builder:
name: 'multisite-update-auth-builder'
builders:
- copyartifact:
project: 'multisite-fuel-deploy-regionone-virtual-{stream}'
which-build: multijob-build
- filter: "RegionOne-Passwords.txt"
+ filter: "servicepass.ini"
- shell: |
#!/bin/bash
- echo "This is where we read passwords from RegionOne-passwords.txt and replace passwords in RegionTwo"
+ echo "This is where we read passwords from servicepass.ini and replace passwords in RegionTwo"
+ $WORKSPACE/tools/keystone/run.sh -t controller -r $WORKSPACE/tools/keystone/writepass.sh -d $WORKSPACE/servicepass.ini
+ $WORKSPACE/tools/keystone/run.sh -t compute -r $WORKSPACE/tools/keystone/writepass.sh -d $WORKSPACE/servicepass.ini
- builder:
name: 'multisite-kingbird-deploy-virtual-builder'
builders:
@@ -195,13 +241,7 @@
#!/bin/bash
echo "This is where we install kingbird"
-- builder:
- name: 'multisite-kingbird-functest-builder'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "This is where we run kingbird-functest"
+ $WORKSPACE/tools/kingbird/deploy.sh
########################
# publisher macros
########################
@@ -209,7 +249,7 @@
name: 'multisite-fuel-deploy-regionone-virtual-publisher'
publishers:
- archive:
- artifacts: '/root/servicepass.ini'
+ artifacts: 'servicepass.ini'
allow-empty: false
only-if-success: true
fingerprint: true
@@ -217,7 +257,7 @@
name: 'multisite-fuel-deploy-regiontwo-virtual-publisher'
publishers:
- archive:
- artifacts: '/root/endpoints.ini'
+ artifacts: 'endpoints.ini'
allow-empty: false
only-if-success: true
fingerprint: true
diff --git a/jjb/multisite/multisite-verify-jobs.yml b/jjb/multisite/multisite-verify-jobs.yml
new file mode 100644
index 000000000..fdcc8d539
--- /dev/null
+++ b/jjb/multisite/multisite-verify-jobs.yml
@@ -0,0 +1,69 @@
+###################################################
+# All the jobs except verify have been removed!
+# They will only be enabled on request by projects!
+###################################################
+- project:
+ name: multisite
+
+ project: '{name}'
+
+ jobs:
+ - 'multisite-verify-{stream}'
+
+ stream:
+ - master:
+ branch: '{stream}'
+ gs-pathname: ''
+ disabled: false
+ timed: '@midnight'
+ - danube:
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: true
+ timed: ''
+
+- job-template:
+ name: 'multisite-verify-{stream}'
+
+ disabled: '{obj:disabled}'
+
+ concurrent: true
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-ubuntu-defaults'
+
+ scm:
+ - git-scm-gerrit
+
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ 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: |
+ #!/bin/bash
+
+ echo "Hello World"
diff --git a/jjb/multisite/multisite.yml b/jjb/multisite/multisite.yml
deleted file mode 100644
index 6b6406983..000000000
--- a/jjb/multisite/multisite.yml
+++ /dev/null
@@ -1,149 +0,0 @@
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: multisite
-
- project: '{name}'
-
- jobs:
- - 'multisite-verify-{stream}'
- - 'multisite-kingbird-daily-{stream}'
- - 'multisite-kingbird-deploy-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- timed: '@midnight'
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- timed: ''
-
-- job-template:
- name: 'multisite-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: |
- #!/bin/bash
-
- echo "Hello World"
-
-- job-template:
- name: 'multisite-kingbird-daily-{stream}'
-
- project-type: freestyle
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: '{branch}'
- - string:
- name: KINGBIRD_LOG_FILE
- default: $WORKSPACE/kingbird.log
- - 'intel-virtual6-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-multisite-ha'
-
- scm:
- - git-scm
-
- triggers:
- - timed: '{timed}'
-
- builders:
- - trigger-builds:
- - project: 'multisite-kingbird-deploy-{stream}'
- current-parameters: true
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-fuel-virtual-suite-{stream}'
- current-parameters: true
- predefined-parameters:
- FUNCTEST_SUITE_NAME=multisite
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
-
-- job-template:
- name: 'multisite-kingbird-deploy-{stream}'
-
- concurrent: false
-
- scm:
- - git-scm-gerrit
-
- builders:
- - 'multisite-kingbird-deploy'
- - 'multisite-kingbird-log-upload'
-
-########################
-# builder macros
-########################
-- builder:
- name: 'multisite-kingbird-deploy'
- builders:
- - shell: |
- #!/bin/bash
-
- $WORKSPACE/tools/kingbird/deploy.sh
-- builder:
- name: 'multisite-kingbird-log-upload'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Here is where we upload kingbird logs to artifact repo"
- echo "We just check the existence of log file"
- ls -al $KINGBIRD_LOG_FILE
diff --git a/jjb/opera/opera-daily-jobs.yml b/jjb/opera/opera-daily-jobs.yml
index 76aeb741e..b0755446e 100644
--- a/jjb/opera/opera-daily-jobs.yml
+++ b/jjb/opera/opera-daily-jobs.yml
@@ -63,7 +63,9 @@
project: '{project}'
- gerrit-parameter:
branch: '{branch}'
- - 'huawei-pod7-defaults'
+ - 'huawei-virtual7-defaults'
+ - 'compass-defaults'
+ - 'opera-compass-parameter'
builders:
- description-setter:
@@ -81,7 +83,7 @@
name: deploy
condition: SUCCESSFUL
projects:
- - name: 'opera-daily-deploy-{stream}'
+ - name: 'compass-deploy-virtual-daily-{stream}'
current-parameters: true
node-parameters: true
kill-phase-on: FAILURE
@@ -143,3 +145,27 @@
#!/bin/bash
echo "Hello world!"
+########################
+# parameter macros
+########################
+- parameter:
+ name: opera-compass-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: GS_URL
+ default: '$GS_BASE{gs-pathname}'
+ description: "URL to Google Storage."
+ - choice:
+ name: COMPASS_OPENSTACK_VERSION
+ choices:
+ - 'newton'
+ - string:
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-openo-noha'
+ - string:
+ name: COMPASS_OS_VERSION
+ default: 'xenial'
diff --git a/jjb/opnfvdocs/opnfvdocs.yml b/jjb/opnfvdocs/opnfvdocs.yml
index 0d4c46199..cf7bae5b3 100644
--- a/jjb/opnfvdocs/opnfvdocs.yml
+++ b/jjb/opnfvdocs/opnfvdocs.yml
@@ -87,7 +87,7 @@
description: "Directory where the build artifact will be located upon the completion of the build."
scm:
- - git-scm-gerrit
+ - git-scm
triggers:
- gerrit:
diff --git a/jjb/qtip/qtip-ci-jobs.yml b/jjb/qtip/qtip-ci-jobs.yml
index 69cb32b41..b83014edb 100644
--- a/jjb/qtip/qtip-ci-jobs.yml
+++ b/jjb/qtip/qtip-ci-jobs.yml
@@ -39,7 +39,7 @@
- job-template:
name: 'qtip-{installer}-{pod}-daily-{stream}'
- disabled: true
+ disabled: false
parameters:
- project-parameter:
diff --git a/jjb/releng/testapi-automate.yml b/jjb/releng/testapi-automate.yml
index 24e9b8649..8332f5bb4 100644
--- a/jjb/releng/testapi-automate.yml
+++ b/jjb/releng/testapi-automate.yml
@@ -10,6 +10,20 @@
project: 'releng'
+- job:
+ name: 'testapi-mongodb-backup'
+
+ slave-label: 'testresults'
+
+ scm:
+ - git-scm
+
+ triggers:
+ - timed: '@weekly'
+
+ builders:
+ - mongodb-backup
+
- job-template:
name: 'testapi-verify-{stream}'
@@ -44,7 +58,7 @@
branch-pattern: '**/{branch}'
file-paths:
- compare-type: 'ANT'
- pattern: 'utils/**'
+ pattern: 'utils/test/testapi/**'
builders:
- run-unit-tests
@@ -55,8 +69,8 @@
- cobertura:
report-file: "coverage.xml"
only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
+ health-auto-update: "false"
+ stability-auto-update: "false"
zoom-coverage-chart: "true"
targets:
- files:
@@ -110,6 +124,11 @@
################################
# job builders
################################
+- builder:
+ name: mongodb-backup
+ builders:
+ - shell: |
+ bash ./jjb/releng/testapi-backup-mongodb.sh
- builder:
name: run-unit-tests
diff --git a/jjb/releng/testapi-backup-mongodb.sh b/jjb/releng/testapi-backup-mongodb.sh
new file mode 100644
index 000000000..52957ab12
--- /dev/null
+++ b/jjb/releng/testapi-backup-mongodb.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+set -e
+
+# Run MongoDB backup
+python $WORKSPACE/utils/test/testapi/update/templates/backup_mongodb.py -o $WORKSPACE/
+
+# Compressing the dump
+now=$(date +"%m_%d_%Y_%H_%M_%S")
+echo $now
+
+file_name="testapi_mongodb_"$now".tar.gz"
+echo $file_name
+
+tar cvfz "$file_name" test_results_collection*
+
+rm -rf test_results_collection*
+
+artifact_dir="testapibackup"
+workspace="$WORKSPACE"
+
+set +e
+/usr/local/bin/gsutil &>/dev/null
+if [ $? != 0 ]; then
+ echo "Not possible to push results to artifact: gsutil not installed"
+ exit 1
+else
+ echo "Uploading mongodump to artifact $artifact_dir"
+ /usr/local/bin/gsutil cp -r "$workspace"/"$file_name" gs://testingrohit/"$artifact_dir"/
+ echo "MongoDump can be found at http://artifacts.opnfv.org/$artifact_dir"
+fi
diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml
index a54750ef7..f32816495 100644
--- a/jjb/yardstick/yardstick-project-jobs.yml
+++ b/jjb/yardstick/yardstick-project-jobs.yml
@@ -116,7 +116,8 @@
source $WORKSPACE/yardstick_venv/bin/activate
# install python packages
- easy_install -U setuptools
+ sudo apt-get install -y build-essential python-dev python-pip python-pkg-resources
+ easy_install -U setuptools==33.1.1
easy_install -U pip
pip install -r requirements.txt || pip install -r tests/ci/requirements.txt
pip install -e .