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