Ohad Levy wrote:

> On Thu, Oct 29, 2009 at 8:17 AM, Luke Kanies <[email protected] 
> <mailto:[email protected]>> wrote:
> 
>     Sorry - what I mean is, does the environment for a given host need to
>     change frequently from one value to another?  E.g., do hosts pop in
>     and out of testing?
>  
> I'm not sure how other people are handing it, but when we follow 
> dev-->test-->production cycles,  you can only go from right to left, 
> anything else usually mean re installation.

On the other hand, the way we do it at my workplace, is that we have
one environment "production", which machines normally use.  When we
want to change something, we use a separate testing environment where
we edit the manifests, and run 'puppetd --onetime --environment=test'.
If the changes work correctly, we do 'git commit' and 'git push', and
then 'git pull' in production.  The normal Puppet run some time later
(we only run every 4th hour, not every 30 minutes) will of course run
from the production environment.

If our edits break things, we have to revert.  Depending on how the
things broke, we may either just rely on doing 'puppetd --onetime
--environment=production', or we may need to do manual revert of
what happened.

Depending on how invasive our changes are, we may also try them on
one or several more machines (machines with different roles) before
pushing to production.

Occasionally, we may move a machine to the test environment for a
a day or a few days before we are satisfied with our changes and
push them to production.  We then of course have to manually remember
to move the machine back to the production environment.

And we actually don't have just one test environment; each sysadmin
has their own, and sometimes I have several so I can develop multiple
new features in parallel.

We don't have the luxury of having spare machines for testing out
changes, so we have to do much of it on live systems.  And it seems
that in practice we don't break things often and hard enough to
warrant having spare testing systems.

So, for us a machine may change its environment many times a day,
back and forth between production and one of several testing
environments.  We rely heavily on being able to specify the
environment using --environment.


        /Bellman

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to