Issue #2658 has been updated by Luke Kanies.

Ok, this is *prototype* code, but I've got something up in my 
features/master/2658-run_stages branch.

Here's the example config:
<pre>
stage { pre: before => Stage[main] }
stage { post: require => Stage[main] }

class foo {
    notify { "foo": }
}

class bar {
    notify { "bar": }
}

class baz {
    notify { "baz": }
}

class { foo: stage => post }
class { bar: stage => pre }
class { baz: stage => main }
</pre>
In my testing, this results in a consistent order.

What I haven't done is, um, anything else.  Basically, I don't yet know how 
this will behave in a case of cross-stage relationships, or anything like that, 
although it should, um, behave correctly.

The weird gotchas here:

* You have to specify the stage relationships; by default, order is completely 
arbitrary.
* Stages only work when specified on classes; anything else is just completely 
ignored.

Eh?
----------------------------------------
Feature #2658: Add puppet "run stages"
http://projects.puppetlabs.com/issues/2658

Author: Robin Bowes
Status: Needs design decision
Priority: Normal
Assigned to: Luke Kanies
Category: 
Target version: 
Affected version: 0.25.0
Keywords: 
Branch: 


Sometimes, there are certain specific manifests that you want to run before all 
others.

Similarly, there may be others that you want to run after all others have 
finished.

I'd like to see support for this added to puppet.

By default, all manifests would be "run" in the "main" stage. However, all 
types would support an additional parameter: stage => 'pre' or stage => 'post.

Anything labelled as "pre" would be executed first, followed by anything 
labelled "main" or with no explicit stage, then finally anything labelled 
"post".

The stages could even be user-defined by specifying them in some config file, 
eg:

[stages]
default=main
1=pre
2=main
3=post

Any support for this sort of idea?


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to