def test_sync_acl(self): self.assertEqual(self.connected, True) ret = zookeeper.create(self.handle, "/zk-python-acltest", "nodecontents", [ZOO_OPEN_ACL_UNSAFE], zookeeper.EPHEMERAL) acls = zookeeper.get_acl(self.handle, "/zk-python-acltest") self.assertEqual(acls[1], [ZOO_OPEN_ACL_UNSAFE]) self.assertRaises(zookeeper.InvalidACLException,zookeeper.set_acl,self.handle, "/zk-python-acltest", -1, ZOO_ACL_READ) zookeeper.set_acl(self.handle, "/zk-python-acltest", -1, [ZOO_ACL_READ]) acls = zookeeper.get_acl(self.handle, "/zk-python-acltest") self.assertEqual(acls[1], [ZOO_ACL_READ])
def config_node(zk, path): nodevalue = zookeeper.get(zk, CONFIG_NODE / path) if path != '/': name = path.split('/')[-1] else: name = 'root' return { 'path': path, 'name': name, 'value': nodevalue[0], 'info': nodevalue[1], 'acl': zookeeper.get_acl(zk, CONFIG_NODE / path) }
def test_async_acl(self): self.cv = threading.Condition() self.cv = threading.Condition() def aget_callback(handle, rc, acl, stat): self.cv.acquire() self.callback_flag = True self.rc = rc self.acl = acl self.stat = stat self.cv.notify() self.cv.release() def aset_callback(handle, rc): self.cv.acquire() self.callback_flag = True self.rc = rc self.cv.notify() self.cv.release() self.assertEqual(self.connected, True, "Not connected!") ret = zookeeper.create(self.handle, "/zk-python-aacltest", "nodecontents", [ZOO_OPEN_ACL_UNSAFE], zookeeper.EPHEMERAL) self.cv.acquire() zookeeper.aget_acl(self.handle, "/zk-python-aacltest", aget_callback) self.cv.wait(15) self.cv.release() self.assertEqual(self.callback_flag, True, "aget_acl timed out") self.assertEqual(self.rc, zookeeper.OK, "aget failed") self.assertEqual(self.acl, [ZOO_OPEN_ACL_UNSAFE], "Wrong ACL returned from aget") self.cv.acquire() self.callback_flag = False zookeeper.aset_acl(self.handle, "/zk-python-aacltest", -1, [ZOO_ACL_READ], aset_callback) self.cv.wait(15) self.cv.release() self.assertEqual(self.callback_flag, True, "aset_acl timed out") self.assertEqual(self.rc, zookeeper.OK, "aset failed") acls = zookeeper.get_acl(self.handle, "/zk-python-aacltest") self.assertEqual(acls[1], [ZOO_ACL_READ], "Wrong ACL returned from get when aset")
def locate(self): hostname = socket.gethostname() try: children = sorted(zookeeper.get_children(self.zh, self.hmsZkPrefix)) for child in children: znode = self.hmsZkPrefix + '/' + child + '/' + hostname if zookeeper.exists(self.zh, znode, None)!=None: self.znode = znode self.actionNode = znode + '/action' self.statusNode = '/status' stat, acl = zookeeper.get_acl(self.zh, self.statusNode) self.acl = acl if zookeeper.OK == self.aget(): self.safeMode = False break except: self.safeMode = True if self.safeMode != False: logger.warn("Can not locate " + hostname + " in zookeeper, sleep " + str(timeout) + " seconds.") if self.lock.locked(): self.lock.release()
def verify_acl(junk): self.assertEqual( zookeeper.get_acl(self.client.handle, "/moose")[1], acl)
zookeeper.create(handle, "/zk-python", "data", [ZOO_OPEN_ACL_UNSAFE], 0) zookeeper.get_children(handle, "/zk-python", my_getc_watch) for i in xrange(5): print("Creating sequence node ", i, " ", zookeeper.create(handle, "/zk-python/sequencenode", "data", [ZOO_OPEN_ACL_UNSAFE], zookeeper.SEQUENCE )) except: pass def pp_zk(handle,root, indent = 0): """Pretty print(a zookeeper tree, starting at root""") def make_path(child): if root == "/": return "/" + child return root + "/" + child children = zookeeper.get_children(handle, root, None) out = "" for i in xrange(indent): out += "\t" out += "|---"+root + " :: " + zookeeper.get(handle, root, None)[0] print(out) for child in children: pp_zk(handle,make_path(child),indent+1) print("ZNode tree -- ") pp_zk(handle,"/") print("Getting ACL / Stat for /zk-python --") (stat, acl) = zookeeper.get_acl(handle, "/zk-python") print("Stat:: ", stat) print("Acl:: ", acl)
def get_acls(self, path): return zookeeper.get_acl(self.handle, path)
def create_node(node_name,data_str): global zh stat, acl = zookeeper.get_acl(zh, '/') return zookeeper.create(zh,node_name,data_str,acl,0)
def acl(self, path): return zookeeper.get_acl(self.handle, self.root + path)
zookeeper.create(handle, "/zk-python", "data", [ZOO_OPEN_ACL_UNSAFE], 0) zookeeper.get_children(handle, "/zk-python", my_getc_watch) for i in xrange(5): print "Creating sequence node ", i, " ", zookeeper.create(handle, "/zk-python/sequencenode", "data", [ZOO_OPEN_ACL_UNSAFE], zookeeper.SEQUENCE ) except: pass def pp_zk(handle,root, indent = 0): """Pretty print a zookeeper tree, starting at root""" def make_path(child): if root == "/": return "/" + child return root + "/" + child children = zookeeper.get_children(handle, root, None) out = "" for i in xrange(indent): out += "\t" out += "|---"+root + " :: " + zookeeper.get(handle, root, None)[0] print out for child in children: pp_zk(handle,make_path(child),indent+1) print "ZNode tree -- " pp_zk(handle,"/") print "Getting ACL / Stat for /zk-python --" (stat, acl) = zookeeper.get_acl(handle, "/zk-python") print "Stat:: ", stat print "Acl:: ", acl
def create_node(node_name, data_str): global zh stat, acl = zookeeper.get_acl(zh, '/') return zookeeper.create(zh, node_name, data_str, acl, 0)