I have a few nagging questions about Chef. One of them revolves around
potential race conditions in updating nodes and databags on Chef Server.
For the life of me I am unable to find any information on how Chef updates
node information on the server side. Does it merge changed keys? Does it
fully overwrite all json keys? If a client run starts and then some
external force updates the node on the server, will node.save(s) on the
client overwrite that information? What about data bags?
I would appreciate any information that could be provided on this topic.
I’m considering drastic measures to to my lack of understanding of the
*Only nodes update their attributes
*Databags have ONE writer, multiple readers
*Desired state stored in data bags
*Current state stored in node attributes or other data bags