diff options
author | James Turnbull <james@lovedthanlost.net> | 2009-07-16 21:28:09 +1000 |
---|---|---|
committer | James Turnbull <james@lovedthanlost.net> | 2009-07-16 21:28:09 +1000 |
commit | c86d44ed826b99752fd0ee85b2a77eaadd8a57ae (patch) | |
tree | 98a77088d26c64f8b2a1e6aaa5d97c11cb82c9ea /lib | |
parent | 910a5e2f39d2fefab28768f2a2d3d02de7abd54d (diff) | |
download | puppet-c86d44ed826b99752fd0ee85b2a77eaadd8a57ae.tar.gz puppet-c86d44ed826b99752fd0ee85b2a77eaadd8a57ae.tar.xz puppet-c86d44ed826b99752fd0ee85b2a77eaadd8a57ae.zip |
Fixed #579 - puppet should try to clear solaris 10 services in maintenance state
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/puppet/provider/service/smf.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/puppet/provider/service/smf.rb b/lib/puppet/provider/service/smf.rb index 60cf305cb..7036865ae 100755 --- a/lib/puppet/provider/service/smf.rb +++ b/lib/puppet/provider/service/smf.rb @@ -55,7 +55,12 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do def startcmd self.setupservice - [command(:adm), :enable, @resource[:name]] + case self.status + when :stopped + [command(:adm), :enable, @resource[:name]] + when :maintenance + [command(:adm), :clear, @resource[:name]] + end end def status @@ -79,6 +84,8 @@ Puppet::Type.type(:service).provide :smf, :parent => :base do when "offline", "disabled", "uninitialized" #self.warning "matched stopped %s" % line.inspect return :stopped + when "maintenance" + return :maintenance when "legacy_run" raise Puppet::Error, "Cannot manage legacy services through SMF" |