本文整理汇总了Python中rbd.Image.unlock方法的典型用法代码示例。如果您正苦于以下问题:Python Image.unlock方法的具体用法?Python Image.unlock怎么用?Python Image.unlock使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rbd.Image
的用法示例。
在下文中一共展示了Image.unlock方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestImage
# 需要导入模块: from rbd import Image [as 别名]
# 或者: from rbd.Image import unlock [as 别名]
#.........这里部分代码省略.........
read = self.image.read(0, 256)
eq(read, "\0" * 256)
self.image.remove_snap("snap1")
def test_many_snaps(self):
num_snaps = 200
for i in xrange(num_snaps):
self.image.create_snap(str(i))
snaps = sorted(self.image.list_snaps(), key=lambda snap: int(snap["name"]))
eq(len(snaps), num_snaps)
for i, snap in enumerate(snaps):
eq(snap["size"], IMG_SIZE)
eq(snap["name"], str(i))
for i in xrange(num_snaps):
self.image.remove_snap(str(i))
def test_set_snap_deleted(self):
self.image.write("\0" * 256, 0)
self.image.create_snap("snap1")
read = self.image.read(0, 256)
eq(read, "\0" * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap("snap1")
self.image.remove_snap("snap1")
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
def test_set_snap_recreated(self):
self.image.write("\0" * 256, 0)
self.image.create_snap("snap1")
read = self.image.read(0, 256)
eq(read, "\0" * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap("snap1")
self.image.remove_snap("snap1")
self.image.create_snap("snap1")
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
self.image.remove_snap("snap1")
def test_lock_unlock(self):
assert_raises(ImageNotFound, self.image.unlock, "")
self.image.lock_exclusive("")
assert_raises(ImageExists, self.image.lock_exclusive, "")
assert_raises(ImageBusy, self.image.lock_exclusive, "test")
assert_raises(ImageExists, self.image.lock_shared, "", "")
assert_raises(ImageBusy, self.image.lock_shared, "foo", "")
self.image.unlock("")
def test_list_lockers(self):
eq([], self.image.list_lockers())
self.image.lock_exclusive("test")
lockers = self.image.list_lockers()
eq(1, len(lockers["lockers"]))
_, cookie, _ = lockers["lockers"][0]
eq(cookie, "test")
eq("", lockers["tag"])
assert lockers["exclusive"]
self.image.unlock("test")
eq([], self.image.list_lockers())
num_shared = 10
for i in xrange(num_shared):
self.image.lock_shared(str(i), "tag")
lockers = self.image.list_lockers()
eq("tag", lockers["tag"])
assert not lockers["exclusive"]
eq(num_shared, len(lockers["lockers"]))
cookies = sorted(map(lambda x: x[1], lockers["lockers"]))
for i in xrange(num_shared):
eq(str(i), cookies[i])
self.image.unlock(str(i))
eq([], self.image.list_lockers())
def test_diff_iterate(self):
check_diff(self.image, 0, IMG_SIZE, None, [])
self.image.write("a" * 256, 0)
check_diff(self.image, 0, IMG_SIZE, None, [(0, 256, True)])
self.image.write("b" * 256, 256)
check_diff(self.image, 0, IMG_SIZE, None, [(0, 512, True)])
self.image.discard(128, 256)
check_diff(self.image, 0, IMG_SIZE, None, [(0, 512, True)])
self.image.create_snap("snap1")
self.image.discard(0, 1 << IMG_ORDER)
self.image.create_snap("snap2")
self.image.set_snap("snap2")
check_diff(self.image, 0, IMG_SIZE, "snap1", [(0, 512, False)])
self.image.remove_snap("snap1")
self.image.remove_snap("snap2")
示例2: TestImage
# 需要导入模块: from rbd import Image [as 别名]
# 或者: from rbd.Image import unlock [as 别名]
#.........这里部分代码省略.........
eq(read, '\0' * 256)
self.image.remove_snap('snap1')
def test_many_snaps(self):
num_snaps = 200
for i in xrange(num_snaps):
self.image.create_snap(str(i))
snaps = sorted(self.image.list_snaps(),
key=lambda snap: int(snap['name']))
eq(len(snaps), num_snaps)
for i, snap in enumerate(snaps):
eq(snap['size'], IMG_SIZE)
eq(snap['name'], str(i))
for i in xrange(num_snaps):
self.image.remove_snap(str(i))
def test_set_snap_deleted(self):
self.image.write('\0' * 256, 0)
self.image.create_snap('snap1')
read = self.image.read(0, 256)
eq(read, '\0' * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap('snap1')
self.image.remove_snap('snap1')
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
def test_set_snap_recreated(self):
self.image.write('\0' * 256, 0)
self.image.create_snap('snap1')
read = self.image.read(0, 256)
eq(read, '\0' * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap('snap1')
self.image.remove_snap('snap1')
self.image.create_snap('snap1')
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
self.image.remove_snap('snap1')
def test_lock_unlock(self):
assert_raises(ImageNotFound, self.image.unlock, '')
self.image.lock_exclusive('')
assert_raises(ImageExists, self.image.lock_exclusive, '')
assert_raises(ImageBusy, self.image.lock_exclusive, 'test')
assert_raises(ImageExists, self.image.lock_shared, '', '')
assert_raises(ImageBusy, self.image.lock_shared, 'foo', '')
self.image.unlock('')
def test_list_lockers(self):
eq([], self.image.list_lockers())
self.image.lock_exclusive('test')
lockers = self.image.list_lockers()
eq(1, len(lockers['lockers']))
_, cookie, _ = lockers['lockers'][0]
eq(cookie, 'test')
eq('', lockers['tag'])
assert lockers['exclusive']
self.image.unlock('test')
eq([], self.image.list_lockers())
num_shared = 10
for i in xrange(num_shared):
self.image.lock_shared(str(i), 'tag')
lockers = self.image.list_lockers()
eq('tag', lockers['tag'])
assert not lockers['exclusive']
eq(num_shared, len(lockers['lockers']))
cookies = sorted(map(lambda x: x[1], lockers['lockers']))
for i in xrange(num_shared):
eq(str(i), cookies[i])
self.image.unlock(str(i))
eq([], self.image.list_lockers())
def test_diff_iterate(self):
check_diff(self.image, 0, IMG_SIZE, None, [])
self.image.write('a' * 256, 0)
check_diff(self.image, 0, IMG_SIZE, None, [(0, 256, True)])
self.image.write('b' * 256, 256)
check_diff(self.image, 0, IMG_SIZE, None, [(0, 512, True)])
self.image.discard(128, 256)
check_diff(self.image, 0, IMG_SIZE, None, [(0, 512, True)])
self.image.create_snap('snap1')
self.image.discard(0, 1 << IMG_ORDER)
self.image.create_snap('snap2')
self.image.set_snap('snap2')
check_diff(self.image, 0, IMG_SIZE, 'snap1', [(0, 512, False)])
self.image.remove_snap('snap1')
self.image.remove_snap('snap2')
示例3: TestImage
# 需要导入模块: from rbd import Image [as 别名]
# 或者: from rbd.Image import unlock [as 别名]
#.........这里部分代码省略.........
self.image.write(b'\0' * 256, 0)
self.image.create_snap('snap1')
read = self.image.read(0, 256)
eq(read, b'\0' * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap('snap1')
self.image.remove_snap('snap1')
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
def test_set_snap_recreated(self):
self.image.write(b'\0' * 256, 0)
self.image.create_snap('snap1')
read = self.image.read(0, 256)
eq(read, b'\0' * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap('snap1')
self.image.remove_snap('snap1')
self.image.create_snap('snap1')
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
self.image.remove_snap('snap1')
def test_lock_unlock(self):
assert_raises(ImageNotFound, self.image.unlock, '')
self.image.lock_exclusive('')
assert_raises(ImageExists, self.image.lock_exclusive, '')
assert_raises(ImageBusy, self.image.lock_exclusive, 'test')
assert_raises(ImageExists, self.image.lock_shared, '', '')
assert_raises(ImageBusy, self.image.lock_shared, 'foo', '')
self.image.unlock('')
def test_list_lockers(self):
eq([], self.image.list_lockers())
self.image.lock_exclusive('test')
lockers = self.image.list_lockers()
eq(1, len(lockers['lockers']))
_, cookie, _ = lockers['lockers'][0]
eq(cookie, 'test')
eq('', lockers['tag'])
assert lockers['exclusive']
self.image.unlock('test')
eq([], self.image.list_lockers())
num_shared = 10
for i in range(num_shared):
self.image.lock_shared(str(i), 'tag')
lockers = self.image.list_lockers()
eq('tag', lockers['tag'])
assert not lockers['exclusive']
eq(num_shared, len(lockers['lockers']))
cookies = sorted(map(lambda x: x[1], lockers['lockers']))
for i in range(num_shared):
eq(str(i), cookies[i])
self.image.unlock(str(i))
eq([], self.image.list_lockers())
示例4: TestImage
# 需要导入模块: from rbd import Image [as 别名]
# 或者: from rbd.Image import unlock [as 别名]
#.........这里部分代码省略.........
read = self.image.read(0, 256)
eq(read, '\0' * 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
self.image.remove_snap('snap1')
def test_set_snap_sparse(self):
self.image.create_snap('snap1')
read = self.image.read(0, 256)
eq(read, '\0' * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap('snap1')
read = self.image.read(0, 256)
eq(read, '\0' * 256)
self.image.remove_snap('snap1')
def test_many_snaps(self):
num_snaps = 200
for i in xrange(num_snaps):
self.image.create_snap(str(i))
snaps = sorted(self.image.list_snaps(),
key=lambda snap: int(snap['name']))
eq(len(snaps), num_snaps)
for i, snap in enumerate(snaps):
eq(snap['size'], IMG_SIZE)
eq(snap['name'], str(i))
for i in xrange(num_snaps):
self.image.remove_snap(str(i))
def test_set_snap_deleted(self):
self.image.write('\0' * 256, 0)
self.image.create_snap('snap1')
read = self.image.read(0, 256)
eq(read, '\0' * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap('snap1')
self.image.remove_snap('snap1')
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
def test_set_snap_recreated(self):
self.image.write('\0' * 256, 0)
self.image.create_snap('snap1')
read = self.image.read(0, 256)
eq(read, '\0' * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap('snap1')
self.image.remove_snap('snap1')
self.image.create_snap('snap1')
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
self.image.remove_snap('snap1')
def test_lock_unlock(self):
assert_raises(ImageNotFound, self.image.unlock, '')
self.image.lock_exclusive('')
assert_raises(ImageExists, self.image.lock_exclusive, '')
assert_raises(ImageBusy, self.image.lock_exclusive, 'test')
assert_raises(ImageExists, self.image.lock_shared, '', '')
assert_raises(ImageBusy, self.image.lock_shared, 'foo', '')
self.image.unlock('')
def test_list_lockers(self):
eq([], self.image.list_lockers())
self.image.lock_exclusive('test')
lockers = self.image.list_lockers()
eq(1, len(lockers['lockers']))
_, cookie, _ = lockers['lockers'][0]
eq(cookie, 'test')
eq('', lockers['tag'])
assert lockers['exclusive']
self.image.unlock('test')
eq([], self.image.list_lockers())
num_shared = 10
for i in xrange(num_shared):
self.image.lock_shared(str(i), 'tag')
lockers = self.image.list_lockers()
eq('tag', lockers['tag'])
assert not lockers['exclusive']
eq(num_shared, len(lockers['lockers']))
cookies = sorted(map(lambda x: x[1], lockers['lockers']))
for i in xrange(num_shared):
eq(str(i), cookies[i])
self.image.unlock(str(i))
eq([], self.image.list_lockers())
示例5: TestImage
# 需要导入模块: from rbd import Image [as 别名]
# 或者: from rbd.Image import unlock [as 别名]
#.........这里部分代码省略.........
read = self.image.read(0, 256)
eq(read, b"\0" * 256)
self.image.remove_snap("snap1")
def test_many_snaps(self):
num_snaps = 200
for i in range(num_snaps):
self.image.create_snap(str(i))
snaps = sorted(self.image.list_snaps(), key=lambda snap: int(snap["name"]))
eq(len(snaps), num_snaps)
for i, snap in enumerate(snaps):
eq(snap["size"], IMG_SIZE)
eq(snap["name"], str(i))
for i in range(num_snaps):
self.image.remove_snap(str(i))
def test_set_snap_deleted(self):
self.image.write(b"\0" * 256, 0)
self.image.create_snap("snap1")
read = self.image.read(0, 256)
eq(read, b"\0" * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap("snap1")
self.image.remove_snap("snap1")
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
def test_set_snap_recreated(self):
self.image.write(b"\0" * 256, 0)
self.image.create_snap("snap1")
read = self.image.read(0, 256)
eq(read, b"\0" * 256)
data = rand_data(256)
self.image.write(data, 0)
read = self.image.read(0, 256)
eq(read, data)
self.image.set_snap("snap1")
self.image.remove_snap("snap1")
self.image.create_snap("snap1")
assert_raises(ImageNotFound, self.image.read, 0, 256)
self.image.set_snap(None)
read = self.image.read(0, 256)
eq(read, data)
self.image.remove_snap("snap1")
def test_lock_unlock(self):
assert_raises(ImageNotFound, self.image.unlock, "")
self.image.lock_exclusive("")
assert_raises(ImageExists, self.image.lock_exclusive, "")
assert_raises(ImageBusy, self.image.lock_exclusive, "test")
assert_raises(ImageExists, self.image.lock_shared, "", "")
assert_raises(ImageBusy, self.image.lock_shared, "foo", "")
self.image.unlock("")
def test_list_lockers(self):
eq([], self.image.list_lockers())
self.image.lock_exclusive("test")
lockers = self.image.list_lockers()
eq(1, len(lockers["lockers"]))
_, cookie, _ = lockers["lockers"][0]
eq(cookie, "test")
eq("", lockers["tag"])
assert lockers["exclusive"]
self.image.unlock("test")
eq([], self.image.list_lockers())
num_shared = 10
for i in range(num_shared):
self.image.lock_shared(str(i), "tag")
lockers = self.image.list_lockers()
eq("tag", lockers["tag"])
assert not lockers["exclusive"]
eq(num_shared, len(lockers["lockers"]))
cookies = sorted(map(lambda x: x[1], lockers["lockers"]))
for i in range(num_shared):
eq(str(i), cookies[i])
self.image.unlock(str(i))
eq([], self.image.list_lockers())
def test_diff_iterate(self):
check_diff(self.image, 0, IMG_SIZE, None, [])
self.image.write(b"a" * 256, 0)
check_diff(self.image, 0, IMG_SIZE, None, [(0, 256, True)])
self.image.write(b"b" * 256, 256)
check_diff(self.image, 0, IMG_SIZE, None, [(0, 512, True)])
self.image.discard(128, 256)
check_diff(self.image, 0, IMG_SIZE, None, [(0, 512, True)])
self.image.create_snap("snap1")
self.image.discard(0, 1 << IMG_ORDER)
self.image.create_snap("snap2")
self.image.set_snap("snap2")
check_diff(self.image, 0, IMG_SIZE, "snap1", [(0, 512, False)])
self.image.remove_snap("snap1")
self.image.remove_snap("snap2")