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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5746
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
     1
Add support for degraded state in smf and remove unused variable stime.
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
     2
Submitted upstream as PUP-6095
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
     3
5860
afd31ba91ee9 23146903 Puppet and OpenStack modules need modification notices
Patrick Einheber <patrick.einheber@oracle.com>
parents: 5746
diff changeset
     4
--- puppet-3.8.6/lib/puppet/provider/service/smf.rb.orig	2016-04-19 14:56:32.596751150 -0700
afd31ba91ee9 23146903 Puppet and OpenStack modules need modification notices
Patrick Einheber <patrick.einheber@oracle.com>
parents: 5746
diff changeset
     5
+++ puppet-3.8.6/lib/puppet/provider/service/smf.rb	2016-04-19 14:59:32.495860166 -0700
afd31ba91ee9 23146903 Puppet and OpenStack modules need modification notices
Patrick Einheber <patrick.einheber@oracle.com>
parents: 5746
diff changeset
     6
@@ -36,11 +36,12 @@
5746
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
     7
   end
5860
afd31ba91ee9 23146903 Puppet and OpenStack modules need modification notices
Patrick Einheber <patrick.einheber@oracle.com>
parents: 5746
diff changeset
     8
 
5746
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
     9
   def self.instances
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    10
-   svcs("-H").split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    11
-     state,stime,fmri = line.split(/\s+/)
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    12
+   svcs("-H", "-o", "state,fmri" ).split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    13
+     state,fmri = line.split(/\s+/)
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    14
      status =  case state
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    15
                when /online/; :running
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    16
                when /maintenance/; :maintenance
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    17
+               when /degraded/; :degraded
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    18
                else :stopped
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    19
                end
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    20
      new({:name => fmri, :ensure => status})
5860
afd31ba91ee9 23146903 Puppet and OpenStack modules need modification notices
Patrick Einheber <patrick.einheber@oracle.com>
parents: 5746
diff changeset
    21
@@ -71,7 +72,7 @@
5746
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    22
   def startcmd
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    23
     self.setupservice
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    24
     case self.status
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    25
-    when :maintenance
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    26
+    when :maintenance, :degraded
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    27
       [command(:adm), :clear, @resource[:name]]
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    28
     else
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    29
       [command(:adm), :enable, "-rs", @resource[:name]]
5860
afd31ba91ee9 23146903 Puppet and OpenStack modules need modification notices
Patrick Einheber <patrick.einheber@oracle.com>
parents: 5746
diff changeset
    30
@@ -112,6 +113,8 @@
5746
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    31
       return :stopped
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    32
     when "maintenance"
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    33
       return :maintenance
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    34
+    when "degraded"
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    35
+      return :degraded
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    36
     when "legacy_run"
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    37
       raise Puppet::Error,
ffb1e5dafbd6 22985359 service provider can't cope with degraded instances
Shawn Ferry <shawn.ferry@oracle.com>
parents:
diff changeset
    38
         "Cannot manage legacy services through SMF"