fis bugs for bottlenecks project jjb
[releng.git] / jjb / bottlenecks / bottlenecks.yml
index e775865..46fb12a 100644 (file)
@@ -4,13 +4,9 @@
 - 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
 #######################