- project:
name: bottlenecks
jobs:
- - 'bottlenecks-test'
- - 'bottlenecks-verify'
- - 'bottlenecks-daily-{stream}'
- - 'bottlenecks-merge'
+ - 'bottlenecks-verify-{stream}'
+ - 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}'
+ - 'bottlenecks-{suite}-upload-artifacts-{stream}'
+ pod:
+ - lf:
+ node: 'opnfv-jump-2'
+ installer_type: 'fuel'
+ installer_ip: '10.20.0.2'
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
+ installer:
+ - '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-daily-{stream}'
-
- # Job template for daily builders
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
-
- varsetabove: '{somevar}'
-
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
+ name: 'bottlenecks-verify-{stream}'
parameters:
- project-parameter:
project: '{project}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
+ - gerrit-parameter:
branch: '{branch}'
+ - 'opnfv-build-defaults'
- triggers:
- - timed: 'H H * * *'
-
- prebuilders:
- - test-macro
-
- builders:
- - shell: |
- echo "hello world"
-
- postbuilders:
- - test-macro
-
-- job-template:
- name: 'bottlenecks-verify'
-
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
-
- parameters:
- - project-parameter:
- project: '{project}'
- - gerrit-parameter:
- branch: 'master'
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}'
+
+ node: ericsson-build
- # builder-merge job to run JJB update
- #
- # This job's purpose is to update all the JJB
+ concurrent: true
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
+ 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: ''
+ branch: '{branch}'
+
+ builders:
+ - 'bottlenecks-builder-upload-artifact'
+ - 'bottlenecks-workspace-cleanup'
+
+- job-template:
+ name: 'bottlenecks-daily-{installer}-{suite}-{pod}-{stream}'
+
+ disabled: false
+
+ node: '{node}'
+
+ 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."
+
+ scm:
+ - git-scm:
credentials-id: '{ssh-credentials}'
refspec: ''
- choosing-strategy: 'default'
+ 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
+
+####################
+# 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
+###################################
+- 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:
+ - 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: bottlenecks-workspace-cleanup
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ 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:
- - change-merged-event
+ - 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: 'remerge'
+ comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: 'bottlenecks'
+ project-pattern: '{project}'
branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/master'
-
- builders:
- - shell: |
- echo "hello world"
-
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ forbidden-file-paths:
+ - compare-type: ANT
+ pattern: 'docs/**|.gitignore'