From c86d44ed826b99752fd0ee85b2a77eaadd8a57ae Mon Sep 17 00:00:00 2001 From: James Turnbull Date: Thu, 16 Jul 2009 21:28:09 +1000 Subject: Fixed #579 - puppet should try to clear solaris 10 services in maintenance state --- lib/puppet/provider/service/smf.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'lib') 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" -- cgit