Thanks for your answer Daniel.
I’m having just one git repo that should be available all the time (i.e.
github or similar). My goal would be continuous delivery of an rpm / deb
package with the cookbooks within.
My main concern is if using templates of configuration files instead of
cookbooks would be better or not. Ideally I would prefer cookbooks, but I
don’t seem to find all of them, i.e: dhcp-server (working) with rndc-keys.
Thanks a lot.
On Thu, Jun 20, 2013 at 12:39 PM, Daniel DeLeo email@example.com wrote:
On Wednesday, June 19, 2013 at 2:03 PM, Albert Vonpupp wrote:
I’m totally newbie to chef and this is my first post on the list. I need
to deploy several servers with the following requirements:
- Servers are mostly identical only some variables are changed. Further
details on .
- Servers are geographically dispersed.
- I won’t do any local administration on those servers on a daily basis,
just eventually if local admins have problems.
- There might be some connections issues so decentralization is a must
- The solution “should” run in all major linux distros available.
- I need to ensure the installation and configuration of the following
services: DHCP server, DNS server (Bind), NTP server, NFS server, Samba
server and LDAP server, as other stuff like users, groups and folders
For all of the above reasons I thought using chef-solo for deploy instead
of regular chef.
This is the workflow that I thought.
- I prepare and maintain a git repository (or/and deb / rpm package)
- The local admin clones (or install the package) and executes the main
program which invokes chef-solo
Quick question: how are these git repos set up or distributed? For
example, if your primary git server is in data center A, and the link
between data centers A and B goes down, what do you expect to accomplish on
nodes in data center B? No matter what distribution mechanism you choose,
you won’t be able to ship updated configuration code to the nodes in B,
right? Contrarily, you would be able to create new nodes in data center B
with the old config by copying the configuration code from a local copy. If
that scenario is an absolute must for you, then your chef-solo based
scheme makes sense, but otherwise, you’re losing cool stuff like search
that could potentially make stuff like your DNS setup a breeze.
I’ve been reading and researching for a module to configure a ISC DHCP
server. I tried the dhcp cookbook
http://community.opscode.com/cookbooks/dhcp which seems to be broken. (I
won’t post the log because is not the focus of this email).
I thought that perhaps using my files as templates and just changing the
variable values perhaps would be easier. I have a repository with the
config files here: https://github.com/ccinfra/conf/tree/master/srv/etc
Is this a reasonable approach for the project description? What would you
experts recommend? Using my conf files or using cookbooks, if cookbooks
which ones are the most featured ones?
You can think about this as a similar decision as using any open source
software vs. building your own: If you write your own, it will do exactly
what you want and work the way you think, but you’re responsible for every
bug or new feature you want. Contrarily, using community cookbooks, a lot
of work is done for you already, particularly in the area of multiple
platform support, but you may have to put up with file hierarchies you
don’t like, etc. Also note that there’s a pretty big range of
popularity/activity/quality in different community cookbooks, so you may
encounter a few “bad apples”.
Any good reading / recommendation on how to do this?
https://learnchef.opscode.com to get started,
http://docs.opscode.com/chef/ for reference. There are a good number of
3rd party “getting started with chef” blog posts that may be helpful.
 The most important vars is $id which is used for instance as part of
the: DHCP domain, DNS zone, NFS domain, Samba workgroup, LDAP dn, etc etc.
So a user from one network can access the same services just changing the