def find_value(firewalls_dict, find_item):
    """Finds Value in Nested Dictionaries

    Args:
        firewalls_dict (dict): A dictionary of firewall HA information
        find_item (str): The value to find in a dictionary

    Raises:
        KeyError (exception): If the value hasn't been found

    Returns:
        this_key_chain (list): A list of dictionary keys to use to find value
    """
    reverse_linked_q = list()
    reverse_linked_q.append((list(), firewalls_dict))
    while reverse_linked_q:
        this_key_chain, this_value = reverse_linked_q.pop()

        if this_value in find_item:
            return this_key_chain

        try:
            items = this_value.items()
        except AttributeError:
            continue

        for key, value in items:
            reverse_linked_q.append((this_key_chain + [key], value))

    raise KeyError