I prefer having a small number of predefined stages in puppet.
This makes it easier to share modules which use stages.
My suggestion:
- a small number of stages is easier to remeber
- a samll numer of possibilities makes people think in advance in which
stage they need to put their module

Additionally I would still like to have the possibility to add
individual stages.


My proposal for names:

(the proposed names from Nigel#s mail are fine for me)
- bootstrap
- pre ( another proposal: init?)
- main
- post

(and a name for the very last stage I am using on some setups)
- cleanup




On 06/10/2011 06:47 AM, vagn scott wrote:
> 
> A while back I wrote down all the puppet patterns
> I could think of, and this was one of them.
> I named it Cradle To Grave, but probably that's not
> appropriate.  However, I was only focusing on
> puppet runs at the time, so that name popped into my head.
> It is an instance of the more general pattern Convention
> Over Configuration.
> 
> Of course, sites will define their own stage sequences.
> But there is still benefit to having a canonical sequence
> to refer to when publishing modules.
> 
> I think the trick to making it work generally
> is to allow renaming of the stages.
> That is, the stages are referred to through
> variables, so the stage names can be
> changed by, for example, sub-classing
> in order to make them fit into a site design.
> 
> I've got one module that uses stages.
> I think I will change it to make the stage names
> an abstraction and see how that works.
> 
> -vagn
> 
> CRADLE TO GRAVE
> 
> problem:
> 
>         There are many steps that must be done in sequence.
>         Expressing that through dependencies is tedious,
>         and violates the principle of encapsulation (or something).
> 
> solution:
> 
>         Convention over configuration:
>         have some canonical stages.
> 
>         also have module specific stages
>         that relate to the canonical stages.
> 
> canonical stages (but, don't take this particular list seriously):
> 
>         local-pre
>         local
>         local-post
>         network-pre
>         network
>         network-post
>         .. as above, there is a -pre and -post version of
>         provisioning
>         package
>         package-update
>         lib
>         comms
>         mounts
>         scripts
>         services
>         db
>         web
>         bikeshed
>         main
>         app
>         ha
>         env
>         restart
> 
> module stages:
> 
>         foo-local-pre
>         foo-network
>         foo-mounts-post
>         foo-whatever
> 
> pros:
> 
>         don't have to constantly mess with dependencies,
>         just slot the module in where it belongs in the
>         grand scheme.
> 
> cons:
> 
>         deciding where to put the bikeshed
> 
> 
> 
> On 06/09/2011 09:50 PM, Jacob Helwig wrote:
>> On Thu, 09 Jun 2011 18:42:54 -0700, Nigel Kersten wrote:
>>   
>>> https://projects.puppetlabs.com/issues/7697
>>>
>>> One problem people producing modules that make use of stages are
>>> hitting is
>>> that it's difficult to create something reusable that integrates
>>> seamlessly
>>> into existing setups.
>>>
>>> This feature request is to add several more implicit stages to Puppet
>>> so we
>>> have:
>>>
>>> bootstrap
>>> pre
>>> main
>>> post
>>>
>>> existing by default, making it easier for authors to specify stages
>>> in their
>>> modules.
>>>
>>> Thoughts?
>>>
>>>      
>> The answer to question "Which comes first, 'bootstrap' or 'pre'?" seems
>> awfully ambiguous from just the names.
>>
>> What's the reason for separating it out?
>>
>>    
> 

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to