'Create a Kazoo lock.
:param client: A :class:`~kazoo.client.KazooClient` instance.
:param path: The lock path to use.
:param identifier: Name to use for this lock contender. This
can be useful for querying to see who the
current lock contenders are.'

def __init__(self, client, path, identifier=None):

    self.client = client
    self.path = path
    self.data = str((identifier or '')).encode('utf-8')
    self.wake_event = client.handler.event_object()
    self.prefix = (uuid.uuid4().hex + self._NODE_NAME)
    self.create_path = ((self.path + '/') + self.prefix)
    self.create_tried = False
    self.is_acquired = False
    self.assured_path = False
    self.cancelled = False
    self._retry = KazooRetry(max_tries=None, sleep_func=client.handler.sleep_func)
