jonlives / knife-spork

A workflow plugin to help many devs work with cookbooks and environments at once
Other
335 stars 97 forks source link

Accepting higher versions from remote on promote remote #189

Open nishansubedi opened 9 years ago

nishansubedi commented 9 years ago

Proposal: A knife spork promote remote currently downloads the remote environment, compares it with the local environment, and unless things fail, uploads the entire local environment. This proposal is to change this behavior to accept versions of cookbooks higher than local from remote, and edit the local file to reflect that. So, at the end of the promote --remote act, all data will be reflect the highest version of the set of versions under consideration.

This change will not make the race condition that currently exists better or worse since this is determined by when remote gets downloaded against when it’s uploaded. The race condition can be encountered in the following scenario: A runs promote —remote B runs promote —remote A downloads remote environment B downloads remote environment B uploads local environment, bumping a cookbook, e.g. apache to 2 A uploads local environment, bumping a cookbook, e.g. php to 2, this will downgrade apache to 1.