367bb64827dd24ae23a63d00591f610fed7704eb
[releng.git] / jjb / bottlenecks / bottlenecks-ci-jobs.yml
1 ---
2 ####################################
3 # job configuration for bottlenecks
4 ####################################
5 - project:
6     name: bottlenecks-ci-jobs
7
8     project: 'bottlenecks'
9
10     # -------------------------------
11     # BRANCH ANCHORS
12     # -------------------------------
13     master: &master
14       stream: master
15       branch: '{stream}'
16       # This is used for common project file storage
17       gs-pathname: ''
18       # This is used for different test suite dependent packages storage
19       gs-packagepath: '/{suite}'
20       # docker tag used for version control
21       docker-tag: 'latest'
22     euphrates: &euphrates
23       stream: euphrates
24       branch: 'stable/{stream}'
25       gs-pathname: '/{stream}'
26       gs-packagepath: '/{stream}/{suite}'
27       docker-tag: 'stable'
28     # -------------------------------
29     # POD, INSTALLER, AND BRANCH MAPPING
30     # -------------------------------
31     #    Installers using labels
32     #            CI PODs
33     # This section should only contain the installers
34     # that have been switched using labels for slaves
35     # -------------------------------
36     pod:
37       # compass CI PODs
38       - baremetal:
39           slave-label: compass-baremetal-master
40           installer: compass
41           auto-trigger-name: 'daily-trigger-disabled'
42           <<: *master
43       - virtual:
44           slave-label: compass-virtual-master
45           installer: compass
46           auto-trigger-name: 'daily-trigger-disabled'
47           <<: *master
48       - baremetal:
49           slave-label: compass-baremetal-branch
50           installer: compass
51           auto-trigger-name: 'daily-trigger-disabled'
52           <<: *euphrates
53       - virtual:
54           slave-label: compass-virtual-branch
55           installer: compass
56           auto-trigger-name: 'daily-trigger-disabled'
57           <<: *euphrates
58
59     # -------------------------------
60     #        None-CI PODs
61     # -------------------------------
62     # - orange-pod2:
63     #     slave-label: '{pod}'
64     #     installer: joid
65     #     auto-trigger-name: 'daily-trigger-disabled'
66     #     <<: *euphrates
67     # - orange-pod2:
68     #     slave-label: '{pod}'
69     #     installer: joid
70     #     auto-trigger-name: 'daily-trigger-disabled'
71     #     <<: *master
72     # -------------------------------------------
73     suite:
74       - 'posca_stress_traffic'
75       - 'posca_stress_ping'
76       - 'posca_factor_multistack_storage'
77       - 'posca_factor_multistack_storage_parallel'
78       - 'posca_feature_moon_resources'
79       - 'posca_feature_moon_tenants'
80       - 'posca_feature_vnf_scale_out'
81
82     jobs:
83       - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
84
85 ################################
86 # job templates
87 ################################
88 - job-template:
89     name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
90
91     wrappers:
92       - build-name:
93           name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
94       - timeout:
95           timeout: 180
96           abort: true
97       - fix-workspace-permissions
98
99     triggers:
100       - '{auto-trigger-name}'
101
102     parameters:
103       - project-parameter:
104           project: '{project}'
105           branch: '{branch}'
106       - '{slave-label}-defaults'
107       - '{installer}-defaults'
108       - 'bottlenecks-params-{slave-label}'
109       - string:
110           name: REPO_DIR
111           default: "/home/opnfv/bottlenecks"
112           description: "Directory where the repository is cloned"
113       - string:
114           name: DEPLOY_SCENARIO
115           default: 'os-odl_l2-nofeature-ha'
116       - string:
117           name: GERRIT_REFSPEC_DEBUG
118           default: 'true'
119           description: "Gerrit refspec for debug."
120       - string:
121           name: SUITE_NAME
122           default: '{suite}'
123           description: "test suite name."
124       - string:
125           name: DOCKER_TAG
126           default: '{docker-tag}'
127           description: "docker image tag used for version control"
128
129     scm:
130       - git-scm
131
132     builders:
133       - 'bottlenecks-env-cleanup'
134       - 'bottlenecks-run-suite'
135       - 'bottlenecks-workspace-cleanup'
136
137     publishers:
138       - email:
139           recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com
140       - email-jenkins-admins-on-failure
141
142 ########################
143 # builder macros
144 ########################
145 - builder:
146     name: bottlenecks-env-cleanup
147     builders:
148       - shell:
149           !include-raw: ./bottlenecks-cleanup.sh
150
151 - builder:
152     name: bottlenecks-run-suite
153     builders:
154       - shell:
155           !include-raw: ./bottlenecks-run-suite.sh
156
157 - builder:
158     name: bottlenecks-workspace-cleanup
159     builders:
160       - shell: |
161           #!/bin/bash
162           set -o errexit
163           set -o nounset
164           set -o pipefail
165
166           # delete everything that is in $WORKSPACE
167           sudo rm -rf $WORKSPACE
168
169 ####################
170 # parameter macros
171 ####################
172
173 - parameter:
174     name: 'bottlenecks-params-compass-baremetal-master'
175     parameters:
176       - string:
177           name: BOTTLENECKS_DB_TARGET
178           default: 'http://testresults.opnfv.org/test/api/v1/results'
179           description: 'Arguments to use in order to choose the backend DB'
180
181 - parameter:
182     name: 'bottlenecks-params-compass-virtual-master'
183     parameters:
184       - string:
185           name: BOTTLENECKS_DB_TARGET
186           default: 'http://testresults.opnfv.org/test/api/v1/results'
187           description: 'Arguments to use in order to choose the backend DB'
188
189 - parameter:
190     name: 'bottlenecks-params-compass-baremetal-branch'
191     parameters:
192       - string:
193           name: BOTTLENECKS_DB_TARGET
194           default: 'http://testresults.opnfv.org/test/api/v1/results'
195           description: 'Arguments to use in order to choose the backend DB'
196
197 - parameter:
198     name: 'bottlenecks-params-compass-virtual-branch'
199     parameters:
200       - string:
201           name: BOTTLENECKS_DB_TARGET
202           default: 'http://testresults.opnfv.org/test/api/v1/results'
203           description: 'Arguments to use in order to choose the backend DB'