Reputation: 187
I have the following dependencies during an app-installation/bootstrap across multiple nodes:
So the thing is that I have chef-run dependencies between two nodes that have to finish stuff before the other node can proceed.
All nodes reside in the same Environment and I was thinking of setting an Environment attribute that tells the waiting host when/if it can proceed, or if it should fail to not wait forever.
The question is though: What would be an elegant solution to this dependency problem that stretches across multiple Nodes?
Cheers and Thanks, Stefan
Upvotes: 2
Views: 117
Reputation: 54211
This is not a problem Chef solves (at least not usefully enough to discuss). Chef does offer a companion project called Push Jobs that could be used for this, though it has minimal tooling and integrations available. You can also look at MCollective, SaltStack, Fabric, and RunDeck. Personally I use a mix of the last two.
The other option is to never wait, write everything to be resilient to failure which usually also includes other dependent services being unavailable. This moves things into an "eventually consistent" model for most cases, but you'll have to figure out what is actually required for nodes to operate.
Upvotes: 1