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