[chef] Re: How to create services with the service resource?


Chronological Thread 
  • From: AJ Christensen < >
  • To:
  • Subject: [chef] Re: How to create services with the service resource?
  • Date: Thu, 16 Aug 2012 15:24:02 +1200

Hello,

You are correct in assuming that the service resource (when told to
use the Simple or Init Service Providers) can be used to define and
run services.

Please post the relevant debug output surrounding any problems you're
having with the service resource and provider.

Additionally, using bash scripts as your start/stop command is uh.. a
little suboptimal? Have you considered using a process supervision
system, e.g.; Runit, Upstart, Monit, s6, .. (...?)

To answer your other questions:

> - what is the purpose of the "restart_command" etc parameters? How are
> they used, if not to write to a script in init.d/?

If you specify a restart_command and the service supports :restart =>
true, then the restart_command will be issued when the :restart action
is run on the service.

> - what's the purpose of "supports" parameter - what does Chef do with it?

The supports parameter allows the user to supply hints to the provider
as to the state of the resources that Chef is managing, in this case:

:status (whether the service supports a status command)
:reload (supports reload?)
:restart (supports restart?)

I wrote this code years ago, so this is going off memory, essentially
the idea was:

If the service doesn't support status, inspect the process table (via
regex) to determine service status, alternately; when the service
supports status, issue the status command to determine service status.

restart and reload should be self-descriptive

I am not aware to any major modifications to this logic.

> - what's the best way to create services? Foreman? A template as
> suggested in that thread?

I'd suggest (as above) using a process supervision tool and/or
monitoring system (runit, monit, bluepill, daemontools, s6, ..?)

> - any plans to make the service resource do this?
> - could the docs be made a bit more explicit? :)

Feel free to make edits (need an account) based on my comments here,
although I'd love to know what problems you were having or what
documentation in particular is lacking.

Cheers,

--AJ

On 16 August 2012 15:00, Steve Bennett 
< >
 wrote:
> Hi,
>   I naively assumed (and am not the only one:
> http://lists.opscode.com/sympa/arc/chef/2012-05/msg00267.html) that
> the service resource could be used to define, then run services:
>
> ...
>     service "atom-dataset-provider" do
>        start_command "/opt/atom-dataset-provider/current/provider.sh"
>        stop_command "/opt/atom-dataset-provider/current/kill_provider.sh"
>        action [:enable]
>      end
>
>    end
>    restart_command do
>      current_release = release_path
>      service "atom-dataset-provider" do
>        action [:restart]
>      end
>   end
>
>
> But apparently it doesn't. In that case:

>
> Thanks,
> Steve



Archive powered by MHonArc 2.6.16.

§