- project:
name: bottlenecks
jobs:
- - 'bottlenecks-test'
- - 'bottlenecks-verify'
- - 'bottlenecks-merge'
+ - 'bottlenecks-verify-{stream}'
- 'bottlenecks-daily-{installer}-{pod}-{stream}'
-
- # stream: branch with - in place of / (eg. stable-arno)
- # branch: branch (eg. stable/arno)
+ - 'bottlenecks-upload-artifacts-{stream}'
pod:
- lf:
node: 'opnfv-jump-2'
installer:
-fuel
+# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
branch: 'master'
+ gs-pathname: ''
+# - brahmaputra:
+# branch: 'stable/brahmaputra'
+# gs-pathname: '/brahmaputra'
project: 'bottlenecks'
- somevar: 'foo'
###############################
# Job templates
##############################
- job-template:
- name: 'bottlenecks-test'
-
- builders:
- - shell: |
- echo "Hello world from bottlenecks"
-
-- job-template:
-
- name: 'bottlenecks-verify'
+ 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-upload-artifacts-{stream}'
+
+ node: ericsson-build
+
+ concurrent: true
- # builder-merge job to run JJB update
- #
- # This job's purpose is to update all the JJB
+ 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'
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}'
parameters:
- project-parameter:
project: '{project}'
- - '{pod}-parameters'
+ - 'opnfv-jump-2-defaults'
- string:
name: POD_NAME
default: '{pod}'
builders:
- 'bottlenecks-fetch-os-creds'
- - 'run-rubbos-env-preparation'
- - 'run-rubbos-tools-installation'
- - 'rubbos-exec'
+ #- 'run-rubbos-env-preparation'
+ - 'bottlenecks-instance-creation'
+ #- 'run-rubbos-tools-installation'
+ #- 'rubbos-exec'
publishers:
- email:
recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com
+####################
+# parameter macros
+####################
+- parameter:
+ name: bottlenecks-parameter
+ parameters:
+ - string:
+ name: CACHE_DIR
+ default: $WORKSPACE/cache
+ description: "the cache to store packages downloaded from public IP"
+ - string:
+ name: RUBBOS_URL
+ default: http://artifacts.opnfv.org/bottlenecks/rubbos
+ description: "LF artifacts url for storage of bottlenecks packages"
+ - string:
+ name: PACKAGE_URL
+ default: http://205.177.226.235:9999/bottlenecks/rubbos/
+ description: "the url where we store the packages used for bottlenecks rubbos"
+
###################################
#builders for bottlenecks project
###################################
cd $WORKSPACE
./rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
+- builder:
+ name: bottlenecks-instance-creation
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: instance creation by using heat template"
+ cd $WORKSPACE
+ ./utils/infra_setup/heat_template/HOT_create_instance.sh
+
- builder:
name: run-rubbos-tools-installation
builders:
echo "Bottlenecks: to install tools to run rubbos"
cd $WORKSPACE
+ cd rubbos/rubbos_scripts/1-1-1
+ source set_bottlenecks_rubbos_env.sh
./rubbos/rubbos_scripts/1-1-1/scripts/run.sh
- builder:
ssh $CONTROL_HOST
./tmp/CONTROL_rubbos_exec.sh
+- 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
+ gsutil cp $CACHE_DIR/$file $RUBBOS_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 $WORKSPACE
+
#######################
#trigger macros
#######################