def get_nodes_with_recipe(recipe_name, environment=None):
    """Get all nodes which include a given recipe,
    prefix-searches are also supported

    """
    prefix_search = recipe_name.endswith("*")
    if prefix_search:
        recipe_name = recipe_name.rstrip("*")
    for n in get_nodes(environment):
        recipes = get_recipes_in_node(n)
        for role in get_roles_in_node(n, recursive=True):
            recipes.extend(get_recipes_in_role(role))
        if prefix_search:
            if any(recipe.startswith(recipe_name) for recipe in recipes):
                yield n
        else:
            if recipe_name in recipes:
                yield n
def get_nodes_with_recipe ( recipe_name , environment = None ) : prefix_search = recipe_name . endswith ( "*" ) if prefix_search : recipe_name = recipe_name . rstrip ( "*" ) for n in get_nodes ( environment ) : recipes = get_recipes_in_node ( n ) for role in get_roles_in_node ( n , recursive = True ) : recipes . extend ( get_recipes_in_role ( role ) ) if prefix_search : if any ( recipe . startswith ( recipe_name ) for recipe in recipes ) : yield n else : if recipe_name in recipes : yield n
Get all nodes which include a given recipe,
    prefix-searches are also supported