Thanks for the tip Patrick. It worked fine except that without hasrestart =>true, it was using stop/start but I wanted to restart.
-tak On May 21, 4:40 pm, Patrick <kc7...@gmail.com> wrote: > On May 21, 2010, at 11:23 AM, takrishnan wrote: > > > > > Hi, > > > I have this in my sshdconfig module's init.pp but the service is not > > getting restarted even though at first connect the file sshd_config is > > getting modified with the Banner entry. Can someone please help? > > > class sshdconfig { > > file { > > "/etc/ssh/sshd_config": > > path => "/etc/ssh/sshd_config", > > owner => root, > > group => root, > > mode => 600, > > notify => 'Service[sshd]' > > } > > Exec { path => "/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/ > > bin" } > > > exec { "/bin/echo 'Banner /etc/motd' >> /etc/ssh/sshd_config": > > unless => "grep 'Banner /etc/motd' /etc/ssh/sshd_config 2>/dev/ > > null" } > > > service > > { sshd: > > ensure => running, > > subscribe => File["/etc/ssh/sshd_config"], > > hasrestart => true, > > hasstatus => true, > > restart => "/etc/init.d/sshd restart", > > status => "/etc/init.d/sshd status" > > } > > } > > You have two problems. > > The easy answer is that sshd is only subscribed to the file resource. That > means it will only restart the service when the file resource changes it. > You can fix it by adding the exec to subscribe like this. > > subscribe => [ File["/etc/ssh/sshd_config"], Exec["ssh_banner"] ] > > Then set "ssh_banner" as an alias in the exec statement. > > The file resource doesn't actually do anything except set the permissions. > Also, using notify and subscribe is redundant. Unless you really want that > to force the permissions to be that, it's easer to just remove the file > resource completely. Then do this: > > class sshdconfig { > > Exec { path => "/bin:/usr/bin:/usr/sbin:/sbin:/usr/local/ > bin" } > > exec { "/bin/echo 'Banner /etc/motd' >> /etc/ssh/sshd_config": > alias => "ssh_banner", > unless => "grep 'Banner /etc/motd' /etc/ssh/sshd_config > 2>/dev/null" > } > > service > { sshd: > ensure => running, > subscribe => Exec["ssh_banner"], > > #These four lines are probably redundant. The defaults > should be fine. > #It also shouldn't hurt anything. > hasrestart => true, > hasstatus => true, > restart => "/etc/init.d/sshd restart", > status => "/etc/init.d/sshd status" > } > > } > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-us...@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com. > For more options, visit this group > athttp://groups.google.com/group/puppet-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@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.