Re: [Puppet Users] RFC: Adding implicit stages to Puppet

2011-06-11 Thread Vagn Scott

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).

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.



Re: [Puppet Users] how to do conditional check?

2011-06-11 Thread Sans
Thanks kc! I probably didn't myself clear. I don't wanna create the the 
config directory, in stead,* if it exists*, then make sure config file is 
present with those info. Cheers!!

-- 
You received this message because you are subscribed to the Google Groups 
Puppet Users group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/FN4cuCrWX94J.
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.



Re: [Puppet Users] RFC: Adding implicit stages to Puppet

2011-06-11 Thread Vagn Scott



On 06/11/2011 01:06 PM, Nan Liu wrote:

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.


If you are not expressing dependency, then where is the
need for organizing the classes?  Couldn't you
just as well run the classes in alphabetical order?

We already have Class[ foo ] - Class[ baz ]

Which implies a topological sort.  But it fails to
capture that one set of classes must succeed
before another set can be attempted.  I think stages
should express that kind of boundary, and not just
be another expression of sequencing.

Are you perhaps talking about a rendezvous, where
multiple sequences of stages all have to
complete before the rendezvous will unblock?

a - b - c - g
d - f - c

With c as a rendezvous d and f can complete even
if a stalls. Nothing in c or g will run until all
of [ a b d f ] complete.

In my thinking this was implicit in enforcement.
But maybe rendezvous is a more descriptive term.

--
vagn

--
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.



Re: [Puppet Users] Puppet Support for OSX

2011-06-11 Thread Mister IT Guru
This is great to know! I guess I have to make some time do some research
and testing, I've inherited a lot of mac desktops, and *boy* it's a mess!
So, I'm glad at the moment. Now comes the hard part of getting it working!

On 08/06/2011 16:00, James Turnbull ja...@puppetlabs.com wrote:

Mister IT Guru wrote:
 Hi guys ­ I was wondering how well puppet performs on  OSX. Anyone here
 had any experience using puppet under OSX?
 

Very well and it's well supported.  Google uses it to manage their
internal OSX desktops as do a number of other companies, universities,
etc.

Regards

James


-- 
James Turnbull
Puppet Labs
1-503-734-8571

-- 
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.