ec62da3b745ae0a5c3802aaa0ce5fdb0c42ca8ca
[releng.git] / jjb / compass4nfv / compass-dovetail-jobs.yaml
1 ---
2 - project:
3
4     name: 'compass-dovetail-jobs'
5     installer: 'compass'
6     project: 'compass4nfv'
7     # ---------------------------------
8     # BRANCH ANCHORS
9     # ---------------------------------
10     danube: &danube
11       stream: danube
12       branch: 'stable/{stream}'
13       gs-pathname: '/{stream}'
14       disabled: false
15       dovetail-branch: master
16     # -----------------------------------
17     # POD, INSTALLER, AND BRANCH MAPPING
18     # -----------------------------------
19     #        CI PODs
20     # -----------------------------------
21     pod:
22       - baremetal:
23           slave-label: compass-baremetal-branch
24           os-version: 'xenial'
25           <<: *danube
26     # ----------------------------------
27     # scenarios
28     # ----------------------------------
29     scenario:
30       - 'os-nosdn-nofeature-ha':
31           disabled: true
32           auto-trigger-name: 'compass-{scenario}-{pod}-weekly-{stream}-trigger'
33
34     jobs:
35       - 'compass-{scenario}-{pod}-weekly-{stream}'
36       - 'compass-deploy-{pod}-weekly-{stream}'
37
38 ########################
39 # job templates
40 ########################
41 - job-template:
42     name: 'compass-{scenario}-{pod}-weekly-{stream}'
43
44     disabled: '{obj:disabled}'
45
46     concurrent: false
47
48     properties:
49       - build-blocker:
50           use-build-blocker: true
51           blocking-jobs:
52             - 'compass-os-.*?-{pod}-daily-.*?'
53             - 'compass-os-.*?-{pod}-weekly-.*?'
54           blocking-level: 'NODE'
55
56     wrappers:
57       - build-name:
58           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
59       - fix-workspace-permissions
60
61     triggers:
62       - '{auto-trigger-name}'
63
64     parameters:
65       - project-parameter:
66           project: '{project}'
67           branch: '{branch}'
68       - compass-dovetail-parameter:
69           installer: '{installer}'
70           gs-pathname: '{gs-pathname}'
71       - string:
72           name: DEPLOY_SCENARIO
73           default: '{scenario}'
74       - '{slave-label}-defaults'
75       - '{installer}-defaults'
76
77     builders:
78       - description-setter:
79           description: "POD: $NODE_NAME"
80       - trigger-builds:
81           - project: 'compass-deploy-{pod}-weekly-{stream}'
82             current-parameters: false
83             predefined-parameters: |
84               DEPLOY_SCENARIO={scenario}
85               COMPASS_OS_VERSION={os-version}
86             same-node: true
87             block: true
88       - trigger-builds:
89           - project: 'dovetail-compass-{pod}-compliance_set-weekly-{stream}'
90             current-parameters: false
91             predefined-parameters:
92               DEPLOY_SCENARIO={scenario}
93             block: true
94             same-node: true
95             block-thresholds:
96               build-step-failure-threshold: 'never'
97               failure-threshold: 'never'
98               unstable-threshold: 'FAILURE'
99       - trigger-builds:
100           - project: 'dovetail-compass-{pod}-proposed_tests-weekly-{stream}'
101             current-parameters: false
102             predefined-parameters:
103               DEPLOY_SCENARIO={scenario}
104             block: true
105             same-node: true
106             block-thresholds:
107               build-step-failure-threshold: 'never'
108               failure-threshold: 'never'
109               unstable-threshold: 'FAILURE'
110
111 - job-template:
112     name: 'compass-deploy-{pod}-weekly-{stream}'
113
114     disabled: false
115
116     concurrent: true
117
118     properties:
119       - logrotate-default
120       - throttle:
121           enabled: true
122           max-total: 4
123           max-per-node: 1
124           option: 'project'
125       - build-blocker:
126           use-build-blocker: true
127           blocking-jobs:
128             - 'compass-deploy-{pod}-daily-.*?'
129             - 'compass-deploy-{pod}-weekly-.*'
130             - 'compass-verify-deploy-.*?'
131           blocking-level: 'NODE'
132
133     wrappers:
134       - build-name:
135           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
136       - timeout:
137           timeout: 240
138           abort: true
139       - fix-workspace-permissions
140
141     parameters:
142       - project-parameter:
143           project: '{project}'
144           branch: '{branch}'
145       - compass-dovetail-parameter:
146           installer: '{installer}'
147           gs-pathname: '{gs-pathname}'
148       - '{slave-label}-defaults'
149       - '{installer}-defaults'
150
151     scm:
152       - git-scm
153
154     builders:
155       - description-setter:
156           description: "POD: $NODE_NAME"
157       - shell:
158           !include-raw-escape: ./compass-download-artifact.sh
159       - shell:
160           !include-raw-escape: ./compass-deploy.sh
161
162 ########################
163 # parameter macros
164 ########################
165 - parameter:
166     name: compass-dovetail-parameter
167     parameters:
168       - string:
169           name: BUILD_DIRECTORY
170           default: $WORKSPACE/build_output
171           description: "Directory where the build artifact will be located upon the completion of the build."
172       - string:
173           name: GS_URL
174           default: '$GS_BASE{gs-pathname}'
175           description: "URL to Google Storage."
176       - choice:
177           name: COMPASS_OPENSTACK_VERSION
178           choices:
179             - 'newton'
180
181 ########################
182 # trigger macros
183 ########################
184 - trigger:
185     name: 'compass-os-nosdn-nofeature-ha-baremetal-weekly-danube-trigger'
186     triggers:
187       - timed: ''  # 'H H * * 0'
188
189 - trigger:
190     name: 'dovetail-weekly-trigger'
191     triggers:
192       - timed: ''  # 'H H * * 0'