本文整理汇总了Python中rados.Rados.service_daemon_register方法的典型用法代码示例。如果您正苦于以下问题:Python Rados.service_daemon_register方法的具体用法?Python Rados.service_daemon_register怎么用?Python Rados.service_daemon_register使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rados.Rados
的用法示例。
在下文中一共展示了Rados.service_daemon_register方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: TestIoctx
# 需要导入模块: from rados import Rados [as 别名]
# 或者: from rados.Rados import service_daemon_register [as 别名]
#.........这里部分代码省略.........
self.ioctx.lock_exclusive("foo", "lock", "locker", "desc_lock",
10000, 0)
assert_raises(ObjectExists,
self.ioctx.lock_exclusive,
"foo", "lock", "locker", "desc_lock", 10000, 0)
self.ioctx.unlock("foo", "lock", "locker")
assert_raises(ObjectNotFound, self.ioctx.unlock, "foo", "lock", "locker")
self.ioctx.lock_shared("foo", "lock", "locker1", "tag", "desc_lock",
10000, 0)
self.ioctx.lock_shared("foo", "lock", "locker2", "tag", "desc_lock",
10000, 0)
assert_raises(ObjectBusy,
self.ioctx.lock_exclusive,
"foo", "lock", "locker3", "desc_lock", 10000, 0)
self.ioctx.unlock("foo", "lock", "locker1")
self.ioctx.unlock("foo", "lock", "locker2")
assert_raises(ObjectNotFound, self.ioctx.unlock, "foo", "lock", "locker1")
assert_raises(ObjectNotFound, self.ioctx.unlock, "foo", "lock", "locker2")
def test_execute(self):
self.ioctx.write("foo", b"") # ensure object exists
ret, buf = self.ioctx.execute("foo", "hello", "say_hello", b"")
eq(buf, b"Hello, world!")
ret, buf = self.ioctx.execute("foo", "hello", "say_hello", b"nose")
eq(buf, b"Hello, nose!")
def test_aio_execute(self):
count = [0]
retval = [None]
lock = threading.Condition()
def cb(_, buf):
with lock:
if retval[0] is None:
retval[0] = buf
count[0] += 1
lock.notify()
self.ioctx.write("foo", b"") # ensure object exists
comp = self.ioctx.aio_execute("foo", "hello", "say_hello", b"", 32, cb, cb)
comp.wait_for_complete()
with lock:
while count[0] < 2:
lock.wait()
eq(comp.get_return_value(), 13)
eq(retval[0], b"Hello, world!")
retval[0] = None
comp = self.ioctx.aio_execute("foo", "hello", "say_hello", b"nose", 32, cb, cb)
comp.wait_for_complete()
with lock:
while count[0] < 4:
lock.wait()
eq(comp.get_return_value(), 12)
eq(retval[0], b"Hello, nose!")
[i.remove() for i in self.ioctx.list_objects()]
def test_applications(self):
cmd = {"prefix":"osd dump", "format":"json"}
ret, buf, errs = self.rados.mon_command(json.dumps(cmd), b'')
eq(ret, 0)
assert len(buf) > 0
release = json.loads(buf.decode("utf-8")).get("require_osd_release",
None)
if not release or release[0] < 'l':
raise SkipTest
eq([], self.ioctx.application_list())
self.ioctx.application_enable("app1")
assert_raises(Error, self.ioctx.application_enable, "app2")
self.ioctx.application_enable("app2", True)
assert_raises(Error, self.ioctx.application_metadata_list, "dne")
eq([], self.ioctx.application_metadata_list("app1"))
assert_raises(Error, self.ioctx.application_metadata_set, "dne", "key",
"key")
self.ioctx.application_metadata_set("app1", "key1", "val1")
self.ioctx.application_metadata_set("app1", "key2", "val2")
self.ioctx.application_metadata_set("app2", "key1", "val1")
eq([("key1", "val1"), ("key2", "val2")],
self.ioctx.application_metadata_list("app1"))
self.ioctx.application_metadata_remove("app1", "key1")
eq([("key2", "val2")], self.ioctx.application_metadata_list("app1"))
def test_service_daemon(self):
name = "pid-" + str(os.getpid())
metadata = {'version': '3.14', 'memory': '42'}
self.rados.service_daemon_register("laundry", name, metadata)
status = {'result': 'unknown', 'test': 'running'}
self.rados.service_daemon_update(status)
def test_alignment(self):
eq(self.ioctx.alignment(), None)