On Thu, Dec 18, 2008 at 6:00 AM, John Florian <[email protected]> wrote: > I'm not sure I'm up to developing this myself just yet as I'm very new > to puppet and haven't done any ruby thus far. I was about to create a > feature request, but then realized what you were saying about adding > upstart as a provider to the service type. I'm not sure that's > exactly what's needed. It's what I need, but perhaps would be wrong > for other uses of upstart. Upstart by design is event driven, so you > can have things like this: > > # This task is run whenever the Control-Alt-Delete key combination is > # pressed. Usually used to shut down the machine. > > start on control-alt-delete > > exec /sbin/shutdown -r now "Control-Alt-Delete pressed" > > > Here's another example from Fedora 10 that shows even more diversity: > > start on fedora.serial-console-available * > stop on runlevel [016] > > instance > pre-start script > # script portion removed for brevity > end script > exec /sbin/agetty /dev/$1 $2 vt100-nav > post-stop script > # script portion removed for brevity > end script > > I found the following page to be a quick, but informative read on some > of the capabilities: http://upstart.ubuntu.com/getting-started.html
Many of those concepts don't currently map cleanly into Puppet's model. There's no reason they can't, the model could be extended to cover these concepts. However, the way that should happen is to add providers to types which are already in Puppet's model, and create new generic types to cover the other concepts. Since Puppet is to some extent an abstraction layer, we should strive to use/create generic abstractions rather than create a bunch of specific stuff (like an "upstart" type). Anyway, there's nothing wrong with building support for this sort of thing incrementally; why not make a provider for the service type that uses some of upstart's capabilities and ignores the rest? As for whether you are up to developing a provider: trust me, you probably are. The best way to stop being new to both Puppet and Ruby is to pick a task that is both useful, slightly complex without being far too difficult, and interesting to you. This sounds like it could be just the thing for you. --Paul --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Users" 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-users?hl=en -~----------~----~----~----~------~----~------~--~---
