There is a simple knife command which can be used to remove all recipes from the run_list of all nodes in a environment.
For this you have to create a dummy role like suppose dummy_role.
#knife role create dummy_role
Once you create the dummy role, assign this role to all the nodes in the environment using the below knife command.
#knife exec -E ‘nodes.transform(:all) {|n| n.run_list([“role[dummy_role]”])}'”
Now this command would remove all the recipes added to the run_list of the nodes in the environment and add dummy_role to the run_list.
We can remove the dummy_role from the run_list of all the nodes and make it empty.
#knife exec -E ‘nodes.find(“role:dummy_role”) {|n| n.run_list.remove(“role[dummy_role]”); n.save}’
This is helpful in scenarios where you need to remove all the recipes irrespective of the nodes in the environment and start adding fresh.