On Oct 29, 2009, at 10:59 AM, Thomas Bellman wrote:
>
> 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.
This is a different enough use of environments that it almost
qualifies for a different term. Markus has been talking of this as a
branch - you're basically branching a given environment, making some
changes, testing on a few nodes, and when you're happy with the
configuration you're merging the branch.
Interesting usage, and we certainly need some means of supporting that
ability.
--
Meeting, n.:
An assembly of people coming together to decide what person or
department not represented in the room must solve a problem.
---------------------------------------------------------------------
Luke Kanies | http://reductivelabs.com | http://madstop.com
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---