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.