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