@Jakov I am currently running Puppet on a single host, it is only to manage 
site configurations, so this is not a problem
@R.I. Thanks, worked like a charm. Bonus points for very simple solution.


On Sunday, September 9, 2012 7:34:10 AM UTC-4, R.I. Pienaar wrote:
>
>
>
> ----- Original Message ----- 
> > From: "Sébastien Lavoie" <seba...@lavoie.sl <javascript:>> 
> > To: puppet...@googlegroups.com <javascript:> 
> > Sent: Friday, September 7, 2012 11:32:55 PM 
> > Subject: [Puppet Users] How can I ensure that a service is 
> started/stopped based on if it is needed or not ? 
> > 
> > I have a several services that I use only for some sites and I would 
> > like to make sure it is started when a site that uses is activated 
> > and stopped when it is not needed anymore. 
> > 
> > 
> > Examples: memcache, elasticsearch, rabbitmq, etc. 
> > 
> > 
> > I can easily make a service virtual and realize it before making a 
> > reference to it like this: 
> > 
> > 
> > class webserver { 
> > @service {"memcache": 
> > ensure => running, 
> > } 
> > } 
> > 
> > 
> > class sites { 
> > Realize['memcache'] 
> > site {"example.com": 
> > require => Service['memcache'] 
> > } 
> > } 
> > 
> > 
> > But this will not stop the service if it is never realized. 
>
> dont know if this helps but lets say you have a common class 
> you install on all nodes: 
>
> class common { 
>    include memcache 
> } 
>
> class memcache { 
>    service{"memcache": ensure => stopped, enable => false} 
> } 
>
> at this point if you include common on all machines memcache will 
> be stopped and disabled everywhere 
>
> now you make a class specifically to include on nodes that needs 
> it running. 
>
> class memcache::enable inherits memcache { 
>    Service["memcache"] { ensure => running, enable => true } 
> } 
>
> if you include this class on a node it will be enabled, soon 
> as you remove the class it will be disabled again 
>
> Generally though this is a bad idea because you also have to 
> consider configs, packages and all this stuff it might make 
> sense in your case but I think the correct thing to do is just 
> not to install stuff on machines that you dont need. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/puppet-users/-/6PzT8Tk2cMwJ.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to