On Mar 16, 2012, at 10:21 AM, jimbob palmer wrote:

> The Core Types Cheat Sheet at 
> http://projects.puppetlabs.com/projects/puppet/wiki/Core_Types_Cheat_Sheet/ 
> says:
> 
> 
> The Trifecta 
> 
> Package/file/service: Learn it, live it, love it. If you can only do this, 
> you can still do a lot.
> 
> package { 'openssh-server':
>     ensure => installed,
> }
> 
> file { '/etc/ssh/sshd_config':
>     source  => 'puppet:///modules/sshd/sshd_config',
>     owner   => 'root',
>     group   => 'root',
>     mode    => '640',
>     notify  => Service['sshd'], # sshd will restart whenever you edit this 
> file.
>     require => Package['openssh-server'],
> }
> 
> service { 'sshd':
>     ensure => running,
>     enable => true,
>     hasstatus => true,
>     hasrestart => true,
> }
> 
> 
> I can see two problems with this example, and rather than open a ticket I 
> wanted to make sure I haven't overlooked something.
> 
> 1. Is there any special magic requiring that the config file exist before 
> Puppet starts the sshd service?
> If not, shouldn't there be a requires in the service on the config file?

A notify relationship sets up a resource chain, just as a requires does. A 
resource with a notify attribute will always be managed before its notify 
target and a resource with a requires attribute will always be managed after 
its require target.

> 2. The sentence "sshd will restart whenever you edit this file." is a bit 
> confusing, because it hints at puppet using some kind of inotify mechanism to 
> restart sshd when the config file changes.
> Would it be better to write that sshd will restart whenever puppet updates 
> this file?


Puppet will restart the sshd on its next run even if you've changed the config 
file locally. Prior to restarting the service, though, Puppet will have undone 
your local edits.

-- 
Peter M. Bukowinski
Sr. Systems Engineer
Janelia Farm Research Campus, HHMI

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
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