Exemplo n.º 1
0
 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])
Exemplo n.º 2
0
 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])
Exemplo n.º 3
0
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)
    }
Exemplo n.º 4
0
    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")
Exemplo n.º 5
0
    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")
Exemplo n.º 6
0
 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()
Exemplo n.º 7
0
 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()
Exemplo n.º 8
0
 def verify_acl(junk):
     self.assertEqual(
         zookeeper.get_acl(self.client.handle, "/moose")[1],
         acl)
Exemplo n.º 9
0
    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)

Exemplo n.º 10
0
 def get_acls(self, path):
     return zookeeper.get_acl(self.handle, path)
Exemplo n.º 11
0
 def get_acls(self, path):
     return zookeeper.get_acl(self.handle, path)
Exemplo n.º 12
0
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)
Exemplo n.º 13
0
 def acl(self, path):
     return zookeeper.get_acl(self.handle, self.root + path)
Exemplo n.º 14
0
    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

Exemplo n.º 15
0
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)