components/ruby/puppet/patches/puppet-11-smf-degraded.patch
author Patrick Einheber <patrick.einheber@oracle.com>
Wed, 27 Apr 2016 14:55:10 -0700
changeset 5860 afd31ba91ee9
parent 5746 ffb1e5dafbd6
permissions -rw-r--r--
23146903 Puppet and OpenStack modules need modification notices

Add support for degraded state in smf and remove unused variable stime.
Submitted upstream as PUP-6095

--- puppet-3.8.6/lib/puppet/provider/service/smf.rb.orig	2016-04-19 14:56:32.596751150 -0700
+++ puppet-3.8.6/lib/puppet/provider/service/smf.rb	2016-04-19 14:59:32.495860166 -0700
@@ -36,11 +36,12 @@
   end
 
   def self.instances
-   svcs("-H").split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
-     state,stime,fmri = line.split(/\s+/)
+   svcs("-H", "-o", "state,fmri" ).split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
+     state,fmri = line.split(/\s+/)
      status =  case state
                when /online/; :running
                when /maintenance/; :maintenance
+               when /degraded/; :degraded
                else :stopped
                end
      new({:name => fmri, :ensure => status})
@@ -71,7 +72,7 @@
   def startcmd
     self.setupservice
     case self.status
-    when :maintenance
+    when :maintenance, :degraded
       [command(:adm), :clear, @resource[:name]]
     else
       [command(:adm), :enable, "-rs", @resource[:name]]
@@ -112,6 +113,8 @@
       return :stopped
     when "maintenance"
       return :maintenance
+    when "degraded"
+      return :degraded
     when "legacy_run"
       raise Puppet::Error,
         "Cannot manage legacy services through SMF"