[chef] Re: Roles and Versioning


Chronological Thread 
  • From: Peter Donald < >
  • To:
  • Subject: [chef] Re: Roles and Versioning
  • Date: Wed, 21 Nov 2012 06:05:56 +1100



On Wed, Nov 21, 2012 at 5:31 AM, Kevin Christen < " target="_blank"> > wrote:
  • Version the role through its name. In other words, leave "foo_host" alone and create a "foo_host_1" role with both recipes in its run_list.
  • Run separate versions of chef server for each environment, as mentioned here. Update the role in only those servers who's environment will pick up the latest version of the cookbook.
  • Don't use a role for this purpose. Instead, define a separate, versioned "wrapper" cookbook as described by Bryan Berry here.
Is there a community consensus on how to deal with this situation?

We have used the first option and the last option. The first is painful and ugly to use and easy to get things wrong as you are constantly swapping nodes from one role to the next and if you get something wrong you can have the same node with two versions of a single logical role. The last option works well for us (Although we differentiate between role and wrapper cookbooks [1]). The middle option works ok if you do not have cross talk between environments and don't use it as a CMDB. However if you want to version attribute data as well as run list data I would suggest that the second option still needs to be combined with the third option to simplify understanding of the system.




Archive powered by MHonArc 2.6.16.

§