e7758651d9b14bb7a2b5aefaf43a547b0ab7722e
[releng.git] / jjb / bottlenecks / bottlenecks.yml
1 ####################################
2 # Job configuration for bottlenecks
3 ####################################
4 - project:
5     name: bottlenecks
6     jobs:
7         - 'bottlenecks-test'
8         - 'bottlenecks-verify'
9         - 'bottlenecks-merge'
10         - 'bottlenecks-daily-{installer}-{pod}-{stream}'
11
12     # stream:    branch with - in place of / (eg. stable-arno)
13     # branch:    branch (eg. stable/arno)
14     pod:
15         - lf:
16             node: 'opnfv-jump-2'
17             installer_type: 'fuel'
18             installer_ip: '10.20.0.2'
19
20     installer:
21         -fuel
22
23     stream:
24         - master:
25             branch: 'master'
26
27     project: 'bottlenecks'
28     somevar: 'foo'
29 ###############################
30 # Job templates
31 ##############################
32 - job-template:
33     name: 'bottlenecks-test'
34
35     builders:
36         - shell: |
37             echo "Hello world from bottlenecks"
38
39 - job-template:
40
41     name: 'bottlenecks-verify'
42
43     parameters:
44         - project-parameter:
45             project: '{project}'
46         - gerrit-parameter:
47             branch: 'master'
48     scm:
49         - gerrit-trigger-scm:
50             credentials-id: '{ssh-credentials}'
51             refspec: '$GERRIT_REFSPEC'
52             choosing-strategy: 'gerrit'
53
54     triggers:
55         - gerrit:
56             trigger-on:
57                 - patchset-created-event:
58                     exclude-drafts: 'false'
59                     exclude-trivial-rebase: 'false'
60                     exclude-no-code-change: 'false'
61                 - draft-published-event
62                 - comment-added-contains-event:
63                     comment-contains-value: 'recheck'
64                 - comment-added-contains-event:
65                     comment-contains-value: 'reverify'
66             projects:
67               - project-compare-type: 'ANT'
68                 project-pattern: '{project}'
69                 branches:
70                   - branch-compare-type: 'ANT'
71                     branch-pattern: '**/master'
72
73     builders:
74         - shell: |
75             echo "hello world"
76
77 - job-template:
78     name: 'bottlenecks-merge'
79
80     # builder-merge job to run JJB update
81     #
82     # This job's purpose is to update all the JJB
83
84     parameters:
85         - project-parameter:
86             project: '{project}'
87         - gerrit-parameter:
88             branch: 'master'
89
90     scm:
91         - gerrit-trigger-scm:
92             credentials-id: '{ssh-credentials}'
93             refspec: ''
94             choosing-strategy: 'default'
95
96     triggers:
97         - gerrit:
98             trigger-on:
99                 - change-merged-event
100                 - comment-added-contains-event:
101                     comment-contains-value: 'remerge'
102             projects:
103               - project-compare-type: 'ANT'
104                 project-pattern: 'bottlenecks'
105                 branches:
106                     - branch-compare-type: 'ANT'
107                       branch-pattern: '**/master'
108
109     builders:
110         - shell: |
111             echo "hello world"
112
113 - job-template:
114     name: 'bottlenecks-daily-{installer}-{pod}-{stream}'
115
116     disabled: false
117
118     node: '{node}'
119
120     parameters:
121         - project-parameter:
122             project: '{project}'
123         - '{pod}-parameters'
124         - string:
125             name: POD_NAME
126             default: '{pod}'
127             description: "POD where the job runs"
128         - string:
129             name: INSTALLER_TYPE
130             default: '{installer_type}'
131             description: "Installer name that is used for deployment."
132         - string:
133             name: INSTALLER_IP
134             default: '{installer_ip}'
135             description: "Installer IP."
136
137     scm:
138         - git-scm:
139             credentials-id: '{ssh-credentials}'
140             refspec: ''
141             branch: '{branch}'
142
143     triggers:
144         - 'bottlenecks-trigger-{pod}'
145
146     builders:
147         - 'bottlenecks-fetch-os-creds'
148         - 'run-rubbos-env-preparation'
149         - 'run-rubbos-tools-installation'
150         - 'rubbos-exec'
151
152     publishers:
153         - email:
154             recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com
155
156 ###################################
157 #builders for bottlenecks project
158 ###################################
159 - builder:
160     name: bottlenecks-fetch-os-creds
161     builders:
162         - shell:
163             !include-raw ../../utils/fetch_os_creds.sh
164
165 - builder:
166     name: run-rubbos-env-preparation
167     builders:
168         - shell: |
169             #!/bin/bash
170             set -o errexit
171
172             echo "Bottlenecks: export openstack parameters before rubbos running"
173
174             cd $WORKSPACE
175             ./rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
176
177 - builder:
178     name: run-rubbos-tools-installation
179     builders:
180         - shell: |
181             #!/bin/bash
182             set -o errexit
183
184             echo "Bottlenecks: to install tools to run rubbos"
185
186             cd $WORKSPACE
187             ./rubbos/rubbos_scripts/1-1-1/scripts/run.sh
188
189 - builder:
190     name: rubbos-exec
191     builders:
192         - shell: |
193             #!/bin/bash
194             set -o errexit
195
196             echo "Bottlenecks: rubbos execution"
197
198             cd $WORKSPACE
199             cd ./rubbos/rubbos_scripts/1-1-1
200             source set_bottlenecks_rubbos_env.sh
201             ssh $CONTROL_HOST
202             ./tmp/CONTROL_rubbos_exec.sh
203
204 #######################
205 #trigger macros
206 #######################
207 - trigger:
208     name: 'bottlenecks-trigger-lf'
209     triggers:
210         - timed: '@midnight'