Thanks a lot for sharing your thoughts Jens and Morgan! I tried to implement approach with testing and master branches in git where all pushes to testing are automatically uploaded to testing chef server and all pushes to master are automatically uploaded to production chef server. This approach appeared to be inconvenient since it required frequent merges between branches. Also if 2 people worked simultaneously in testing and one of them was integrating his changes into master he could accidentally merge changes of other person, which may not be ready for production yet. So I decided to switch to approach where chef development can be done in feature branches, updates are delivered to testing chef server via knife and when everything works as expected feature branch is being integrated into master branch and changes automatically propagate to production chef server. But I want to introduce protection against changes that were not tested on testing chef server and to reject pushes that failed to upload to production chef server. I understand, that this doesn't guarantee that successfully uploaded cook books have flawless logic. Also I can't rely on everybody using cookbook version locking, some people just use latest versions. Considering all above I need to implement rollback mechanism if upload would fail. I can preserve old versions of roles and environments and upload them again if something went wrong. For cookbooks this is even easier. All updated cookbooks should have bumped versions so for rollback I just need to delete specific cookbook version. But it would be really great if I can update chef server in transactional manner. By this I mean that I somehow tell chef server "update started", upload changes and after that send command "update ok" and those changes take effect simultaneously, or in case of "update failed" command all changes are discarded. Do I understand correctly, that currently chef server doesn't support such use case? Thanks, Kirill. On 05/20/2013 11:23 AM, Jens Skott
wrote:
" type="cite"> |
Archive powered by MHonArc 2.6.16.