run Functest daily in xci
[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     euphrates: &euphrates
19         stream: euphrates
20         branch: 'stable/{stream}'
21         disabled: true
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             <<: *euphrates
38         - virtual:
39             slave-label: fuel-virtual
40             <<: *euphrates
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         - email-jenkins-admins-on-failure
123
124 - job-template:
125     name: 'fuel-deploy-{pod}-weekly-{stream}'
126
127     disabled: '{obj:disabled}'
128
129     concurrent: true
130
131     properties:
132         - logrotate-default
133         - throttle:
134             enabled: true
135             max-total: 4
136             max-per-node: 1
137             option: 'project'
138         - build-blocker:
139             use-build-blocker: true
140             blocking-jobs:
141                 - 'fuel-deploy-{pod}-daily-.*'
142                 - 'fuel-deploy-generic-daily-.*'
143                 - 'fuel-deploy-{pod}-weekly-.*'
144                 - 'fuel-deploy-generic-weekly-.*'
145             block-level: 'NODE'
146
147     parameters:
148         - project-parameter:
149             project: '{project}'
150             branch: '{branch}'
151         - '{installer}-defaults'
152         - '{slave-label}-defaults':
153             installer: '{installer}'
154         - string:
155             name: DEPLOY_SCENARIO
156             default: 'os-odl_l2-nofeature-ha'
157         - fuel-weekly-parameter:
158             gs-pathname: '{gs-pathname}'
159         - string:
160             name: DEPLOY_TIMEOUT
161             default: '150'
162             description: 'Deployment timeout in minutes'
163
164     scm:
165         - git-scm
166
167     wrappers:
168         - build-name:
169             name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
170
171     builders:
172         - description-setter:
173             description: "Built on $NODE_NAME"
174         - shell:
175             !include-raw-escape: ./fuel-download-artifact.sh
176         - shell:
177             !include-raw-escape: ./fuel-deploy.sh
178
179     publishers:
180         - email:
181             recipients: peter.barabas@ericsson.com fzhadaev@mirantis.com
182         - email-jenkins-admins-on-failure
183
184 ########################
185 # parameter macros
186 ########################
187 - parameter:
188     name: fuel-weekly-parameter
189     parameters:
190         - string:
191             name: BUILD_DIRECTORY
192             default: $WORKSPACE/build_output
193             description: "Directory where the build artifact will be located upon the completion of the build."
194         - string:
195             name: CACHE_DIRECTORY
196             default: $HOME/opnfv/cache/$INSTALLER_TYPE
197             description: "Directory where the cache to be used during the build is located."
198         - string:
199             name: GS_URL
200             default: artifacts.opnfv.org/$PROJECT{gs-pathname}
201             description: "URL to Google Storage."
202 ########################
203 # trigger macros
204 ########################
205 #-----------------------------------------------
206 # Triggers for job running on fuel-baremetal against master branch
207 #-----------------------------------------------
208 # HA Scenarios
209 - trigger:
210     name: 'fuel-os-nosdn-nofeature-ha-baremetal-weekly-master-trigger'
211     triggers:
212         - timed: ''