本文整理汇总了Python中rados.Rados.create_pool方法的典型用法代码示例。如果您正苦于以下问题:Python Rados.create_pool方法的具体用法?Python Rados.create_pool怎么用?Python Rados.create_pool使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rados.Rados
的用法示例。
在下文中一共展示了Rados.create_pool方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestObject
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestObject(object):
def setUp(self):
self.rados = Rados(conffile="")
self.rados.connect()
self.rados.create_pool("test_pool")
assert self.rados.pool_exists("test_pool")
self.ioctx = self.rados.open_ioctx("test_pool")
self.ioctx.write("foo", b"bar")
self.object = Object(self.ioctx, "foo")
def tearDown(self):
self.ioctx.close()
self.ioctx = None
self.rados.delete_pool("test_pool")
self.rados.shutdown()
self.rados = None
def test_read(self):
eq(self.object.read(3), b"bar")
eq(self.object.read(100), b"")
def test_seek(self):
self.object.write(b"blah")
self.object.seek(0)
eq(self.object.read(4), b"blah")
self.object.seek(1)
eq(self.object.read(3), b"lah")
def test_write(self):
self.object.write(b"barbaz")
self.object.seek(0)
eq(self.object.read(3), b"bar")
eq(self.object.read(3), b"baz")
示例2: setup_rados
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
def setup_rados(args):
global RADOS
RADOS = Rados(conffile='')
RADOS.connect()
try:
RADOS.create_pool(args.pool)
except ObjectExists:
pass
global IOCTX_CAS
global IOCTX_INDEX
IOCTX_CAS = RADOS.open_ioctx(args.pool)
IOCTX_INDEX = RADOS.open_ioctx(args.pool)
global CAS
global CHUNKER
if "compression" in args:
CAS = cas.CAS(IOCTX_CAS, compression=args.compression)
else:
CAS = cas.CAS(IOCTX_CAS)
if "chunk_size" in args:
CHUNKER = Chunker(CAS, IOCTX_INDEX, chunk_size=args.chunk_size)
else:
CHUNKER = Chunker(CAS, IOCTX_INDEX)
示例3: TestObject
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestObject(object):
def setUp(self):
self.rados = Rados(conffile='')
self.rados.connect()
self.rados.create_pool('test_pool')
assert self.rados.pool_exists('test_pool')
self.ioctx = self.rados.open_ioctx('test_pool')
self.ioctx.write('foo', b'bar')
self.object = Object(self.ioctx, 'foo')
def tearDown(self):
self.ioctx.close()
self.ioctx = None
self.rados.delete_pool('test_pool')
self.rados.shutdown()
self.rados = None
def test_read(self):
eq(self.object.read(3), b'bar')
eq(self.object.read(100), b'')
def test_seek(self):
self.object.write(b'blah')
self.object.seek(0)
eq(self.object.read(4), b'blah')
self.object.seek(1)
eq(self.object.read(3), b'lah')
def test_write(self):
self.object.write(b'barbaz')
self.object.seek(0)
eq(self.object.read(3), b'bar')
eq(self.object.read(3), b'baz')
示例4: setup_module
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
def setup_module():
global rados
rados = Rados(conffile='')
rados.connect()
global POOL_NAME
POOL_NAME = random_id()
rados.create_pool(POOL_NAME)
示例5: setup_module
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
def setup_module():
global rados
rados = Rados(conffile='')
rados.connect()
global pool_name
pool_name = random_id()
rados.create_pool(pool_name)
global ioctx
ioctx = rados.open_ioctx(pool_name)
示例6: setup_module
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
def setup_module():
global rados
rados = Rados(conffile='')
rados.connect()
global pool_name
pool_name = get_temp_pool_name()
rados.create_pool(pool_name)
global ioctx
ioctx = rados.open_ioctx(pool_name)
global features
features = os.getenv("RBD_FEATURES")
features = int(features) if features is not None else 61
示例7: TestIoctx2
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestIoctx2(object):
def setUp(self):
self.rados = Rados(conffile='')
self.rados.connect()
self.rados.create_pool('test_pool')
assert self.rados.pool_exists('test_pool')
pool_id = self.rados.pool_lookup('test_pool')
assert pool_id > 0
self.ioctx2 = self.rados.open_ioctx2(pool_id)
def tearDown(self):
cmd = {"prefix": "osd unset", "key": "noup"}
self.rados.mon_command(json.dumps(cmd), b'')
self.ioctx2.close()
self.rados.delete_pool('test_pool')
self.rados.shutdown()
def test_get_last_version(self):
version = self.ioctx2.get_last_version()
assert version >= 0
def test_get_stats(self):
stats = self.ioctx2.get_stats()
eq(stats, {'num_objects_unfound': 0,
'num_objects_missing_on_primary': 0,
'num_object_clones': 0,
'num_objects': 0,
'num_object_copies': 0,
'num_bytes': 0,
'num_rd_kb': 0,
'num_wr_kb': 0,
'num_kb': 0,
'num_wr': 0,
'num_objects_degraded': 0,
'num_rd': 0})
def test_change_auid(self):
self.ioctx2.change_auid(ANONYMOUS_AUID)
self.ioctx2.change_auid(ADMIN_AUID)
示例8: TestIoCtxSelfManagedSnaps
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestIoCtxSelfManagedSnaps(object):
def setUp(self):
self.rados = Rados(conffile='')
self.rados.connect()
self.rados.create_pool('test_pool')
assert self.rados.pool_exists('test_pool')
self.ioctx = self.rados.open_ioctx('test_pool')
def tearDown(self):
cmd = {"prefix":"osd unset", "key":"noup"}
self.rados.mon_command(json.dumps(cmd), b'')
self.ioctx.close()
self.rados.delete_pool('test_pool')
self.rados.shutdown()
def test(self):
# cannot mix-and-match pool and self-managed snapshot mode
self.ioctx.set_self_managed_snap_write([])
self.ioctx.write('abc', b'abc')
snap_id_1 = self.ioctx.create_self_managed_snap()
self.ioctx.set_self_managed_snap_write([snap_id_1])
self.ioctx.write('abc', b'def')
snap_id_2 = self.ioctx.create_self_managed_snap()
self.ioctx.set_self_managed_snap_write([snap_id_1, snap_id_2])
self.ioctx.write('abc', b'ghi')
self.ioctx.rollback_self_managed_snap('abc', snap_id_1)
eq(self.ioctx.read('abc'), b'abc')
self.ioctx.rollback_self_managed_snap('abc', snap_id_2)
eq(self.ioctx.read('abc'), b'def')
self.ioctx.remove_self_managed_snap(snap_id_1)
self.ioctx.remove_self_managed_snap(snap_id_2)
示例9: TestPool
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestPool(object):
def setUp(self):
self.rados = Rados(conffile="")
self.rados.connect()
def tearDown(self):
self.rados.shutdown()
def test_create(self):
self.rados.create_pool("foo")
self.rados.delete_pool("foo")
def test_create_auid(self):
self.rados.create_pool("foo", 100)
assert self.rados.pool_exists("foo")
self.rados.delete_pool("foo")
def test_eexist(self):
self.rados.create_pool("foo")
assert_raises(ObjectExists, self.rados.create_pool, "foo")
def list_non_default_pools(self):
pools = self.rados.list_pools()
pools.remove("data")
pools.remove("metadata")
pools.remove("rbd")
return set(pools)
def test_list_pools(self):
eq(set(), self.list_non_default_pools())
self.rados.create_pool("foo")
eq(set(["foo"]), self.list_non_default_pools())
self.rados.create_pool("bar")
eq(set(["foo", "bar"]), self.list_non_default_pools())
self.rados.create_pool("baz")
eq(set(["foo", "bar", "baz"]), self.list_non_default_pools())
self.rados.delete_pool("foo")
eq(set(["bar", "baz"]), self.list_non_default_pools())
self.rados.delete_pool("baz")
eq(set(["bar"]), self.list_non_default_pools())
self.rados.delete_pool("bar")
eq(set(), self.list_non_default_pools())
self.rados.create_pool("a" * 500)
eq(set(["a" * 500]), self.list_non_default_pools())
self.rados.delete_pool("a" * 500)
示例10: TestIoctx
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestIoctx(object):
def setUp(self):
self.rados = Rados(conffile='')
self.rados.connect()
self.rados.create_pool('test_pool')
assert self.rados.pool_exists('test_pool')
self.ioctx = self.rados.open_ioctx('test_pool')
def tearDown(self):
cmd = {"prefix":"osd unset", "key":"noup"}
self.rados.mon_command(json.dumps(cmd), b'')
self.ioctx.close()
self.rados.delete_pool('test_pool')
self.rados.shutdown()
def test_get_last_version(self):
version = self.ioctx.get_last_version()
assert version >= 0
def test_get_stats(self):
stats = self.ioctx.get_stats()
eq(stats, {'num_objects_unfound': 0,
'num_objects_missing_on_primary': 0,
'num_object_clones': 0,
'num_objects': 0,
'num_object_copies': 0,
'num_bytes': 0,
'num_rd_kb': 0,
'num_wr_kb': 0,
'num_kb': 0,
'num_wr': 0,
'num_objects_degraded': 0,
'num_rd': 0})
def test_change_auid(self):
self.ioctx.change_auid(ANONYMOUS_AUID)
self.ioctx.change_auid(ADMIN_AUID)
def test_write(self):
self.ioctx.write('abc', b'abc')
eq(self.ioctx.read('abc'), b'abc')
def test_write_full(self):
self.ioctx.write('abc', b'abc')
eq(self.ioctx.read('abc'), b'abc')
self.ioctx.write_full('abc', b'd')
eq(self.ioctx.read('abc'), b'd')
def test_append(self):
self.ioctx.write('abc', b'a')
self.ioctx.append('abc', b'b')
self.ioctx.append('abc', b'c')
eq(self.ioctx.read('abc'), b'abc')
def test_write_zeros(self):
self.ioctx.write('abc', b'a\0b\0c')
eq(self.ioctx.read('abc'), b'a\0b\0c')
def test_trunc(self):
self.ioctx.write('abc', b'abc')
self.ioctx.trunc('abc', 2)
eq(self.ioctx.read('abc'), b'ab')
size = self.ioctx.stat('abc')[0]
eq(size, 2)
def test_list_objects_empty(self):
eq(list(self.ioctx.list_objects()), [])
def test_list_objects(self):
self.ioctx.write('a', b'')
self.ioctx.write('b', b'foo')
self.ioctx.write_full('c', b'bar')
self.ioctx.append('d', b'jazz')
object_names = [obj.key for obj in self.ioctx.list_objects()]
eq(sorted(object_names), ['a', 'b', 'c', 'd'])
def test_list_ns_objects(self):
self.ioctx.write('a', b'')
self.ioctx.write('b', b'foo')
self.ioctx.write_full('c', b'bar')
self.ioctx.append('d', b'jazz')
self.ioctx.set_namespace("ns1")
self.ioctx.write('ns1-a', b'')
self.ioctx.write('ns1-b', b'foo')
self.ioctx.write_full('ns1-c', b'bar')
self.ioctx.append('ns1-d', b'jazz')
self.ioctx.append('d', b'jazz')
self.ioctx.set_namespace(LIBRADOS_ALL_NSPACES)
object_names = [(obj.nspace, obj.key) for obj in self.ioctx.list_objects()]
eq(sorted(object_names), [('', 'a'), ('','b'), ('','c'), ('','d'),\
('ns1', 'd'), ('ns1', 'ns1-a'), ('ns1', 'ns1-b'),\
('ns1', 'ns1-c'), ('ns1', 'ns1-d')])
def test_xattrs(self):
xattrs = dict(a=b'1', b=b'2', c=b'3', d=b'a\0b', e=b'\0')
self.ioctx.write('abc', b'')
for key, value in xattrs.items():
self.ioctx.set_xattr('abc', key, value)
eq(self.ioctx.get_xattr('abc', key), value)
#.........这里部分代码省略.........
示例11: TestRados
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestRados(object):
def setUp(self):
self.rados = Rados(conffile='')
self.rados.conf_parse_env('FOO_DOES_NOT_EXIST_BLAHBLAH')
self.rados.conf_parse_env()
self.rados.connect()
# Assume any pre-existing pools are the cluster's defaults
self.default_pools = self.rados.list_pools()
def tearDown(self):
self.rados.shutdown()
def test_ping_monitor(self):
assert_raises(ObjectNotFound, self.rados.ping_monitor, 'not_exists_monitor')
cmd = {'prefix': 'mon dump', 'format':'json'}
ret, buf, out = self.rados.mon_command(json.dumps(cmd), b'')
for mon in json.loads(buf.decode('utf8'))['mons']:
while True:
buf = json.loads(self.rados.ping_monitor(mon['name']))
if buf.get('health'):
break
def test_create(self):
self.rados.create_pool('foo')
self.rados.delete_pool('foo')
def test_create_utf8(self):
if _python2:
# Use encoded bytestring
poolname = b"\351\273\204"
else:
poolname = "\u9ec4"
self.rados.create_pool(poolname)
assert self.rados.pool_exists(u"\u9ec4")
self.rados.delete_pool(poolname)
def test_pool_lookup_utf8(self):
if _python2:
poolname = u'\u9ec4'
else:
poolname = '\u9ec4'
self.rados.create_pool(poolname)
try:
poolid = self.rados.pool_lookup(poolname)
eq(poolname, self.rados.pool_reverse_lookup(poolid))
finally:
self.rados.delete_pool(poolname)
def test_create_auid(self):
self.rados.create_pool('foo', 100)
assert self.rados.pool_exists('foo')
self.rados.delete_pool('foo')
def test_eexist(self):
self.rados.create_pool('foo')
assert_raises(ObjectExists, self.rados.create_pool, 'foo')
self.rados.delete_pool('foo')
def list_non_default_pools(self):
pools = self.rados.list_pools()
for p in self.default_pools:
pools.remove(p)
return set(pools)
def test_list_pools(self):
eq(set(), self.list_non_default_pools())
self.rados.create_pool('foo')
eq(set(['foo']), self.list_non_default_pools())
self.rados.create_pool('bar')
eq(set(['foo', 'bar']), self.list_non_default_pools())
self.rados.create_pool('baz')
eq(set(['foo', 'bar', 'baz']), self.list_non_default_pools())
self.rados.delete_pool('foo')
eq(set(['bar', 'baz']), self.list_non_default_pools())
self.rados.delete_pool('baz')
eq(set(['bar']), self.list_non_default_pools())
self.rados.delete_pool('bar')
eq(set(), self.list_non_default_pools())
self.rados.create_pool('a' * 500)
eq(set(['a' * 500]), self.list_non_default_pools())
self.rados.delete_pool('a' * 500)
def test_get_pool_base_tier(self):
self.rados.create_pool('foo')
try:
self.rados.create_pool('foo-cache')
try:
pool_id = self.rados.pool_lookup('foo')
tier_pool_id = self.rados.pool_lookup('foo-cache')
cmd = {"prefix":"osd tier add", "pool":"foo", "tierpool":"foo-cache", "force_nonempty":""}
ret, buf, errs = self.rados.mon_command(json.dumps(cmd), b'', timeout=30)
eq(ret, 0)
try:
cmd = {"prefix":"osd tier cache-mode", "pool":"foo-cache", "tierpool":"foo-cache", "mode":"readonly", "sure":"--yes-i-really-mean-it"}
ret, buf, errs = self.rados.mon_command(json.dumps(cmd), b'', timeout=30)
eq(ret, 0)
#.........这里部分代码省略.........
示例12: TestIoctx
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestIoctx(object):
def setUp(self):
self.rados = Rados(conffile='')
self.rados.connect()
self.rados.create_pool('test_pool')
assert self.rados.pool_exists('test_pool')
self.ioctx = self.rados.open_ioctx('test_pool')
def tearDown(self):
cmd = {"prefix":"osd unset", "key":"noup"}
self.rados.mon_command(json.dumps(cmd), '')
self.ioctx.close()
self.rados.delete_pool('test_pool')
self.rados.shutdown()
def test_change_auid(self):
self.ioctx.change_auid(ANONYMOUS_AUID)
self.ioctx.change_auid(ADMIN_AUID)
def test_write(self):
self.ioctx.write('abc', 'abc')
eq(self.ioctx.read('abc'), 'abc')
def test_write_full(self):
self.ioctx.write('abc', 'abc')
eq(self.ioctx.read('abc'), 'abc')
self.ioctx.write_full('abc', 'd')
eq(self.ioctx.read('abc'), 'd')
def test_append(self):
self.ioctx.write('abc', 'a')
self.ioctx.append('abc', 'b')
self.ioctx.append('abc', 'c')
eq(self.ioctx.read('abc'), 'abc')
def test_write_zeros(self):
self.ioctx.write('abc', 'a\0b\0c')
eq(self.ioctx.read('abc'), 'a\0b\0c')
def test_trunc(self):
self.ioctx.write('abc', 'abc')
self.ioctx.trunc('abc', 2)
eq(self.ioctx.read('abc'), 'ab')
size = self.ioctx.stat('abc')[0]
eq(size, 2)
def test_list_objects_empty(self):
eq(list(self.ioctx.list_objects()), [])
def test_list_objects(self):
self.ioctx.write('a', '')
self.ioctx.write('b', 'foo')
self.ioctx.write_full('c', 'bar')
self.ioctx.append('d', 'jazz')
object_names = [obj.key for obj in self.ioctx.list_objects()]
eq(sorted(object_names), ['a', 'b', 'c', 'd'])
def test_list_ns_objects(self):
self.ioctx.write('a', '')
self.ioctx.write('b', 'foo')
self.ioctx.write_full('c', 'bar')
self.ioctx.append('d', 'jazz')
self.ioctx.set_namespace("ns1")
self.ioctx.write('ns1-a', '')
self.ioctx.write('ns1-b', 'foo')
self.ioctx.write_full('ns1-c', 'bar')
self.ioctx.append('ns1-d', 'jazz')
self.ioctx.append('d', 'jazz')
self.ioctx.set_namespace(LIBRADOS_ALL_NSPACES)
object_names = [(obj.nspace, obj.key) for obj in self.ioctx.list_objects()]
eq(sorted(object_names), [('', 'a'), ('','b'), ('','c'), ('','d'),\
('ns1', 'd'), ('ns1', 'ns1-a'), ('ns1', 'ns1-b'),\
('ns1', 'ns1-c'), ('ns1', 'ns1-d')])
def test_xattrs(self):
xattrs = dict(a='1', b='2', c='3', d='a\0b', e='\0')
self.ioctx.write('abc', '')
for key, value in xattrs.iteritems():
self.ioctx.set_xattr('abc', key, value)
eq(self.ioctx.get_xattr('abc', key), value)
stored_xattrs = {}
for key, value in self.ioctx.get_xattrs('abc'):
stored_xattrs[key] = value
eq(stored_xattrs, xattrs)
def test_obj_xattrs(self):
xattrs = dict(a='1', b='2', c='3', d='a\0b', e='\0')
self.ioctx.write('abc', '')
obj = list(self.ioctx.list_objects())[0]
for key, value in xattrs.iteritems():
obj.set_xattr(key, value)
eq(obj.get_xattr(key), value)
stored_xattrs = {}
for key, value in obj.get_xattrs():
stored_xattrs[key] = value
eq(stored_xattrs, xattrs)
def test_create_snap(self):
assert_raises(ObjectNotFound, self.ioctx.remove_snap, 'foo')
#.........这里部分代码省略.........
示例13: TestIoctx
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestIoctx(object):
def setUp(self):
self.rados = Rados(conffile='')
self.rados.connect()
self.rados.create_pool('test_pool')
assert self.rados.pool_exists('test_pool')
self.ioctx = self.rados.open_ioctx('test_pool')
def tearDown(self):
self.ioctx.close()
self.rados.delete_pool('test_pool')
self.rados.shutdown()
def test_change_auid(self):
self.ioctx.change_auid(ANONYMOUS_AUID)
self.ioctx.change_auid(ADMIN_AUID)
def test_write(self):
self.ioctx.write('abc', 'abc')
eq(self.ioctx.read('abc'), 'abc')
def test_write_full(self):
self.ioctx.write('abc', 'abc')
eq(self.ioctx.read('abc'), 'abc')
self.ioctx.write_full('abc', 'd')
eq(self.ioctx.read('abc'), 'd')
def test_write_zeros(self):
self.ioctx.write('abc', 'a\0b\0c')
eq(self.ioctx.read('abc'), 'a\0b\0c')
def test_trunc(self):
self.ioctx.write('abc', 'abc')
self.ioctx.trunc('abc', 2)
eq(self.ioctx.read('abc'), 'ab')
size = self.ioctx.stat('abc')[0]
eq(size, 2)
def test_list_objects_empty(self):
eq(list(self.ioctx.list_objects()), [])
def test_list_objects(self):
self.ioctx.write('a', '')
self.ioctx.write('b', 'foo')
self.ioctx.write_full('c', 'bar')
object_names = [obj.key for obj in self.ioctx.list_objects()]
eq(sorted(object_names), ['a', 'b', 'c'])
def test_xattrs(self):
xattrs = dict(a='1', b='2', c='3', d='a\0b', e='\0')
self.ioctx.write('abc', '')
for key, value in xattrs.iteritems():
self.ioctx.set_xattr('abc', key, value)
eq(self.ioctx.get_xattr('abc', key), value)
stored_xattrs = {}
for key, value in self.ioctx.get_xattrs('abc'):
stored_xattrs[key] = value
eq(stored_xattrs, xattrs)
def test_create_snap(self):
assert_raises(ObjectNotFound, self.ioctx.remove_snap, 'foo')
self.ioctx.create_snap('foo')
self.ioctx.remove_snap('foo')
def test_list_snaps_empty(self):
eq(list(self.ioctx.list_snaps()), [])
def test_list_snaps(self):
snaps = ['snap1', 'snap2', 'snap3']
for snap in snaps:
self.ioctx.create_snap(snap)
listed_snaps = [snap.name for snap in self.ioctx.list_snaps()]
eq(snaps, listed_snaps)
def test_lookup_snap(self):
self.ioctx.create_snap('foo')
snap = self.ioctx.lookup_snap('foo')
eq(snap.name, 'foo')
def test_snap_timestamp(self):
self.ioctx.create_snap('foo')
snap = self.ioctx.lookup_snap('foo')
snap.get_timestamp()
def test_remove_snap(self):
self.ioctx.create_snap('foo')
(snap,) = self.ioctx.list_snaps()
eq(snap.name, 'foo')
self.ioctx.remove_snap('foo')
eq(list(self.ioctx.list_snaps()), [])
def test_locator(self):
self.ioctx.set_locator_key("bar")
self.ioctx.write('foo', 'contents1')
objects = [i for i in self.ioctx.list_objects()]
eq(len(objects), 1)
eq(self.ioctx.get_locator_key(), "bar")
self.ioctx.set_locator_key("")
objects[0].seek(0)
#.........这里部分代码省略.........
示例14: TestRados
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestRados(object):
def setUp(self):
self.rados = Rados(conffile='')
self.rados.connect()
def tearDown(self):
self.rados.shutdown()
def test_create(self):
self.rados.create_pool('foo')
self.rados.delete_pool('foo')
def test_create_auid(self):
self.rados.create_pool('foo', 100)
assert self.rados.pool_exists('foo')
self.rados.delete_pool('foo')
def test_eexist(self):
self.rados.create_pool('foo')
assert_raises(ObjectExists, self.rados.create_pool, 'foo')
self.rados.delete_pool('foo')
def list_non_default_pools(self):
pools = self.rados.list_pools()
pools.remove('data')
pools.remove('metadata')
pools.remove('rbd')
return set(pools)
def test_list_pools(self):
eq(set(), self.list_non_default_pools())
self.rados.create_pool('foo')
eq(set(['foo']), self.list_non_default_pools())
self.rados.create_pool('bar')
eq(set(['foo', 'bar']), self.list_non_default_pools())
self.rados.create_pool('baz')
eq(set(['foo', 'bar', 'baz']), self.list_non_default_pools())
self.rados.delete_pool('foo')
eq(set(['bar', 'baz']), self.list_non_default_pools())
self.rados.delete_pool('baz')
eq(set(['bar']), self.list_non_default_pools())
self.rados.delete_pool('bar')
eq(set(), self.list_non_default_pools())
self.rados.create_pool('a' * 500)
eq(set(['a' * 500]), self.list_non_default_pools())
self.rados.delete_pool('a' * 500)
def test_get_fsid(self):
fsid = self.rados.get_fsid()
eq(len(fsid), 36)
示例15: TestIoctx
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import create_pool [as 别名]
class TestIoctx(object):
def setUp(self):
self.rados = Rados(conffile="")
self.rados.connect()
self.rados.create_pool("test_pool")
assert self.rados.pool_exists("test_pool")
self.ioctx = self.rados.open_ioctx("test_pool")
def tearDown(self):
self.ioctx.close()
self.rados.delete_pool("test_pool")
self.rados.shutdown()
def test_change_auid(self):
self.ioctx.change_auid(ANONYMOUS_AUID)
self.ioctx.change_auid(ADMIN_AUID)
def test_write(self):
self.ioctx.write("abc", "abc")
eq(self.ioctx.read("abc"), "abc")
def test_write_full(self):
self.ioctx.write("abc", "abc")
eq(self.ioctx.read("abc"), "abc")
self.ioctx.write_full("abc", "d")
eq(self.ioctx.read("abc"), "d")
def test_write_zeros(self):
self.ioctx.write("abc", "a\0b\0c")
eq(self.ioctx.read("abc"), "a\0b\0c")
def test_list_objects_empty(self):
eq(list(self.ioctx.list_objects()), [])
def test_list_objects(self):
self.ioctx.write("a", "")
self.ioctx.write("b", "foo")
self.ioctx.write_full("c", "bar")
object_names = [obj.key for obj in self.ioctx.list_objects()]
eq(sorted(object_names), ["a", "b", "c"])
def test_xattrs(self):
xattrs = dict(a="1", b="2", c="3", d="a\0b", e="\0")
self.ioctx.write("abc", "")
for key, value in xattrs.iteritems():
self.ioctx.set_xattr("abc", key, value)
eq(self.ioctx.get_xattr("abc", key), value)
stored_xattrs = {}
for key, value in self.ioctx.get_xattrs("abc"):
stored_xattrs[key] = value
eq(stored_xattrs, xattrs)
def test_create_snap(self):
assert_raises(ObjectNotFound, self.ioctx.remove_snap, "foo")
self.ioctx.create_snap("foo")
self.ioctx.remove_snap("foo")
def test_list_snaps_empty(self):
eq(list(self.ioctx.list_snaps()), [])
def test_list_snaps(self):
snaps = ["snap1", "snap2", "snap3"]
for snap in snaps:
self.ioctx.create_snap(snap)
listed_snaps = [snap.name for snap in self.ioctx.list_snaps()]
eq(snaps, listed_snaps)
def test_lookup_snap(self):
self.ioctx.create_snap("foo")
snap = self.ioctx.lookup_snap("foo")
eq(snap.name, "foo")
def test_snap_timestamp(self):
self.ioctx.create_snap("foo")
snap = self.ioctx.lookup_snap("foo")
snap.get_timestamp()
def test_remove_snap(self):
self.ioctx.create_snap("foo")
(snap,) = self.ioctx.list_snaps()
eq(snap.name, "foo")
self.ioctx.remove_snap("foo")
eq(list(self.ioctx.list_snaps()), [])