This function is called by the :mod:`salt.modules.chassis.cmd <salt.modules.chassis.cmd>`
    shim.  It then calls whatever is passed in ``cmd``
    inside the :mod:`salt.modules.dracr <salt.modules.dracr>`
    module.

    :param cmd: The command to call inside salt.modules.dracr
    :param args: Arguments that need to be passed to that command
    :param kwargs: Keyword arguments that need to be passed to that command
    :return: Passthrough the return from the dracr module.

def chconfig(cmd, *args, **kwargs):
    '''
    This function is called by the :mod:`salt.modules.chassis.cmd <salt.modules.chassis.cmd>`
    shim.  It then calls whatever is passed in ``cmd``
    inside the :mod:`salt.modules.dracr <salt.modules.dracr>`
    module.

    :param cmd: The command to call inside salt.modules.dracr
    :param args: Arguments that need to be passed to that command
    :param kwargs: Keyword arguments that need to be passed to that command
    :return: Passthrough the return from the dracr module.

    '''
    # Strip the __pub_ keys...is there a better way to do this?
    for k in list(kwargs):
        if k.startswith('__pub_'):
            kwargs.pop(k)

    # Catch password reset
    if 'dracr.'+cmd not in __salt__:
        ret = {'retcode': -1, 'message': 'dracr.' + cmd + ' is not available'}
    else:
        ret = __salt__['dracr.'+cmd](*args, **kwargs)

    if cmd == 'change_password':
        if 'username' in kwargs:
            __opts__['proxy']['admin_username'] = kwargs['username']
            DETAILS['admin_username'] = kwargs['username']
        if 'password' in kwargs:
            __opts__['proxy']['admin_password'] = kwargs['password']
            DETAILS['admin_password'] = kwargs['password']

    return ret