components/puppet/patches/puppet-06-provider-smf.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 11 Nov 2013 13:23:43 -0800
changeset 1547 14b811e3f0f5
parent 1474 97927b6c1ece
child 1655 2490bf4f53ea
permissions -rw-r--r--
Close of build 35.

Add check for existence of smf service
--- puppet-3.2.4/lib/puppet/provider/service/smf.rb.orig	2013-07-15 09:23:24.667341073 -0600
+++ puppet-3.2.4/lib/puppet/provider/service/smf.rb	2013-07-15 10:13:03.196178924 -0600
@@ -80,9 +80,18 @@
       return
     end
 
+    # get the current state and the next state, and if the next
+    # state is set (i.e. not "-") use it for state comparison
+
+    # Check to see if the service exists
+    cmd = Array[command(:svccfg), "select", @resource[:name]]
+    output = Puppet::Util::Execution.execute(
+        cmd, :combine => true, :failonfail => false)
+    if $CHILD_STATUS.exitstatus != 0
+      info output
+    end
+
     begin
-      # get the current state and the next state, and if the next
-      # state is set (i.e. not "-") use it for state comparison
       states = svcs("-H", "-o", "state,nstate", @resource[:name]).chomp.split
       state = states[1] == "-" ? states[0] : states[1]
     rescue Puppet::ExecutionFailure