[chef] Re: different kind of clients, cookbook dev workflow


Chronological Thread 
  • From: Adam Jacob < >
  • To:
  • Subject: [chef] Re: different kind of clients, cookbook dev workflow
  • Date: Mon, 7 Jun 2010 09:56:46 -0700

On Mon, Jun 7, 2010 at 5:24 AM,  
< >
 wrote:
> I've successfully setup a chef server and more than 100 clients.
> I have two different kinds of clients: servers and workstations.

Sweet!

> I read some of you would setup separate chef-server for this usage.
>
> What's opscode's position about that kind of setup, and what would you
> recommend ?
> I can think of some reasons to use several environments:
> - might be faster, would that mean chef-server doesn't scale properly ?

The chef-server scales pretty well - it's more about...

> - attributes, cookbooks and node separation. As far as i know, there's
>  no acl support in chef so I should not mix server and workstation up
>  if I intend to have sensible informations in attributes, databags
>  or cookbooks

I totally do mix the server and workstation recipes in one repository.

> - webui status page doesn't allow to sort, regroup or select nodes by
>  roles

But it should! :)

There is a feature coming in the 0.10 era Chef (0.9 is about to drop,
and lays the foundation for this) that will let you set up multiple
environments on a single Chef server - you can have a workstation
environment, testing, production, etc.  Each will have the ability to
have cookbooks pinned to particular versions, and their own roles and
data bags.

> Another question for which the answer might be related:
> What's your developpement workflow with cookbooks ?

The upcoming 0.9 release makes this easier, but mine goes like this:

# If I'm adding an upstream cookbook
$ knife cookbook site vendor COOKBOOK -d
# Make changes
$ edit stuff
# Commit
$ git commit -a -m "Did some stuff"
# Push
$ knife cookbook upload COOKBOOK
# Run stuff
$ knife ssh 'role:has_cookbook' chef-client

Rinse and repeat. :)

> Do you run another chef-server environment to test cookbooks ?

I use a virtual machine that I can snapshot and roll-back on the disk.

> Using shef ?

I do.

> I'm using git to manage my cookbooks, i'd love to have 2 main
> branches "production" and "testing" and have chef serving the correct
> branch depending on a node's environment attribute (for ex) :)

Works great.  Another 0.9 feature here is per-directory knife
configurations - this will let you have a production and testing
directory, with knife pre-configured to function appropriately as soon
as you enter the directory.

Adam

-- 
Opscode, Inc.
Adam Jacob, CTO
T: (206) 508-7449 E: 




Archive powered by MHonArc 2.6.16.

§