<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def absent(name, version=-1, recursive=False, profile=None, hosts=None, scheme=None,
           username=None, password=None, default_acl=None):
    '''
    Make sure znode is absent

    name
        path to znode

    version
        Specify the version which should be deleted
        Default: -1 (always match)

    recursive
        Boolean to indicate if children should be recursively deleted
        Default: False

    profile
        Configured Zookeeper profile to authenticate with (Default: None)

    hosts
        Lists of Zookeeper Hosts (Default: '127.0.0.1:2181)

    scheme
        Scheme to authenticate with (Default: 'digest')

    username
        Username to authenticate (Default: None)

    password
        Password to authenticate (Default: None)

    default_acl
        Default acls to assign if a node is created in this connection (Default: None)

    .. code-block:: yaml

        delete znode:
          zookeeper.absent:
            - name: /test
            - recursive: True
    '''
    ret = {'name': name,
           'result': False,
           'comment': 'Failed to delete znode {0}'.format(name),
           'changes': {}}
    connkwargs = {'profile': profile, 'hosts': hosts, 'scheme': scheme,
                  'username': username, 'password': password,
                  'default_acl': default_acl}

    if __salt__['zookeeper.exists'](name, **connkwargs) is False:
        ret['result'] = True
        ret['comment'] = 'Znode {0} does not exist'.format(name)
        return ret

    changes = {}
    changes['value'] = __salt__['zookeeper.get'](name, **connkwargs)
    changes['acls'] = __salt__['zookeeper.get_acls'](name, **connkwargs)
    if recursive is True:
        changes['children'] = __salt__['zookeeper.get_children'](name, **connkwargs)

    if __opts__['test'] is True:
        ret['result'] = None
        ret['comment'] = 'Znode {0} will be removed'.format(name)
        ret['changes']['old'] = changes
        return ret

    __salt__['zookeeper.delete'](name, version, recursive, **connkwargs)

    if __salt__['zookeeper.exists'](name, **connkwargs) is False:
        ret['result'] = True
        ret['comment'] = 'Znode {0} has been removed'.format(name)
        ret['changes']['old'] = changes

    return ret