Issue #3760 has been updated by Robin Bowes.
Mmmm, I like the implications of this. It basically means you can write various system admin scripts in puppet, and run them with something like: puppetd --test --runonce some::admin::script Add in some mechanism to so the same thing on several hosts simultaneously - possibly even puppetrun... Sounds like a potentially great feature. ---------------------------------------- Feature #3760: Support one-off or single run manifests http://projects.puppetlabs.com/issues/3760 Author: R.I. Pienaar aka Volcane Status: Unreviewed Priority: Normal Assigned to: Category: Target version: Affected version: 0.25.4 Keywords: Branch: Lots of actions that you'd want to perform are potentially destructive: * start your OS installer after creating a virtual machine * create a bunch of empty tables, dropping whatever is there now in a DB * create/re-create LVM partitions and so forth. The usual approach is to use an exec that then create some file and use the creates => option, this is risky as those little locks may end up in lost+found resulting in huge data loss. IF would be handy if I can have classes that associate with other classes, example: <pre> class xen::vm::mybox { # create the VM config files here } class xen::vm::mybox::build { include xen require xen::vm::mybox # initiate the building process here which might also do rebuilds, it would require # some resources from xen::vm::mybox in it's execs } node dom0 { $location = "dc1" include xen, xen::vm::mybox } </pre> I'd want to be able to run the node that only has the xen VM definition in it but at some other point when I am ready I want a way to run the node but only the _xen::vm::mybox::build_ class. This special one-off run should have access to facts, variables provided by my node block - the _$location_ var in this case. In other words it should run through the whole compile process as normal, but instead of the classes that's in the node block it should run my provided class. When I am ready to build/rebuild my VM I can just do: <pre> puppetd --test --runonce xen::vm::mybox::build </pre> I'd do this as often as I need to rebuild my VM. This is one use case, we'd need some way to do this in a generic way. Today we have the --class option that's close but it has the caveat that the class has to be included on the node which we'd not want as these are special one-off or infrequent use classes. The main reason for this is to keep all the logic related to VMs in one place, in one language and in one documentation tree using puppetdoc. I am writing this in response to discussions in #2658. -- 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.
