Accepting higher versions from remote on promote remote #189
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.