6 trap cleanup EXIT ERR HUP INT QUIT
9 (ceph auth del client.mon_read || true
) >/dev
/null
2>&1
10 (ceph auth del client.mon_write || true
) >/dev
/null
2>&1
18 if "$@"; then return 1; else return 0; fi
25 cat << EOF | CEPH_KEYRING="$KEYRING" python
28 cluster = rados.Rados(conffile="", rados_id="${ID}")
30 cluster.create_pool("${POOL}")
38 cat << EOF | CEPH_KEYRING="$KEYRING" python
41 cluster = rados.Rados(conffile="", rados_id="${ID}")
43 cluster.delete_pool("${POOL}")
47 create_pool_snap_op
() {
52 cat << EOF | CEPH_KEYRING="$KEYRING" python
55 cluster = rados.Rados(conffile="", rados_id="${ID}")
57 ioctx = cluster.open_ioctx("${POOL}")
59 ioctx.create_snap("${SNAP}")
63 remove_pool_snap_op
() {
68 cat << EOF | CEPH_KEYRING="$KEYRING" python
71 cluster = rados.Rados(conffile="", rados_id="${ID}")
73 ioctx = cluster.open_ioctx("${POOL}")
75 ioctx.remove_snap("${SNAP}")
81 ceph auth get-or-create client.mon_read mon
'allow r' >> $KEYRING
82 ceph auth get-or-create client.mon_write mon
'allow *' >> $KEYRING
84 expect_false create_pool_op mon_read pool1
85 create_pool_op mon_write pool1
87 expect_false create_pool_snap_op mon_read pool1 snap1
88 create_pool_snap_op mon_write pool1 snap1
90 expect_false remove_pool_snap_op mon_read pool1 snap1
91 remove_pool_snap_op mon_write pool1 snap1
93 expect_false delete_pool_op mon_read pool1
94 delete_pool_op mon_write pool1
97 key
=`ceph auth get-or-create-key client.poolaccess1 mon 'allow r' osd 'allow *'`
98 rados
--id poolaccess1
--key $key -p rbd
ls
100 key
=`ceph auth get-or-create-key client.poolaccess2 mon 'allow r' osd 'allow * pool=nopool'`
101 expect_false rados
--id poolaccess2
--key $key -p rbd
ls
103 key
=`ceph auth get-or-create-key client.poolaccess3 mon 'allow r' osd 'allow rw pool=nopool'`
104 expect_false rados
--id poolaccess3
--key $key -p rbd
ls