blob: a8c800bfadabf65f74466b0c6191cfb2667d85a8 [file] [log] [blame]
Kevin Wolf1c4e7b62018-12-06 16:07:34 +01001=== Successful image creation (defaults) ===
2
Max Reitz8a57a4b2019-02-10 15:57:36 +01003{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filename": "TEST_DIR/PID-t.vmdk", "size": 0}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +01004{"return": {}}
5{"execute": "job-dismiss", "arguments": {"id": "job0"}}
6{"return": {}}
7
Max Reitz8a57a4b2019-02-10 15:57:36 +01008{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-t.vmdk", "node-name": "imgfile"}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +01009{"return": {}}
Max Reitz8a57a4b2019-02-10 15:57:36 +010010{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "file": "imgfile", "size": 5368709120}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010011{"return": {}}
12{"execute": "job-dismiss", "arguments": {"id": "job0"}}
13{"return": {}}
14
15image: TEST_IMG
16file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -050017virtual size: 5 GiB (5368709120 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010018cluster_size: 65536
19Format specific information:
20 cid: XXXXXXXXXX
21 parent cid: XXXXXXXXXX
22 create type: monolithicSparse
23 extents:
24 [0]:
25 virtual size: 5368709120
26 filename: TEST_IMG
27 cluster size: 65536
28 format:
29
30=== Successful image creation (inline blockdev-add, explicit defaults) ===
31
Max Reitz8a57a4b2019-02-10 15:57:36 +010032{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filename": "TEST_DIR/PID-t.vmdk", "size": 0}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010033{"return": {}}
34{"execute": "job-dismiss", "arguments": {"id": "job0"}}
35{"return": {}}
36
Max Reitz8a57a4b2019-02-10 15:57:36 +010037{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "ide", "driver": "vmdk", "extents": [], "file": {"driver": "file", "filename": "TEST_DIR/PID-t.vmdk"}, "hwversion": "4", "size": 67108864, "subformat": "monolithicSparse", "zeroed-grain": false}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010038{"return": {}}
39{"execute": "job-dismiss", "arguments": {"id": "job0"}}
40{"return": {}}
41
42image: TEST_IMG
43file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -050044virtual size: 64 MiB (67108864 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010045cluster_size: 65536
46Format specific information:
47 cid: XXXXXXXXXX
48 parent cid: XXXXXXXXXX
49 create type: monolithicSparse
50 extents:
51 [0]:
52 virtual size: 67108864
53 filename: TEST_IMG
54 cluster size: 65536
55 format:
56
57=== Successful image creation (with non-default options) ===
58
Max Reitz8a57a4b2019-02-10 15:57:36 +010059{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filename": "TEST_DIR/PID-t.vmdk", "size": 0}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010060{"return": {}}
61{"execute": "job-dismiss", "arguments": {"id": "job0"}}
62{"return": {}}
63
Max Reitz8a57a4b2019-02-10 15:57:36 +010064{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "buslogic", "driver": "vmdk", "extents": [], "file": {"driver": "file", "filename": "TEST_DIR/PID-t.vmdk"}, "size": 33554432, "subformat": "monolithicSparse", "zeroed-grain": true}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010065{"return": {}}
66{"execute": "job-dismiss", "arguments": {"id": "job0"}}
67{"return": {}}
68
69image: TEST_IMG
70file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -050071virtual size: 32 MiB (33554432 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010072cluster_size: 65536
73Format specific information:
74 cid: XXXXXXXXXX
75 parent cid: XXXXXXXXXX
76 create type: monolithicSparse
77 extents:
78 [0]:
79 virtual size: 33554432
80 filename: TEST_IMG
81 cluster size: 65536
82 format:
83
84=== Invalid BlockdevRef ===
85
Max Reitz8a57a4b2019-02-10 15:57:36 +010086{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "file": "this doesn't exist", "size": 33554432}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010087{"return": {}}
88Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
89{"execute": "job-dismiss", "arguments": {"id": "job0"}}
90{"return": {}}
91
92=== Adapter types ===
93
94== Valid adapter types ==
95
Max Reitz8a57a4b2019-02-10 15:57:36 +010096{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "ide", "driver": "vmdk", "file": "node0", "size": 33554432}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +010097{"return": {}}
98{"execute": "job-dismiss", "arguments": {"id": "job0"}}
99{"return": {}}
100
Max Reitz8a57a4b2019-02-10 15:57:36 +0100101{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "buslogic", "driver": "vmdk", "file": "node0", "size": 33554432}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100102{"return": {}}
103{"execute": "job-dismiss", "arguments": {"id": "job0"}}
104{"return": {}}
105
Max Reitz8a57a4b2019-02-10 15:57:36 +0100106{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "lsilogic", "driver": "vmdk", "file": "node0", "size": 33554432}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100107{"return": {}}
108{"execute": "job-dismiss", "arguments": {"id": "job0"}}
109{"return": {}}
110
Max Reitz8a57a4b2019-02-10 15:57:36 +0100111{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "legacyESX", "driver": "vmdk", "file": "node0", "size": 33554432}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100112{"return": {}}
113{"execute": "job-dismiss", "arguments": {"id": "job0"}}
114{"return": {}}
115
116== Invalid adapter types ==
117
Max Reitz8a57a4b2019-02-10 15:57:36 +0100118{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "foo", "driver": "vmdk", "file": "node0", "size": 33554432}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100119{"error": {"class": "GenericError", "desc": "Invalid parameter 'foo'"}}
120
Max Reitz8a57a4b2019-02-10 15:57:36 +0100121{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "IDE", "driver": "vmdk", "file": "node0", "size": 33554432}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100122{"error": {"class": "GenericError", "desc": "Invalid parameter 'IDE'"}}
123
Max Reitz8a57a4b2019-02-10 15:57:36 +0100124{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": "legacyesx", "driver": "vmdk", "file": "node0", "size": 33554432}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100125{"error": {"class": "GenericError", "desc": "Invalid parameter 'legacyesx'"}}
126
Max Reitz8a57a4b2019-02-10 15:57:36 +0100127{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"adapter-type": 1, "driver": "vmdk", "file": "node0", "size": 33554432}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100128{"error": {"class": "GenericError", "desc": "Invalid parameter type for 'options.adapter-type', expected: string"}}
129
130=== Other subformats ===
131
132Formatting 'TEST_DIR/PID-t.vmdk.1', fmt=vmdk size=0 compat6=off hwversion=undefined
133
134Formatting 'TEST_DIR/PID-t.vmdk.2', fmt=vmdk size=0 compat6=off hwversion=undefined
135
136Formatting 'TEST_DIR/PID-t.vmdk.3', fmt=vmdk size=0 compat6=off hwversion=undefined
137
138== Missing extent ==
139
Max Reitz8a57a4b2019-02-10 15:57:36 +0100140{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "file": "node0", "size": 33554432, "subformat": "monolithicFlat"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100141{"return": {}}
142Job failed: Extent [0] not specified
143{"execute": "job-dismiss", "arguments": {"id": "job0"}}
144{"return": {}}
145
146== Correct extent ==
147
Max Reitz8a57a4b2019-02-10 15:57:36 +0100148{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1"], "file": "node0", "size": 33554432, "subformat": "monolithicFlat"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100149{"return": {}}
150{"execute": "job-dismiss", "arguments": {"id": "job0"}}
151{"return": {}}
152
153== Extra extent ==
154
Max Reitz8a57a4b2019-02-10 15:57:36 +0100155{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1", "ext2", "ext3"], "file": "node0", "size": 512, "subformat": "monolithicFlat"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100156{"return": {}}
Kevin Wolf4a960ec2018-12-07 12:42:19 +0100157Job failed: List of extents contains unused extents
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100158{"execute": "job-dismiss", "arguments": {"id": "job0"}}
159{"return": {}}
160
161== Split formats ==
162
163= twoGbMaxExtentFlat 512 =
164
Max Reitz8a57a4b2019-02-10 15:57:36 +0100165{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1"], "file": "node0", "size": 512, "subformat": "twoGbMaxExtentFlat"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100166{"return": {}}
167{"execute": "job-dismiss", "arguments": {"id": "job0"}}
168{"return": {}}
169
170image: TEST_IMG
171file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -0500172virtual size: 512 B (512 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100173Format specific information:
174 cid: XXXXXXXXXX
175 parent cid: XXXXXXXXXX
176 create type: twoGbMaxExtentFlat
177 extents:
178 [0]:
179 virtual size: 512
180 filename: TEST_IMG.1
181 format: FLAT
182
183= twoGbMaxExtentSparse 512 =
184
Max Reitz8a57a4b2019-02-10 15:57:36 +0100185{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1"], "file": "node0", "size": 512, "subformat": "twoGbMaxExtentSparse"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100186{"return": {}}
187{"execute": "job-dismiss", "arguments": {"id": "job0"}}
188{"return": {}}
189
190image: TEST_IMG
191file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -0500192virtual size: 512 B (512 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100193cluster_size: 65536
194Format specific information:
195 cid: XXXXXXXXXX
196 parent cid: XXXXXXXXXX
197 create type: twoGbMaxExtentSparse
198 extents:
199 [0]:
200 virtual size: 512
201 filename: TEST_IMG.1
202 cluster size: 65536
203 format: SPARSE
204
205= twoGbMaxExtentFlat 1073741824 =
206
Max Reitz8a57a4b2019-02-10 15:57:36 +0100207{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1"], "file": "node0", "size": 1073741824, "subformat": "twoGbMaxExtentFlat"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100208{"return": {}}
209{"execute": "job-dismiss", "arguments": {"id": "job0"}}
210{"return": {}}
211
212image: TEST_IMG
213file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -0500214virtual size: 1 GiB (1073741824 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100215Format specific information:
216 cid: XXXXXXXXXX
217 parent cid: XXXXXXXXXX
218 create type: twoGbMaxExtentFlat
219 extents:
220 [0]:
221 virtual size: 1073741824
222 filename: TEST_IMG.1
223 format: FLAT
224
225= twoGbMaxExtentSparse 1073741824 =
226
Max Reitz8a57a4b2019-02-10 15:57:36 +0100227{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1"], "file": "node0", "size": 1073741824, "subformat": "twoGbMaxExtentSparse"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100228{"return": {}}
229{"execute": "job-dismiss", "arguments": {"id": "job0"}}
230{"return": {}}
231
232image: TEST_IMG
233file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -0500234virtual size: 1 GiB (1073741824 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100235cluster_size: 65536
236Format specific information:
237 cid: XXXXXXXXXX
238 parent cid: XXXXXXXXXX
239 create type: twoGbMaxExtentSparse
240 extents:
241 [0]:
242 virtual size: 1073741824
243 filename: TEST_IMG.1
244 cluster size: 65536
245 format: SPARSE
246
247= twoGbMaxExtentFlat 2147483648 =
248
Max Reitz8a57a4b2019-02-10 15:57:36 +0100249{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1"], "file": "node0", "size": 2147483648, "subformat": "twoGbMaxExtentFlat"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100250{"return": {}}
251{"execute": "job-dismiss", "arguments": {"id": "job0"}}
252{"return": {}}
253
254image: TEST_IMG
255file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -0500256virtual size: 2 GiB (2147483648 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100257Format specific information:
258 cid: XXXXXXXXXX
259 parent cid: XXXXXXXXXX
260 create type: twoGbMaxExtentFlat
261 extents:
262 [0]:
263 virtual size: 2147483648
264 filename: TEST_IMG.1
265 format: FLAT
266
267= twoGbMaxExtentSparse 2147483648 =
268
Max Reitz8a57a4b2019-02-10 15:57:36 +0100269{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1"], "file": "node0", "size": 2147483648, "subformat": "twoGbMaxExtentSparse"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100270{"return": {}}
271{"execute": "job-dismiss", "arguments": {"id": "job0"}}
272{"return": {}}
273
274image: TEST_IMG
275file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -0500276virtual size: 2 GiB (2147483648 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100277cluster_size: 65536
278Format specific information:
279 cid: XXXXXXXXXX
280 parent cid: XXXXXXXXXX
281 create type: twoGbMaxExtentSparse
282 extents:
283 [0]:
284 virtual size: 2147483648
285 filename: TEST_IMG.1
286 cluster size: 65536
287 format: SPARSE
288
289= twoGbMaxExtentFlat 5368709120 =
290
Max Reitz8a57a4b2019-02-10 15:57:36 +0100291{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1", "ext2", "ext3"], "file": "node0", "size": 5368709120, "subformat": "twoGbMaxExtentFlat"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100292{"return": {}}
293{"execute": "job-dismiss", "arguments": {"id": "job0"}}
294{"return": {}}
295
296image: TEST_IMG
297file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -0500298virtual size: 5 GiB (5368709120 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100299Format specific information:
300 cid: XXXXXXXXXX
301 parent cid: XXXXXXXXXX
302 create type: twoGbMaxExtentFlat
303 extents:
304 [0]:
305 virtual size: 2147483648
306 filename: TEST_IMG.1
307 format: FLAT
308 [1]:
309 virtual size: 2147483648
310 filename: TEST_IMG.2
311 format: FLAT
312 [2]:
313 virtual size: 1073741824
314 filename: TEST_IMG.3
315 format: FLAT
316
317= twoGbMaxExtentSparse 5368709120 =
318
Max Reitz8a57a4b2019-02-10 15:57:36 +0100319{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "vmdk", "extents": ["ext1", "ext2", "ext3"], "file": "node0", "size": 5368709120, "subformat": "twoGbMaxExtentSparse"}}}
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100320{"return": {}}
321{"execute": "job-dismiss", "arguments": {"id": "job0"}}
322{"return": {}}
323
324image: TEST_IMG
325file format: IMGFMT
Eric Blakede38b502019-04-17 12:11:01 -0500326virtual size: 5 GiB (5368709120 bytes)
Kevin Wolf1c4e7b62018-12-06 16:07:34 +0100327cluster_size: 65536
328Format specific information:
329 cid: XXXXXXXXXX
330 parent cid: XXXXXXXXXX
331 create type: twoGbMaxExtentSparse
332 extents:
333 [0]:
334 virtual size: 2147483648
335 filename: TEST_IMG.1
336 cluster size: 65536
337 format: SPARSE
338 [1]:
339 virtual size: 2147483648
340 filename: TEST_IMG.2
341 cluster size: 65536
342 format: SPARSE
343 [2]:
344 virtual size: 1073741824
345 filename: TEST_IMG.3
346 cluster size: 65536
347 format: SPARSE
348