On Sat, Jun 11, 2011 at 6:39 AM, Vagn Scott <vagnsc...@gmail.com> wrote: > Let's see: Then I could do > > Stage { ensure => enforcement, } > > at the top and get the behavior I want: > prerequisites are satisfied before moving on. > > But, what's the use case for relationship? > Why would I want that? > > consider three stages in various > combinations of enforcement (e) and relationship (r) > > 0. e e e > 1. e e r > 2. e r e > 3. e r r > 4. r e e > 5. r e r > 6. r r e > 7. r r r > > Does it matter how we define the third stage? > I think it is a don't-care: > > [0,1]. e e - > [2,3]. e r - > [4,5]. r e - > [6,7]. r r - > > And then the 2nd stage is a don't-care: > > [0,1,2,3]. e - - > [4,5,6,7]. r - - > > And then none of them matter: > > [*]. - - - > > It seems to me that stages are only sensible if they > are either all enforcement or all relationship, > but not mixed. So, if I had to choose I > would choose enforcement, because I have other ways to > express relationship (before/after/require/notify).
I'm not sure if I captured the intention well, essentially still want a way to coarsely organize classes, however without adding any dependency requirement. So deploy user accounts/customization after application deployment, however still proceed with user deployment even if there was any issues with the application deployment. > Also, suppose I set > > Stage { ensure => enforcement, } > > for the site and some module decides to do: > > stage { 'unique_snowflake': > before => Stage['whatever'], > ensure => relationship, > } > > What does that do to my design? > > Since enforcement subsumes relationship, anyway, > why don't stages just do enforcement? > > -- > vagn > > On 06/10/2011 11:15 PM, Nan Liu wrote: >> >> There are two intended use case for stages and I was hoping we can >> split them up into: >> >> 1. stages for bootstrap that will halt processing of dependent stages. >> 2. stages for relationship organization that will not halt processing >> of subsequent stages. >> >> stage { 'bootstrap': >> ensure => enforcement, >> before => Stage['pre'], >> } >> stage { 'pre': >> ensure => enforcement, >> before => Stage['main'] >> } >> stage { 'main': >> ensure => relationship, >> before => Stage['post'] >> } >> stage { 'post': >> } >> >> Stages that are enforcement must have all resource completed, stages >> that are purely relationship do not block subsequent stages, but >> resource dependency still apply within the stage. Would something like >> this make sense? >> >> Thanks, >> >> Nan >> > > -- > 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. > > -- 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.