ls on empty pool never containing images
========================================
+ $ ceph osd pool create rbd_other 8
+ pool 'rbd_other' created
$ rados -p rbd rm rbd_directory >/dev/null 2>&1 || true
$ rbd ls
$ rbd ls --format json
clone
=====
$ rbd snap protect bar@snap
- $ rbd clone bar@snap data/child
- $ rbd snap create data/child@snap
- $ rbd flatten data/child 2> /dev/null
+ $ rbd clone bar@snap rbd_other/child
+ $ rbd snap create rbd_other/child@snap
+ $ rbd flatten rbd_other/child 2> /dev/null
lock
====
===============
$ rbd children foo@snap
$ rbd children bar@snap
- data/child
+ rbd_other/child
$ rbd children bar@snap2
TODO: figure out why .* does not match the block_name_prefix line in rbd info.
For now, use a more inclusive regex.
<block_name_prefix>rb.0.*</block_name_prefix> (glob)
<format>1</format>
</image>
- $ rbd info data/child
+ $ rbd info rbd_other/child
rbd image 'child':
\tsize 512 MB in 128 objects (esc)
\torder 22 (4096 kB objects) (esc)
[^^]+ (re)
\tformat: 2 (esc)
\tfeatures: layering (esc)
- $ rbd info data/child --format json | python -mjson.tool
+ $ rbd info rbd_other/child --format json | python -mjson.tool
{
"block_name_prefix": "rbd_data.*", (glob)
"features": [
"order": 22,
"size": 536870912
}
- $ rbd info data/child --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
+ $ rbd info rbd_other/child --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
<image>
<name>child</name>
<size>536870912</size>
<feature>striping</feature>
</features>
</image>
- $ rbd info data/child@snap
+ $ rbd info rbd_other/child@snap
rbd image 'child':
\tsize 512 MB in 128 objects (esc)
\torder 22 (4096 kB objects) (esc)
\tprotected: False (esc)
\tparent: rbd/bar@snap (esc)
\toverlap: 512 MB (esc)
- $ rbd info data/child@snap --format json | python -mjson.tool
+ $ rbd info rbd_other/child@snap --format json | python -mjson.tool
{
"block_name_prefix": "rbd_data.*", (glob)
"features": [
"protected": "false",
"size": 536870912
}
- $ rbd info data/child@snap --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
+ $ rbd info rbd_other/child@snap --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
<image>
<name>child</name>
<size>536870912</size>
<lock_type>shared</lock_type>
</image>
</images>
- $ rbd list data
+ $ rbd list rbd_other
child
- $ rbd list data --format json | python -mjson.tool
+ $ rbd list rbd_other --format json | python -mjson.tool
[
"child"
]
- $ rbd list data --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
+ $ rbd list rbd_other --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
<images>
<name>child</name>
</images>
- $ rbd list data -l
+ $ rbd list rbd_other -l
NAME SIZE PARENT FMT PROT LOCK
child 512M 2
child@snap 512M rbd/bar@snap 2
- $ rbd list data -l --format json | python -mjson.tool
+ $ rbd list rbd_other -l --format json | python -mjson.tool
[
{
"format": 2,
"snapshot": "snap"
}
]
- $ rbd list data -l --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
+ $ rbd list rbd_other -l --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
<images>
<image>
<image>child</image>
[]
$ rbd snap list baz --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
<snapshots></snapshots>
- $ rbd snap list data/child
+ $ rbd snap list rbd_other/child
SNAPID NAME SIZE
*snap*512*MB* (glob)
- $ rbd snap list data/child --format json | python -mjson.tool
+ $ rbd snap list rbd_other/child --format json | python -mjson.tool
[
{
"id": *, (glob)
"size": 536870912
}
]
- $ rbd snap list data/child --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
+ $ rbd snap list rbd_other/child --format xml | xml_pp 2>&1 | grep -v '^new version at /usr/bin/xml_pp'
<snapshots>
<snapshot>
<id>*</id> (glob)
</snapshots>
# cleanup
- $ rbd snap remove data/child@snap
+ $ rbd snap remove rbd_other/child@snap
$ rbd snap unprotect bar@snap
$ rbd snap purge bar 2> /dev/null
$ rbd snap purge foo 2> /dev/null
- $ rbd rm data/child 2> /dev/null
+ $ rbd rm rbd_other/child 2> /dev/null
$ rbd rm foo 2> /dev/null
$ rbd rm bar 2> /dev/null
$ rbd rm quux 2> /dev/null
$ rbd rm baz 2> /dev/null
+ $ ceph osd pool delete rbd_other rbd_other --yes-i-really-really-mean-it
+ pool 'rbd_other' removed