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

Reply via email to