[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Staging rollouts to production environment
From: |
Ted Zlatanov |
Subject: |
Re: Staging rollouts to production environment |
Date: |
18 Oct 2004 14:55:05 -0400 |
User-agent: |
Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux) |
On Mon, 18 Oct 2004, bthomas@shopping.com wrote:
> "If the file /etc/cfengine.stagehost exists, consider yourself a
> staging server, otherwise, you're production."
>
> Either way, this kind of tweak has the nice effect of being able to
> manage it through a manual process (i.e. touch the file by hand, presto,
> it's a staging client), or through cfengine (For this group of servers,
> add the stagehost file, from now on it's a staging client).
>
> The relevant portions of the update.conf are:
>
> --
> groups:
>
> cfstagehost = ( FileExists(/etc/cfengine.stagehost) )
I understand what you're doing, but I'm not sure why you wouldn't just
say:
groups:
cfstagehost = ( alpha beta gamma )
in your non-RPM groups definition, instead of pushing a special /etc
file out to alpha, beta, and gamma. Then you have no custom /etc
files, and everything is in the configuration files that are
automatically distributed across all your machines. If you need the
special /etc file you can always touch it yourself if the cfstagehost
class is defined, and remove it otherwise.
Then the problem is reduced to propagating a small groups file (which
is included by the main groups definition, which is in the RPM if I
understand correctly) by update.conf or rsync or whatever mechanism
you like.
Am I missing something? I hope this was helpful...
Ted