From 6c11c324b6edcea601ec38b990ae21b0c7e087d6 Mon Sep 17 00:00:00 2001 From: MatthewLi Date: Mon, 11 Apr 2016 04:32:00 -0400 Subject: Bottlenecks: rewrite all the request enabled jobs of the project JIRA: BOTTLENECK-1 Change-Id: I05a02ca26778d4a8214e099356e8956b95176989 Signed-off-by: MatthewLi --- jjb/bottlenecks/bottlenecks-ci-jobs.yml | 9 +- jjb/bottlenecks/bottlenecks-project-jobs.yml | 187 +++++++++++++++++++ jjb/bottlenecks/bottlenecks.yml | 264 --------------------------- 3 files changed, 193 insertions(+), 267 deletions(-) create mode 100644 jjb/bottlenecks/bottlenecks-project-jobs.yml delete mode 100644 jjb/bottlenecks/bottlenecks.yml (limited to 'jjb') diff --git a/jjb/bottlenecks/bottlenecks-ci-jobs.yml b/jjb/bottlenecks/bottlenecks-ci-jobs.yml index b4b736faa..1c8d048af 100644 --- a/jjb/bottlenecks/bottlenecks-ci-jobs.yml +++ b/jjb/bottlenecks/bottlenecks-ci-jobs.yml @@ -91,12 +91,15 @@ branch: '{branch}' builders: - - 'bottlenecks-fetch-os-creds' - - 'bottlenecks-run-{suite}' + - shell: | + echo "bottlenecks: this builder should be changed" + # TO DO, by now the CI job of Bottlenecks has been changed + #- 'bottlenecks-fetch-os-creds' + #- '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 diff --git a/jjb/bottlenecks/bottlenecks-project-jobs.yml b/jjb/bottlenecks/bottlenecks-project-jobs.yml new file mode 100644 index 000000000..7dbaeae6b --- /dev/null +++ b/jjb/bottlenecks/bottlenecks-project-jobs.yml @@ -0,0 +1,187 @@ +################################################### +# Non-ci jobs for Bottlenecks project +# They will only be enabled on request by projects! +################################################### +- project: + name: bottlenecks-project-jobs + + project: 'bottlenecks' + + jobs: + - 'bottlenecks-verify-{stream}' + - 'bottlenecks-merge-{stream}' + - 'bottlenecks-{suite}-upload-artifacts-{stream}' + + 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 +################################ + +- job-template: + name: 'bottlenecks-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}' + builders: + - shell: | + echo "bottlenecks: verify job" + #TO DO: this should be changed when the unittest ready + +- job-template: + name: 'bottlenecks-merge-{stream}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-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: | + echo "bottlenecks: merge" + +- job-template: + name: 'bottlenecks-{suite}-upload-artifacts-{stream}' + + concurrent: true + + properties: + - throttle: + enabled: true + max-total: 1 + max-per-node: 1 + + parameters: + - project-parameter: + project: '{project}' + - 'ericsson-build-defaults' + - bottlenecks-parameter: + gs-packagepath: '{gs-packagepath}' + + scm: + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' + + builders: + - 'bottlenecks-builder-upload-artifact' + - 'bottlenecks-workspace-cleanup' + +#################### +# parameter macros +#################### +- parameter: + name: bottlenecks-parameter + parameters: + - string: + name: CACHE_DIR + 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{gs-packagepath} + description: "LF artifacts url for storage of bottlenecks packages" + - string: + name: PACKAGE_URL + 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-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 diff --git a/jjb/bottlenecks/bottlenecks.yml b/jjb/bottlenecks/bottlenecks.yml deleted file mode 100644 index a65330d5d..000000000 --- a/jjb/bottlenecks/bottlenecks.yml +++ /dev/null @@ -1,264 +0,0 @@ -#################################### -# Job configuration for bottlenecks -#################################### -- project: - name: bottlenecks - jobs: - - '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' - - installer: - - 'fuel' - - suite: - - 'rubbos' - - 'vstf' - -# only master branch is enabled at the moment to keep no of jobs sane - stream: - - master: - branch: '{stream}' - gs-pathname: '' - - brahmaputra: - branch: 'stable/{stream}' - gs-pathname: '/{stream}' - - project: 'bottlenecks' -############################### -# Job templates -############################## -- job-template: - name: 'bottlenecks-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!" - -- job-template: - name: 'bottlenecks-{suite}-upload-artifacts-{stream}' - - concurrent: true - - properties: - - throttle: - enabled: true - max-total: 1 - max-per-node: 1 - - parameters: - - project-parameter: - project: '{project}' - - 'ericsson-build-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 - - 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: '' - 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: - - 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' -- cgit 1.2.3-korg