]> git.proxmox.com Git - ceph.git/blame - ceph/src/test/cli-integration/rbd/unmap.t
bump version to 12.1.4-pve1
[ceph.git] / ceph / src / test / cli-integration / rbd / unmap.t
CommitLineData
7c673cae
FG
1
2Setup
3=====
4
5 $ rbd create --size 1 img
6 $ rbd snap create img@snap
7 $ rbd create --size 1 anotherimg
8 $ ceph osd pool create custom 8 >/dev/null 2>&1
9 $ rbd create --size 1 custom/img
10 $ rbd snap create custom/img@snap
11 $ rbd snap create custom/img@anothersnap
12
13Spell out device instead of using $DEV - sfdisk is not a joke.
14
15 $ DEV=$(sudo rbd map img)
16 $ cat <<EOF | sudo sfdisk /dev/rbd[01] >/dev/null 2>&1
17 > unit: sectors
18 > /dev/rbd0p1 : start= 2, size= 2, Id=83
19 > /dev/rbd0p2 : start= 5, size= 2043, Id= 5
20 > /dev/rbd0p3 : start= 0, size= 0, Id= 0
21 > /dev/rbd0p4 : start= 0, size= 0, Id= 0
22 > /dev/rbd0p5 : start= 7, size= 2, Id=83
23 > EOF
24
25
26Unmap by device
27===============
28
29Unmap by device (img is already mapped):
30
31 $ rbd showmapped
32 id pool image snap device
33 ? rbd img - /dev/rbd? (glob)
34 $ sudo rbd unmap $DEV
35 $ rbd showmapped
36
37Unmap by device partition:
38
39 $ DEV=$(sudo rbd map img)
40 $ rbd showmapped
41 id pool image snap device
42 ? rbd img - /dev/rbd? (glob)
43 $ sudo rbd unmap ${DEV}p1
44 $ rbd showmapped
45
46 $ DEV=$(sudo rbd map img)
47 $ rbd showmapped
48 id pool image snap device
49 ? rbd img - /dev/rbd? (glob)
50 $ sudo rbd unmap ${DEV}p5
51 $ rbd showmapped
52
53Not a block device - random junk prefixed with /dev/ (so it's not
54interpreted as a spec):
55
56 $ sudo rbd unmap /dev/foobar
57 rbd: '/dev/foobar' is not a block device
58 rbd: unmap failed: (22) Invalid argument
59 [22]
60
61Not a block device - device that's just been unmapped:
62
63 $ DEV=$(sudo rbd map img)
64 $ sudo rbd unmap $DEV
65 $ sudo rbd unmap $DEV
66 rbd: '/dev/rbd?' is not a block device (glob)
67 rbd: unmap failed: (22) Invalid argument
68 [22]
69
70A block device, but not rbd:
71
72 $ sudo rbd unmap /dev/[sv]da
73 rbd: '/dev/?da' is not an rbd device (glob)
74 rbd: unmap failed: (22) Invalid argument
75 [22]
76
77
78Unmap by spec
79=============
80
81img:
82
83 $ sudo rbd map img
84 /dev/rbd? (glob)
85 $ rbd showmapped
86 id pool image snap device
87 ? rbd img - /dev/rbd? (glob)
88 $ sudo rbd unmap img
89 $ rbd showmapped
90
91 $ sudo rbd map img
92 /dev/rbd? (glob)
93 $ rbd showmapped
94 id pool image snap device
95 ? rbd img - /dev/rbd? (glob)
96 $ sudo rbd --image img unmap
97 $ rbd showmapped
98
99img@snap:
100
101 $ sudo rbd map img@snap
102 /dev/rbd? (glob)
103 $ rbd showmapped
104 id pool image snap device
105 ? rbd img snap /dev/rbd? (glob)
106 $ sudo rbd unmap img@snap
107 $ rbd showmapped
108
109 $ sudo rbd map img@snap
110 /dev/rbd? (glob)
111 $ rbd showmapped
112 id pool image snap device
113 ? rbd img snap /dev/rbd? (glob)
114 $ sudo rbd --snap snap unmap img
115 $ rbd showmapped
116
117 $ sudo rbd map img@snap
118 /dev/rbd? (glob)
119 $ rbd showmapped
120 id pool image snap device
121 ? rbd img snap /dev/rbd? (glob)
122 $ sudo rbd --image img --snap snap unmap
123 $ rbd showmapped
124
125pool/img@snap, default pool:
126
127 $ sudo rbd map rbd/img@snap
128 /dev/rbd? (glob)
129 $ rbd showmapped
130 id pool image snap device
131 ? rbd img snap /dev/rbd? (glob)
132 $ sudo rbd unmap rbd/img@snap
133 $ rbd showmapped
134
135 $ sudo rbd map rbd/img@snap
136 /dev/rbd? (glob)
137 $ rbd showmapped
138 id pool image snap device
139 ? rbd img snap /dev/rbd? (glob)
140 $ sudo rbd --pool rbd unmap img@snap
141 $ rbd showmapped
142
143 $ sudo rbd map rbd/img@snap
144 /dev/rbd? (glob)
145 $ rbd showmapped
146 id pool image snap device
147 ? rbd img snap /dev/rbd? (glob)
148 $ sudo rbd --pool rbd --snap snap unmap img
149 $ rbd showmapped
150
151 $ sudo rbd map rbd/img@snap
152 /dev/rbd? (glob)
153 $ rbd showmapped
154 id pool image snap device
155 ? rbd img snap /dev/rbd? (glob)
156 $ sudo rbd --pool rbd --image img --snap snap unmap
157 $ rbd showmapped
158
159pool/img@snap, custom pool:
160
161 $ sudo rbd map custom/img@snap
162 /dev/rbd? (glob)
163 $ rbd showmapped
164 id pool image snap device
165 ? custom img snap /dev/rbd? (glob)
166 $ sudo rbd unmap custom/img@snap
167 $ rbd showmapped
168
169 $ sudo rbd map custom/img@snap
170 /dev/rbd? (glob)
171 $ rbd showmapped
172 id pool image snap device
173 ? custom img snap /dev/rbd? (glob)
174 $ sudo rbd --pool custom unmap img@snap
175 $ rbd showmapped
176
177 $ sudo rbd map custom/img@snap
178 /dev/rbd? (glob)
179 $ rbd showmapped
180 id pool image snap device
181 ? custom img snap /dev/rbd? (glob)
182 $ sudo rbd --pool custom --snap snap unmap img
183 $ rbd showmapped
184
185 $ sudo rbd map custom/img@snap
186 /dev/rbd? (glob)
187 $ rbd showmapped
188 id pool image snap device
189 ? custom img snap /dev/rbd? (glob)
190 $ sudo rbd --pool custom --image img --snap snap unmap
191 $ rbd showmapped
192
193Not a mapped spec - random junk (which gets interpreted as a spec):
194
195 $ sudo rbd unmap foobar
196 rbd: rbd/foobar@-: not a mapped image or snapshot
197 rbd: unmap failed: (22) Invalid argument
198 [22]
199
200 $ sudo rbd --image foobar unmap
201 rbd: rbd/foobar@-: not a mapped image or snapshot
202 rbd: unmap failed: (22) Invalid argument
203 [22]
204
205Not a mapped spec - spec that's just been unmapped:
206
207 $ sudo rbd map img
208 /dev/rbd? (glob)
209 $ sudo rbd unmap img
210 $ sudo rbd unmap img
211 rbd: rbd/img@-: not a mapped image or snapshot
212 rbd: unmap failed: (22) Invalid argument
213 [22]
214
215 $ sudo rbd map img@snap
216 /dev/rbd? (glob)
217 $ sudo rbd unmap img@snap
218 $ sudo rbd unmap img@snap
219 rbd: rbd/img@snap: not a mapped image or snapshot
220 rbd: unmap failed: (22) Invalid argument
221 [22]
222
223Need an arg:
224
225 $ sudo rbd unmap
226 rbd: unmap requires either image name or device path
227 [22]
228
229
230Two images
231==========
232
233Unmap img first:
234
235 $ sudo rbd map img
236 /dev/rbd? (glob)
237 $ sudo rbd map anotherimg
238 /dev/rbd? (glob)
239 $ rbd showmapped
240 id pool image snap device
241 ? rbd img - /dev/rbd? (glob)
242 ? rbd anotherimg - /dev/rbd? (glob)
243 $ sudo rbd unmap img
244 $ rbd showmapped
245 id pool image snap device
246 ? rbd anotherimg - /dev/rbd? (glob)
247 $ sudo rbd unmap anotherimg
248 $ rbd showmapped
249
250Unmap anotherimg first:
251
252 $ sudo rbd map img
253 /dev/rbd? (glob)
254 $ sudo rbd map anotherimg
255 /dev/rbd? (glob)
256 $ rbd showmapped
257 id pool image snap device
258 ? rbd img - /dev/rbd? (glob)
259 ? rbd anotherimg - /dev/rbd? (glob)
260 $ sudo rbd unmap anotherimg
261 $ rbd showmapped
262 id pool image snap device
263 ? rbd img - /dev/rbd? (glob)
264 $ sudo rbd unmap img
265 $ rbd showmapped
266
267
268Image and its snap
269==================
270
271Unmap the image first:
272
273 $ sudo rbd map img
274 /dev/rbd? (glob)
275 $ sudo rbd map img@snap
276 /dev/rbd? (glob)
277 $ rbd showmapped
278 id pool image snap device
279 ? rbd img - /dev/rbd? (glob)
280 ? rbd img snap /dev/rbd? (glob)
281 $ sudo rbd unmap img
282 $ rbd showmapped
283 id pool image snap device
284 ? rbd img snap /dev/rbd? (glob)
285 $ sudo rbd unmap img@snap
286 $ rbd showmapped
287
288Unmap the snap first:
289
290 $ sudo rbd map img
291 /dev/rbd? (glob)
292 $ sudo rbd map img@snap
293 /dev/rbd? (glob)
294 $ rbd showmapped
295 id pool image snap device
296 ? rbd img - /dev/rbd? (glob)
297 ? rbd img snap /dev/rbd? (glob)
298 $ sudo rbd unmap img@snap
299 $ rbd showmapped
300 id pool image snap device
301 ? rbd img - /dev/rbd? (glob)
302 $ sudo rbd unmap img
303 $ rbd showmapped
304
305
306Two snaps of the same image
307===========================
308
309Unmap snap first:
310
311 $ sudo rbd map custom/img@snap
312 /dev/rbd? (glob)
313 $ sudo rbd map custom/img@anothersnap
314 /dev/rbd? (glob)
315 $ rbd showmapped
316 id pool image snap device
317 ? custom img snap /dev/rbd? (glob)
318 ? custom img anothersnap /dev/rbd? (glob)
319 $ sudo rbd unmap custom/img@snap
320 $ rbd showmapped
321 id pool image snap device
322 ? custom img anothersnap /dev/rbd? (glob)
323 $ sudo rbd unmap custom/img@anothersnap
324 $ rbd showmapped
325
326Unmap anothersnap first:
327
328 $ sudo rbd map custom/img@snap
329 /dev/rbd? (glob)
330 $ sudo rbd map custom/img@anothersnap
331 /dev/rbd? (glob)
332 $ rbd showmapped
333 id pool image snap device
334 ? custom img snap /dev/rbd? (glob)
335 ? custom img anothersnap /dev/rbd? (glob)
336 $ sudo rbd unmap custom/img@anothersnap
337 $ rbd showmapped
338 id pool image snap device
339 ? custom img snap /dev/rbd? (glob)
340 $ sudo rbd unmap custom/img@snap
341 $ rbd showmapped
342
343
344Same img and snap in different pools
345====================================
346
347img:
348
349 $ sudo rbd map img
350 /dev/rbd? (glob)
351 $ sudo rbd map custom/img
352 /dev/rbd? (glob)
353 $ rbd showmapped
354 id pool image snap device
355 ? rbd img - /dev/rbd? (glob)
356 ? custom img - /dev/rbd? (glob)
357 $ sudo rbd unmap img
358 $ rbd showmapped
359 id pool image snap device
360 ? custom img - /dev/rbd? (glob)
361 $ sudo rbd unmap custom/img
362 $ rbd showmapped
363
364img@snap:
365
366 $ sudo rbd map img@snap
367 /dev/rbd? (glob)
368 $ sudo rbd map custom/img@snap
369 /dev/rbd? (glob)
370 $ rbd showmapped
371 id pool image snap device
372 ? rbd img snap /dev/rbd? (glob)
373 ? custom img snap /dev/rbd? (glob)
374 $ sudo rbd unmap custom/img@snap
375 $ rbd showmapped
376 id pool image snap device
377 ? rbd img snap /dev/rbd? (glob)
378 $ sudo rbd unmap img@snap
379 $ rbd showmapped
380
381
382Same spec mapped twice
383======================
384
385img:
386
387 $ sudo rbd map img
388 /dev/rbd? (glob)
389 $ sudo rbd map img
390 /dev/rbd? (glob)
391 $ rbd showmapped
392 id pool image snap device
393 ? rbd img - /dev/rbd? (glob)
394 ? rbd img - /dev/rbd? (glob)
395 $ sudo rbd unmap img
396 rbd: rbd/img@-: mapped more than once, unmapping /dev/rbd? only (glob)
397 $ rbd showmapped
398 id pool image snap device
399 ? rbd img - /dev/rbd? (glob)
400 $ sudo rbd unmap img
401 $ rbd showmapped
402
403img@snap:
404
405 $ sudo rbd map img@snap
406 /dev/rbd? (glob)
407 $ sudo rbd map img@snap
408 /dev/rbd? (glob)
409 $ rbd showmapped
410 id pool image snap device
411 ? rbd img snap /dev/rbd? (glob)
412 ? rbd img snap /dev/rbd? (glob)
413 $ sudo rbd unmap img@snap
414 rbd: rbd/img@snap: mapped more than once, unmapping /dev/rbd? only (glob)
415 $ rbd showmapped
416 id pool image snap device
417 ? rbd img snap /dev/rbd? (glob)
418 $ sudo rbd unmap img@snap
419 $ rbd showmapped
420
421pool/img@snap, default pool:
422
423 $ sudo rbd map rbd/img@snap
424 /dev/rbd? (glob)
425 $ sudo rbd map rbd/img@snap
426 /dev/rbd? (glob)
427 $ rbd showmapped
428 id pool image snap device
429 ? rbd img snap /dev/rbd? (glob)
430 ? rbd img snap /dev/rbd? (glob)
431 $ sudo rbd unmap rbd/img@snap
432 rbd: rbd/img@snap: mapped more than once, unmapping /dev/rbd? only (glob)
433 $ rbd showmapped
434 id pool image snap device
435 ? rbd img snap /dev/rbd? (glob)
436 $ sudo rbd unmap rbd/img@snap
437 $ rbd showmapped
438
439pool/img@snap, custom pool:
440
441 $ sudo rbd map custom/img@snap
442 /dev/rbd? (glob)
443 $ sudo rbd map custom/img@snap
444 /dev/rbd? (glob)
445 $ rbd showmapped
446 id pool image snap device
447 ? custom img snap /dev/rbd? (glob)
448 ? custom img snap /dev/rbd? (glob)
449 $ sudo rbd unmap custom/img@snap
450 rbd: custom/img@snap: mapped more than once, unmapping /dev/rbd? only (glob)
451 $ rbd showmapped
452 id pool image snap device
453 ? custom img snap /dev/rbd? (glob)
454 $ sudo rbd unmap custom/img@snap
455 $ rbd showmapped
456
457
458Teardown
459========
460
461 $ ceph osd pool delete custom custom --yes-i-really-really-mean-it >/dev/null 2>&1
462 $ rbd snap purge anotherimg >/dev/null 2>&1
463 $ rbd rm anotherimg >/dev/null 2>&1
464 $ rbd snap purge img >/dev/null 2>&1
465 $ rbd rm img >/dev/null 2>&1
466