bd42ed85cb88c69a9ee1167e609125c74cc79564
[releng.git] / jjb / fuel / fuel-weekly-jobs.yml
1 # jenkins job templates for Fuel
2 - project:
3
4     name: fuel-weekly
5
6     project: fuel
7
8     installer: fuel
9
10 #--------------------------------
11 # BRANCH ANCHORS
12 #--------------------------------
13     master: &master
14         stream: master
15         branch: '{stream}'
16         disabled: false
17         gs-pathname: ''
18     danube: &danube
19         stream: danube
20         branch: 'stable/{stream}'
21         disabled: false
22         gs-pathname: '/{stream}'
23 #--------------------------------
24 # POD, INSTALLER, AND BRANCH MAPPING
25 #--------------------------------
26 #        CI PODs
27 #--------------------------------
28     pod:
29         - baremetal:
30             slave-label: fuel-baremetal
31             <<: *master
32         - virtual:
33             slave-label: fuel-virtual
34             <<: *master
35         - baremetal:
36             slave-label: fuel-baremetal
37             <<: *danube
38         - virtual:
39             slave-label: fuel-virtual
40             <<: *danube
41 #--------------------------------
42 #       scenarios
43 #--------------------------------
44     scenario:
45         # HA scenarios
46         - 'os-nosdn-nofeature-ha':
47             auto-trigger-name: 'weekly-trigger-disabled'
48
49     jobs:
50         - 'fuel-{scenario}-{pod}-weekly-{stream}'
51         - 'fuel-deploy-{pod}-weekly-{stream}'
52
53 ########################
54 # job templates
55 ########################
56 - job-template:
57     name: 'fuel-{scenario}-{pod}-weekly-{stream}'
58
59     disabled: '{obj:disabled}'
60
61     concurrent: false
62
63     properties:
64         - logrotate-default
65         - throttle:
66             enabled: true
67             max-total: 4
68             max-per-node: 1
69             option: 'project'
70         - build-blocker:
71             use-build-blocker: true
72             blocking-jobs:
73                 - 'fuel-os-.*?-{pod}-daily-.*'
74                 - 'fuel-os-.*?-{pod}-weekly-.*'
75             block-level: 'NODE'
76
77     wrappers:
78         - build-name:
79             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
80
81     triggers:
82         - '{auto-trigger-name}'
83
84     parameters:
85         - project-parameter:
86             project: '{project}'
87             branch: '{branch}'
88         - '{installer}-defaults'
89         - '{slave-label}-defaults':
90             installer: '{installer}'
91         - string:
92             name: DEPLOY_SCENARIO
93             default: '{scenario}'
94         - fuel-weekly-parameter:
95             gs-pathname: '{gs-pathname}'
96
97     builders:
98         - description-setter:
99             description: "Built on $NODE_NAME"
100         - trigger-builds:
101             - project: 'fuel-deploy-{pod}-weekly-{stream}'
102               current-parameters: false
103               predefined-parameters:
104                 DEPLOY_SCENARIO={scenario}
105               same-node: true
106               block: true
107         - trigger-builds:
108             - project: 'functest-fuel-{pod}-weekly-{stream}'
109               current-parameters: false
110               predefined-parameters:
111                 DEPLOY_SCENARIO={scenario}
112               same-node: true
113               block: true
114               block-thresholds:
115                 build-step-failure-threshold: 'never'
116                 failure-threshold: 'never'
117                 unstable-threshold: 'FAILURE'
118
119     publishers:
120         - email:
121             recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
122
123 - job-template:
124     name: 'fuel-deploy-{pod}-weekly-{stream}'
125
126     disabled: '{obj:disabled}'
127
128     concurrent: true
129
130     properties:
131         - logrotate-default
132         - throttle:
133             enabled: true
134             max-total: 4
135             max-per-node: 1
136             option: 'project'
137         - build-blocker:
138             use-build-blocker: true
139             blocking-jobs:
140                 - 'fuel-deploy-{pod}-daily-.*'
141                 - 'fuel-deploy-generic-daily-.*'
142                 - 'fuel-deploy-{pod}-weekly-.*'
143                 - 'fuel-deploy-generic-weekly-.*'
144             block-level: 'NODE'
145
146     parameters:
147         - project-parameter:
148             project: '{project}'
149             branch: '{branch}'
150         - '{installer}-defaults'
151         - '{slave-label}-defaults':
152             installer: '{installer}'
153         - string:
154             name: DEPLOY_SCENARIO
155             default: 'os-odl_l2-nofeature-ha'
156         - fuel-weekly-parameter:
157             gs-pathname: '{gs-pathname}'
158         - string:
159             name: DEPLOY_TIMEOUT
160             default: '150'
161             description: 'Deployment timeout in minutes'
162
163     scm:
164         - git-scm
165
166     wrappers:
167         - build-name:
168             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
169
170     builders:
171         - description-setter:
172             description: "Built on $NODE_NAME"
173         - shell:
174             !include-raw-escape: ./fuel-download-artifact.sh
175         - shell:
176             !include-raw-escape: ./fuel-deploy.sh
177
178     publishers:
179         - email:
180             recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
181
182 ########################
183 # parameter macros
184 ########################
185 - parameter:
186     name: fuel-weekly-parameter
187     parameters:
188         - string:
189             name: BUILD_DIRECTORY
190             default: $WORKSPACE/build_output
191             description: "Directory where the build artifact will be located upon the completion of the build."
192         - string:
193             name: CACHE_DIRECTORY
194             default: $HOME/opnfv/cache/$INSTALLER_TYPE
195             description: "Directory where the cache to be used during the build is located."
196         - string:
197             name: GS_URL
198             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
199             description: "URL to Google Storage."
200 ########################
201 # trigger macros
202 ########################
203 #-----------------------------------------------
204 # Triggers for job running on fuel-baremetal against master branch
205 #-----------------------------------------------
206 # HA Scenarios
207 - trigger:
208     name: 'fuel-os-nosdn-nofeature-ha-baremetal-weekly-master-trigger'
209     triggers:
210         - timed: ''