- project:
name: bottlenecks
jobs:
- - 'bottlenecks-test'
- - 'bottlenecks-verify'
- - 'bottlenecks-merge'
- - 'bottlenecks-daily-{installer}-{pod}-{stream}'
-
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
+ - 'bottlenecks-verify-{stream}'
+ - 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}'
+ - 'bottlenecks-{suite}-upload-artifacts-{stream}'
pod:
- lf:
node: 'opnfv-jump-2'
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/{stream}'
+# gs-pathname: '/{stream}'
project: 'bottlenecks'
- somevar: 'foo'
###############################
# Job templates
##############################
- job-template:
- name: 'bottlenecks-test'
-
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
-
- builders:
- - shell: |
- echo "Hello world from bottlenecks"
-
-- job-template:
-
- name: 'bottlenecks-verify'
-
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
+ name: 'bottlenecks-verify-{stream}'
parameters:
- project-parameter:
project: '{project}'
- gerrit-parameter:
- branch: 'master'
+ branch: '{branch}'
+ - 'opnfv-build-defaults'
+
scm:
- gerrit-trigger-scm:
credentials-id: '{ssh-credentials}'
project-pattern: '{project}'
branches:
- branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch-pattern: '**/{branch}'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'
builders:
- shell: |
- echo "hello world"
+ echo "Nothing to verify!"
- job-template:
- name: 'bottlenecks-merge'
+ name: 'bottlenecks-{suite}-upload-artifacts-{stream}'
- # builder-merge job to run JJB update
- #
- # This job's purpose is to update all the JJB
+ node: ericsson-build
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
+ concurrent: true
+
+ properties:
+ - throttle:
+ enabled: true
+ max-total: 1
+ max-per-node: 1
parameters:
- project-parameter:
project: '{project}'
- - gerrit-parameter:
- branch: 'master'
+ - 'ericsson-ca-build-1-defaults'
+ - bottlenecks-parameter:
+ gs-pathname: '{gs-pathname}'
+ suite: '{suite}'
scm:
- - gerrit-trigger-scm:
+ - git-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: 'bottlenecks'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
+ branch: '{branch}'
builders:
- - shell: |
- echo "hello world"
+ - 'bottlenecks-builder-upload-artifact'
+ - 'bottlenecks-workspace-cleanup'
- job-template:
- name: 'bottlenecks-daily-{installer}-{pod}-{stream}'
+ name: 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}'
disabled: false
parameters:
- project-parameter:
project: '{project}'
- - '{pod}-parameters'
+ - 'opnfv-jump-2-defaults'
- string:
name: POD_NAME
default: '{pod}'
name: INSTALLER_IP
default: '{installer_ip}'
description: "Installer IP."
+ - string:
+ name: GERRIT_REFSPEC_DEBUG
+ default: ''
+ description: "Gerrit refspec for debug."
scm:
- git-scm:
refspec: ''
branch: '{branch}'
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
+ 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
!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 -v
+ echo "bottlenecks: copy file $CACHE_DIR/$file to $SUITE_URL"
+ 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
- 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'