def file_find(filename, user_file=None, pass_exception=False):
    file_check = [
        os.path.join(
            '/etc', 'openstack_deploy', filename
        ),
        os.path.join(
            os.getcwd(), filename
        )
    ]

    if user_file is not None:
        file_check.insert(0, os.path.expanduser(user_file))

    for filename in file_check:
        if os.path.isfile(filename):
            return filename
    else:
        if pass_exception is False:
            raise SystemExit('No file found at: %s' % file_check)
        else:
            return False
Checks to ensure ``put`` is within ``allowed_methods``.
dataset/ETHPy150Open openstack/openstack-ansible/scripts/inventory-manage.py/file_find--crossover with--dataset/ETHPy150Open toastdriven/piecrust/piecrust/resources.py/Resource.can_update