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