- From: "John E. Vincent (lusis)" <
>
- To:
- Subject: [chef] Re: Advice sought on Chef-ifying heterogeneous mess of Unices
- Date: Thu, 20 Sep 2012 22:28:20 -0400
On Thu, Sep 20, 2012 at 9:52 PM, Christopher DeMarco
<
>
wrote:
>
I run a smallish shop of about 50 Linux and OSX boxes, all of varying
>
vintage. All are one-offs, and all are SPOFs. There are very few
>
apps/configurations in common - MTA, SSH, some backup systems, etc.
>
>
I tried Puppet ca. 2008, and ran into 2 problems, which I'd like to avoid
>
with Chef:
>
>
1. Where to start? I began learning by putting my .emacs and .bashrc
>
everywhere. While that was cute, it quickly became more trouble than it was
>
worth, because I didn't automate anything of high risk, value or volume.
>
>
2. How do I get legacy systems into the fold? I have every version of
>
Ubuntu and OSX since 2007, and therefore my Ruby will be archaic.
>
>
I don't have the luxury of tearing down most systems to start anew, and we
>
don't (yet) have a good testing infrastructure or protocol.
>
FWIW, Vagrant was my gateway drug to Chef, so I have hope that I can at
>
least use that to prototype/test services for cybernetic replacement.
>
>
What advice do you have for somebody trying to automate a shop like this?
>
>
Thanks in advance, and I'll see you at LISA!
>
>
--cmd
http://en.wikipedia.org/wiki/File:15-puzzle.svg
That may seem like a joke but it's not. Converting legacy systems is a
sliding puzzle game and it's how I've handled it at the last N orgs.
Don't try to bring the systems into the fold except for the most basic
of things. The only thing you need is a free server somewhere. Just
one. If you want to keep your sanity, pick a system (preferably the
most simple) and rebuild it in Chef. Do this over and over and over
and over again on your test system until it works and comes out
exactly like it should. Don't stress about doing things the "right"
way. Hell, use a single cookbook entirely made up of execute resources
if that's what it takes.
Once you know that system is EXACTLY the same as the other (or that
the differences are not in any critical path, swap it out. After a
small validation period and burn in wipe the old one, pull in the next
complex system and do the same thing. Eventually you will have all of
your systems migrated to Chef. Start refactoring the cookbooks to use
more elegant resource types (i.e. switch from an execute resource
calling apt-get install to a package resource). Red - Green -
Refactor.
It's painful but you can probably start seeing results in a few weeks.
The latter systems will start to convert faster as you get more
comfortable with the process.
Archive powered by MHonArc 2.6.16.