- 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.