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