Auto: Daily job definition
[releng.git] / jjb / storperf / storperf-daily-jobs.yaml
1 ---
2 ###################################
3 # job configuration for storperf
4 ###################################
5 - project:
6     name: storperf-daily
7
8     project: storperf
9
10     # -------------------------------
11     # BRANCH ANCHORS
12     # -------------------------------
13     master: &master
14       stream: master
15       branch: '{stream}'
16       gs-pathname: ''
17       docker-tag: 'latest'
18     gambia: &gambia
19       stream: gambia
20       branch: 'stable/{stream}'
21       gs-pathname: '/{stream}'
22       disabled: false
23       docker-tag: 'stable'
24     # -------------------------------
25     # POD, INSTALLER, AND BRANCH MAPPING
26     # -------------------------------
27     #    Installers using labels
28     #            CI PODs
29     # This section should only contain the installers
30     # that have been switched using labels for slaves
31     # -------------------------------
32     pod:
33       # # fuel CI PODs
34       # - baremetal:
35       #     slave-label: fuel-baremetal
36       #     installer: fuel
37       #     <<: *master
38       # - virtual:
39       #     slave-label: fuel-virtual
40       #     installer: fuel
41       #     <<: *master
42       # # joid CI PODs
43       # - baremetal:
44       #     slave-label: joid-baremetal
45       #     installer: joid
46       #     <<: *master
47       # - virtual:
48       #     slave-label: joid-virtual
49       #     installer: joid
50       #     <<: *master
51       # # compass CI PODs
52       # - baremetal:
53       #     slave-label: compass-baremetal
54       #     installer: compass
55       #     <<: *master
56       # - virtual:
57       #     slave-label: compass-virtual
58       #     installer: compass
59       #     <<: *master
60       # # apex CI PODs
61       # - virtual:
62       #     slave-label: apex-virtual-master
63       #     installer: apex
64       #     <<: *master
65       - baremetal:
66           slave-label: apex-baremetal-master
67           installer: apex
68           <<: *master
69       - baremetal:
70           slave-label: apex-baremetal-master
71           installer: apex
72           <<: *gambia
73     ## armband CI PODs
74     # - armband-baremetal:
75     #     slave-label: armband-baremetal
76     #     installer: fuel
77     #     <<: *master
78     # - armband-virtual:
79     #     slave-label: armband-virtual
80     #     installer: fuel
81     #     <<: *master
82     ## daisy CI PODs
83     # - baremetal:
84     #     slave-label: daisy-baremetal
85     #     installer: daisy
86     #     <<: *master
87     # - virtual:
88     #     slave-label: daisy-virtual
89     #     installer: daisy
90     #     <<: *master
91
92     jobs:
93       - 'storperf-{installer}-{pod}-daily-{stream}'
94
95 ################################
96 # job template
97 ################################
98 - job-template:
99     name: 'storperf-{installer}-{pod}-daily-{stream}'
100
101     concurrent: true
102
103     properties:
104       - logrotate-default
105       - throttle:
106           enabled: true
107           max-per-node: 1
108           option: 'project'
109
110     wrappers:
111       - build-name:
112           name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
113       - timeout:
114           timeout: '45'
115           abort: true
116       - fix-workspace-permissions
117
118     parameters:
119       - project-parameter:
120           project: '{project}'
121           branch: '{branch}'
122       - '{installer}-defaults'
123       - '{slave-label}-defaults'
124       - string:
125           name: DEPLOY_SCENARIO
126           default: 'os-odl_l2-nofeature-ha'
127       - string:
128           name: DOCKER_TAG
129           default: '{docker-tag}'
130           description: 'Tag to pull docker image'
131       - string:
132           name: CLEAN_DOCKER_IMAGES
133           default: 'false'
134           description: 'Remove downloaded docker images (opnfv/storperf*:*)'
135       - string:
136           name: GS_PATHNAME
137           default: '{gs-pathname}'
138           description: "Version directory where the opnfv documents will be stored in gs repository"
139       - string:
140           name: DISK_TYPE
141           default: 'HDD'
142           description: 'The type of hard disk that Cinder uses'
143       - string:
144           name: VOLUME_SIZE
145           default: '2'
146           description: 'Size of Cinder volume (in GB)'
147       - string:
148           name: WORKLOADS
149           default: 'rw'
150           description: 'Workloads to run'
151       - string:
152           name: BLOCK_SIZES
153           default: '16384'
154           description: 'Block sizes for VM I/O operations'
155       - string:
156           name: QUEUE_DEPTHS
157           default: '4'
158           description: 'Number of simultaneous I/O operations to keep active'
159       - string:
160           name: STEADY_STATE_SAMPLES
161           default: '10'
162           description: 'Number of samples to use (1 per minute) to measure steady state'
163       - string:
164           name: TEST_CASE
165           choices:
166             - 'snia_steady_state'
167           description: 'The test case to run'
168
169     scm:
170       - git-scm
171
172     builders:
173       - description-setter:
174           description: "Built on $NODE_NAME"
175       - 'storperf-daily-builder'
176
177 ########################
178 # builder macros
179 ########################
180 - builder:
181     name: storperf-daily-builder
182     builders:
183       - shell: |
184           #!/bin/bash
185
186           cd $WORKSPACE
187           ./ci/daily.sh