char *_client_name = client_name
try:
_uuid = <char *>realloc_chk(_uuid, _uuid_max_length)
- ret = rbd_mirror_peer_site_add(_ioctx, _uuid, _uuid_max_length,
- _direction, _site_name, _client_name)
+ with nogil:
+ ret = rbd_mirror_peer_site_add(_ioctx, _uuid, _uuid_max_length,
+ _direction, _site_name,
+ _client_name)
if ret != 0:
raise make_ex(ret, 'error adding mirror peer')
return decode_cstr(_uuid)
:returns: int - the pool id
"""
- return rbd_get_data_pool_id(self.image)
+ with nogil:
+ ret = rbd_get_data_pool_id(self.image)
+ if ret < 0:
+ raise make_ex(ret, 'error getting data pool id for image %s' % self.name)
+ return ret
@requires_not_closed
def get_parent_image_spec(self):
from datetime import datetime, timedelta
from nose import with_setup, SkipTest
-from nose.tools import eq_ as eq, assert_raises, assert_not_equal
+from nose.tools import (eq_ as eq, assert_raises, assert_not_equal,
+ assert_greater_equal)
from rados import (Rados,
LIBRADOS_OP_FLAG_FADVISE_DONTNEED,
LIBRADOS_OP_FLAG_FADVISE_NOCACHE,
def test_block_name_prefix(self):
assert_not_equal(b'', self.image.block_name_prefix())
+ def test_data_pool_id(self):
+ assert_greater_equal(self.image.data_pool_id(), 0)
+
def test_create_timestamp(self):
timestamp = self.image.create_timestamp()
assert_not_equal(0, timestamp.year)