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.

Reply via email to