We noticed some strangeness in our search results when using a cookbook
name and dropping the implied ‘default’ recipe. I wonder if anyone else
has seen this or if it’s documented somewhere?
Our understanding is that “cookbook::default” and “cookbook” are
functionally identical strings and that substitution happens in some
magical place inside the bowels of chef. But this is not the case, to wit:
node1 and node2 both have “foobar” in their run_list, the “::default” is
implied for both but not included in the node definition from what I can
When I do a “knife node show …” on node1, I see in Recipes that the Chef
server has recorded “foobar::default”. On node2, it just shows “foobar”.
When I use search like this - “knife search node ‘recipes:foobar’”, the
only result returned is node2.
This search term returns both node1 and node2 - “knife search node
This seems to be an inconsistency in how our Chef Server is recording new
nodes (unevenly adding “default” to some cookbook names specified in the
run_list), as well as how the “recipes” filter returns results in Search.
Can anyone point me to some documentation on how to make node creation and
search more consistent without auditing my entire environment and adding
"::default" everywhere it’s implied?
Greg Damiani | BuzzFeed | Senior System Administrator | @grggls
40 Argyll Street, 2nd Floor, London, W1F 7EB