[compass] enable virtual-deployment workflow
[releng.git] / jjb / compass4nfv / compass-ci-jobs.yml
1 - project:
2
3     name: compass-ci
4
5     installer: 'compass'
6
7     project: 'compass4nfv'
8
9     master: &master
10         stream: master
11         branch: '{stream}'
12         gs-pathname: ''
13     brahmaputra: &brahmaputra
14         stream: brahmaputra
15         branch: 'stable/{stream}'
16         gs-pathname: '/{stream}'
17
18 #--------------------------------
19 # POD, INSTALLER, AND BRANCH MAPPING
20 #--------------------------------
21     pod:
22 #--------------------------------
23 #        brahmaputra
24 #--------------------------------
25         - huawei-us-deploy-bare-1:
26             <<: *brahmaputra
27         - huawei-virtual:
28             <<: *brahmaputra
29 #--------------------------------
30 #        master
31 #--------------------------------
32         - intel-pod8:
33             <<: *master
34         - huawei-virtual:
35             <<: *master
36
37     scenario:
38         - 'os-nosdn-nofeature-ha':
39             disabled: false
40             auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
41         - 'os-odl_l2-nofeature-ha':
42             disabled: false
43             auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
44         - 'os-onos-nofeature-ha':
45             disabled: false
46             auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
47 #        - 'os-ocl-nofeature-ha':
48 #            disabled: true
49 #            auto-trigger-name: 'compass-{scenario}-{pod}-trigger'
50
51     jobs:
52         - 'compass-{scenario}-{pod}-daily-{stream}'
53         - 'compass-deploy-{pod}-daily-{stream}'
54
55 ########################
56 # job templates
57 ########################
58 - job-template:
59     name: 'compass-{scenario}-{pod}-daily-{stream}'
60
61     project-type: multijob
62
63     node: huawei-build
64
65     concurrent: false
66
67     properties:
68         - throttle:
69             enabled: true
70             max-total: 1
71             max-per-node: 1
72         - build-blocker:
73             use-build-blocker: true
74             blocking-jobs:
75                 - 'compass-os-.*?-{pod}-daily-{stream}'
76
77     wrappers:
78         - build-name:
79             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
80
81     parameters:
82         - project-parameter:
83             project: '{project}'
84         - compass-ci-parameter:
85             installer: '{installer}'
86             gs-pathname: '{gs-pathname}'
87         - string:
88             name: DEPLOY_SCENARIO
89             default: '{scenario}'
90         - 'huawei-build-defaults'
91         - '{installer}-defaults'
92
93     triggers:
94         - '{auto-trigger-name}'
95
96     builders:
97         - multijob:
98             name: deploy
99             condition: SUCCESSFUL
100             projects:
101                 - name: 'compass-deploy-{pod}-daily-{stream}'
102                   current-parameters: false
103                   predefined-parameters: 'DEPLOY_SCENARIO={scenario}'
104                   kill-phase-on: FAILURE
105         - multijob:
106             name: functest
107             condition: COMPLETED
108             projects:
109                 - name: 'functest-compass-{pod}-daily-{stream}'
110                   current-parameters: true
111                   predefined-parameters: 'DEPLOY_SCENARIO={scenario}'
112                   kill-phase-on: NEVER
113         - multijob:
114             name: yardstick
115             condition: COMPLETED
116             projects:
117                 - name: 'yardstick-compass-{pod}-daily-{stream}'
118                   current-parameters: true
119                   predefined-parameters: 'DEPLOY_SCENARIO={scenario}'
120                   kill-phase-on: NEVER
121
122 - job-template:
123     name: 'compass-deploy-{pod}-daily-{stream}'
124
125     disabled: false
126
127     concurrent: false
128
129     properties:
130         - throttle:
131             enabled: true
132             max-total: 1
133             max-per-node: 1
134         - build-blocker:
135             use-build-blocker: true
136             blocking-jobs:
137                 - 'compass-deploy-{pod}-daily-{stream}'
138
139     wrappers:
140         - build-name:
141             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
142
143     parameters:
144         - project-parameter:
145             project: '{project}'
146         - compass-ci-parameter:
147             installer: '{installer}'
148             gs-pathname: '{gs-pathname}'
149         - '{pod}-defaults'
150         - '{installer}-defaults'
151
152     scm:
153         - git-scm:
154             credentials-id: '{ssh-credentials}'
155             refspec: ''
156             branch: '{branch}'
157
158     wrappers:
159         - build-name:
160             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
161
162
163     builders:
164         - shell:
165             !include-raw: ./compass-workspace-precleanup.sh
166         - shell:
167             !include-raw: ./compass-download-artifact.sh
168         - shell:
169             !include-raw: ./compass-deploy-bare.sh
170
171     publishers:
172         - archive:
173             artifacts: 'ansible.log'
174             allow-empty: 'true'
175             fingerprint: true
176
177 ########################
178 # parameter macros
179 ########################
180 - parameter:
181     name: compass-ci-parameter
182     parameters:
183         - string:
184             name: BUILD_DIRECTORY
185             default: $WORKSPACE/build_output
186             description: "Directory where the build artifact will be located upon the completion of the build."
187         - string:
188             name: CACHE_DIRECTORY
189             default: $HOME/opnfv/cache/$PROJECT
190             description: "Directory where the cache to be used during the build is located."
191         - string:
192             name: GS_URL
193             default: '$GS_BASE{gs-pathname}'
194             description: "URL to Google Storage."
195         - string:
196             name: PPA_REPO
197             default: "http://205.177.226.235:9999"
198         - string:
199             name: PPA_CACHE
200             default: "$WORKSPACE/work/repo/"
201         - choice:
202             name: COMPASS_OPENSTACK_VERSION
203             choices:
204                 - 'liberty'
205                 - 'juno'
206         - choice:
207             name: COMPASS_OS_VERSION
208             choices:
209                 - 'trusty'
210                 - 'centos7'
211 - parameter:
212     name: 'huawei-virtual-defaults'
213     parameters:
214         - label:
215             name: SLAVE_LABEL
216             default: 'huawei-deploy-vm'
217         - string:
218             name: GIT_BASE
219             default: https://gerrit.opnfv.org/gerrit/$PROJECT
220             description: 'Git URL to use on these Jenkins Slaves'
221 ########################
222 # trigger macros
223 ########################
224 - trigger:
225     name: 'compass-os-nosdn-nofeature-ha-huawei-us-deploy-bare-1-trigger'
226     triggers:
227         - timed: '0 3 * * * '
228 - trigger:
229     name: 'compass-os-odl_l2-nofeature-ha-huawei-us-deploy-bare-1-trigger'
230     triggers:
231         - timed: '0 20 * * *'
232 - trigger:
233     name: 'compass-os-onos-nofeature-ha-huawei-us-deploy-bare-1-trigger'
234     triggers:
235         - timed: '0 15 * * *'
236 - trigger:
237     name: 'compass-os-ocl-nofeature-ha-huawei-us-deploy-bare-1-trigger'
238     triggers:
239         - timed: ''
240 - trigger:
241     name: 'compass-os-nosdn-nofeature-ha-intel-pod8-trigger'
242     triggers:
243         - timed: ''
244 - trigger:
245     name: 'compass-os-odl_l2-nofeature-ha-intel-pod8-trigger'
246     triggers:
247         - timed: ''
248 - trigger:
249     name: 'compass-os-onos-nofeature-ha-intel-pod8-trigger'
250     triggers:
251         - timed: ''
252 - trigger:
253     name: 'compass-os-ocl-nofeature-ha-intel-pod8-trigger'
254     triggers:
255         - timed: ''
256 - trigger:
257     name: 'compass-os-nosdn-nofeature-ha-huawei-virtual-trigger'
258     triggers:
259         - timed: ''
260 - trigger:
261     name: 'compass-os-odl_l2-nofeature-ha-huawei-virtual-trigger'
262     triggers:
263         - timed: '0 16 * * *'
264 - trigger:
265     name: 'compass-os-onos-nofeature-ha-huawei-virtual-trigger'
266     triggers:
267         - timed: '0 16 * * *'
268 - trigger:
269     name: 'compass-os-ocl-nofeature-ha-huawei-virtual-trigger'
270     triggers:
271         - timed: ''