The node object represents both the desired state of the node as well as the current state of the node at the end of the last successful run or edit. This causes multiple issues, and we would like to fix this at a higher level than the single issues.
This issue is a placeholder for discussion and linking issues.
- role/recipe: roles and recipes in the run list. May or may not be the current state.
- roles/recipes: expanded run list during client run and saved to the node object at the end of a successfully run (Chef::Client#expand_run_list). Current state only.
- No way to search for nodes that will be a positive search hit in the expanded run list later (expand run list on server? CHEF-1828)
- Last write of the node object wins (chef-client runs may have an old copy during a run). CHEF-1812