summaryrefslogtreecommitdiffstats
path: root/jjb/bottlenecks
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/bottlenecks')
-rw-r--r--jjb/bottlenecks/bottlenecks-ci-jobs.yml109
-rw-r--r--jjb/bottlenecks/bottlenecks-project-jobs.yml (renamed from jjb/bottlenecks/bottlenecks.yml)201
2 files changed, 138 insertions, 172 deletions
diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
index b4b736faa..09b7df172 100644
--- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml
+++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml
@@ -12,11 +12,18 @@
master: &master
stream: master
branch: '{stream}'
+ #This is used for common project file storage
gs-pathname: ''
+ #This is used for different test suite dependent packages storage
+ gs-packagepath: '/{suite}'
+ #docker tag used for version control
+ docker-tag: 'latest'
brahmaputra: &brahmaputra
stream: brahmaputra
branch: 'stable/{stream}'
- gs-pathname: '{stream}'
+ gs-pathname: '/{stream}'
+ gs-packagepath: '/{stream}/{suite}'
+ docker-tag: 'brahmaputra'
#--------------------------------
# POD, INSTALLER, AND BRANCH MAPPING
#--------------------------------
@@ -81,8 +88,16 @@
- 'bottlenecks-params-{pod}'
- string:
name: GERRIT_REFSPEC_DEBUG
- default: ''
+ default: 'false'
description: "Gerrit refspec for debug."
+ - string:
+ name: SUITE_NAME
+ default: '{suite}'
+ description: "test suite name."
+ - string:
+ name: DOCKER_TAG
+ default: '{docker-tag}'
+ description: "docker image tag used for version control"
scm:
- git-scm:
@@ -91,47 +106,75 @@
branch: '{branch}'
builders:
+ - 'bottlenecks-env-cleanup'
- 'bottlenecks-fetch-os-creds'
- - 'bottlenecks-run-{suite}'
+ - 'bottlenecks-run-suite'
publishers:
- email:
- recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com liyiting@huawei.com
+ recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com sunshine.wang@huawei.com
########################
# builder macros
########################
-#- builder:
-# name: bottlenecks-fetch-os-creds
-# builders:
-# - shell:
-# !include-raw ../../utils/fetch_os_creds.sh
-
-#- builder:
-# name: bottlenecks-run-rubbos
-# builders:
-# - shell: |
-# #!/bin/bash
-# set -o errexit
-#
-# echo "Bottlenecks: rubbos running now..."
-# cd $WORKSPACE
-# ./ci/run.sh $GERRIT_REFSPEC_DEBUG
-
-#- builder:
-# name: bottlenecks-run-vstf
-# builders:
-# - shell: |
-# #!/bin/bash
-# set -o errexit
-
-# echo "Bottlenecks: vstf running now..."
-# cd $WORKSPACE
-# ./ci/vstf_run.sh $GERRIT_REFSPEC_DEBUG
+- builder:
+ name: bottlenecks-fetch-os-creds
+ builders:
+ - shell:
+ !include-raw ../../utils/fetch_os_creds.sh
-########################
+- builder:
+ name: bottlenecks-env-cleanup
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -e
+ [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
+
+ echo "Bottlenecks: docker containers/images cleaning up"
+ if [[ ! -z $(docker ps -a | grep opnfv/bottlenecks) ]]; then
+ echo "removing existing opnfv/bottlenecks containers"
+ docker ps -a | grep opnfv/bottlenecks | awk '{print $1}' | xargs docker rm -f >$redirect
+ fi
+
+ if [[ ! -z $(docker images | grep opnfv/bottlenecks) ]]; then
+ echo "Bottlenecks: docker images to remove:"
+ docker images | head -1 && docker images | grep opnfv/bottlenecks
+ image_tags=($(docker images | grep opnfv/bottlenecks | awk '{print $2}'))
+ for tag in "${image_tags[@]}"; do
+ echo "Removing docker image opnfv/bottlenecks:$tag..."
+ docker rmi opnfv/bottlenecks:$tag >$redirect
+ done
+ fi
+
+- builder:
+ name: bottlenecks-run-suite
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -e
+ [[ $GERRIT_REFSPEC_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null"
+
+ echo "Bottlenecks: ${SUITE_NAME} running now..."
+
+ # pull latest image
+ docker pull opnfv/bottlenecks:$DOCKER_TAG >$redirect
+
+ # run tests by using docker
+ opts="--privileged=true --rm"
+ envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \
+ -e NODE_NAME=${NODE_NAME} -e EXTERNAL_NET=${EXTERNAL_NETWORK} \
+ -e BOTTLENECKS_BRANCH=${BOTTLENECKS_BRANCH} -e GERRIT_REFSPEC_DEBUG=${GERRIT_REFSPEC_DEBUG} \
+ -e BOTTLENECKS_DB_TARGET=${BOTTLENECKS_DB_TARGET} -e PACKAGE_URL=${PACKAGE_URL}"
+ run_testsuite="run_tests.sh -s ${SUITE_NAME}"
+ cmd="sudo docker run ${opts} ${envs} opnfv/bottlenecks ${run_testsuite} >${redirect}"
+ echo "Bottlenecks: docker cmd running: ${cmd}"
+ ${cmd}
+
+####################
# parameter macros
-########################
+####################
+
- parameter:
name: 'bottlenecks-params-intel-pod5'
parameters:
diff --git a/jjb/bottlenecks/bottlenecks.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml
index a65330d5d..7dbaeae6b 100644
--- a/jjb/bottlenecks/bottlenecks.yml
+++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml
@@ -1,38 +1,37 @@
-####################################
-# Job configuration for bottlenecks
-####################################
+###################################################
+# Non-ci jobs for Bottlenecks project
+# They will only be enabled on request by projects!
+###################################################
- project:
- name: bottlenecks
+ name: bottlenecks-project-jobs
+
+ project: 'bottlenecks'
+
jobs:
- 'bottlenecks-verify-{stream}'
- - 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}'
+ - 'bottlenecks-merge-{stream}'
- 'bottlenecks-{suite}-upload-artifacts-{stream}'
- pod:
- - lf:
- node: 'opnfv-jump-2'
- installer_type: 'fuel'
- installer_ip: '10.20.0.2'
-
- installer:
- - 'fuel'
- suite:
- - 'rubbos'
- - 'vstf'
-
-# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
branch: '{stream}'
+ #This is used for common project file storage
gs-pathname: ''
+ #This is used for different test suite dependent packages storage
+ gs-packagepath: '/{suite}'
- brahmaputra:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
+ gs-packagepath: '/{stream}/{suite}'
+
+ suite:
+ - 'rubbos'
+ - 'vstf'
+
+################################
+# job templates
+################################
- project: 'bottlenecks'
-###############################
-# Job templates
-##############################
- job-template:
name: 'bottlenecks-verify-{stream}'
@@ -67,70 +66,61 @@
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
builders:
- - shell: |
- echo "Nothing to verify!"
+ - shell: |
+ echo "bottlenecks: verify job"
+ #TO DO: this should be changed when the unittest ready
- job-template:
- name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
-
- concurrent: true
-
- properties:
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
+ name: 'bottlenecks-merge-{stream}'
parameters:
- project-parameter:
project: '{project}'
- - 'ericsson-build-defaults'
- - bottlenecks-parameter:
- gs-pathname: '{gs-pathname}'
- suite: '{suite}'
+ - gerrit-parameter:
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
scm:
- - git-scm:
+ - gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
refspec: ''
- branch: '{branch}'
+ 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:
- - 'bottlenecks-builder-upload-artifact'
- - 'bottlenecks-workspace-cleanup'
+ - shell: |
+ echo "bottlenecks: merge"
- job-template:
- name: 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}'
+ name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
- disabled: false
+ concurrent: true
- node: '{node}'
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
parameters:
- project-parameter:
project: '{project}'
- - 'opnfv-jump-2-defaults'
- - string:
- name: POD_NAME
- default: '{pod}'
- description: "POD where the job runs"
- - string:
- name: INSTALLER_TYPE
- default: '{installer_type}'
- description: "Installer name that is used for deployment."
- - string:
- name: INSTALLER_IP
- default: '{installer_ip}'
- description: "Installer IP."
- - string:
- name: GERRIT_REFSPEC_DEBUG
- default: ''
- description: "Gerrit refspec for debug."
+ - 'ericsson-build-defaults'
+ - bottlenecks-parameter:
+ gs-packagepath: '{gs-packagepath}'
scm:
- git-scm:
@@ -138,21 +128,9 @@
refspec: ''
branch: '{branch}'
- wrappers:
- - timeout:
- timeout: 120
- fail: true
-
- triggers:
- - 'bottlenecks-trigger-{pod}'
-
builders:
- - 'bottlenecks-fetch-os-creds'
- - 'bottlenecks-run-{suite}'
-
- publishers:
- - email:
- recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com liangqi1@huawei.com liyiting@huawei.com
+ - 'bottlenecks-builder-upload-artifact'
+ - 'bottlenecks-workspace-cleanup'
####################
# parameter macros
@@ -162,47 +140,20 @@
parameters:
- string:
name: CACHE_DIR
- default: $WORKSPACE/cache/{suite}
+ default: $WORKSPACE/cache{gs-packagepath}
description: "the cache to store packages downloaded from public IP"
- string:
name: SUITE_URL
- default: gs://artifacts.opnfv.org/bottlenecks/{suite}{gs-pathname}
+ default: gs://artifacts.opnfv.org/bottlenecks{gs-packagepath}
description: "LF artifacts url for storage of bottlenecks packages"
- string:
name: PACKAGE_URL
- default: http://205.177.226.237:9999/bottlenecks/{suite}/
+ default: http://205.177.226.237:9999/bottlenecks{gs-packagepath}/
description: "the url where we store the packages used for bottlenecks rubbos"
-###################################
+####################################
#builders for bottlenecks project
-###################################
-- builder:
- name: bottlenecks-fetch-os-creds
- builders:
- - shell:
- !include-raw: ../../utils/fetch_os_creds.sh
-
-- builder:
- name: bottlenecks-run-rubbos
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
-
- echo "Bottlenecks: rubbos running now..."
- cd $WORKSPACE
- ./ci/run.sh $GERRIT_REFSPEC_DEBUG
-
-- builder:
- name: bottlenecks-run-vstf
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
-
- echo "Bottlenecks: vstf running now..."
- cd $WORKSPACE
- ./ci/vstf_run.sh $GERRIT_REFSPEC_DEBUG
+####################################
- builder:
name: bottlenecks-builder-upload-artifact
builders:
@@ -234,31 +185,3 @@
echo "Bottlenecks: cleanup cache used for storage downloaded packages"
/bin/rm -rf $CACHE_DIR
-
-#######################
-#trigger macros
-#######################
-- trigger:
- name: 'bottlenecks-trigger-lf'
- triggers:
-# - 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'