def METHOD_NAME(*args):
    """
    config-lvm-filter
    Configure LVM filter allowing LVM to access only the local storage
    needed by the hypervisor, but not shared storage owned by Vdsm.
    Return codes:
        0 - Successful completion.
        1 - Exception caught during operation.
        2 - Wrong arguments.
        3 - LVM filter configuration was found to be required but could not be
            completed since there is already another filter configured on the
            host.
        4 - User has chosen not to allow LVM filter reconfiguration, although
            found as required.
    """
    args = parse_args(args)
    print("Analyzing host...")
    config_method = config.get("lvm", "config_method").lower()
    if config_method == "filter":
        return config_with_filter(args)
    elif config_method == "devices":
        return config_with_devices(args)
    else:
        print("Unknown configuration method %s, use either 'filter' or "
              "'devices'." % config_method)
        return CANNOT_CONFIG