components/puppet/patches/puppet-02-zoneprovider.patch
author Drew Fisher <drew.fisher@oracle.com>
Wed, 06 Mar 2013 14:19:46 -0700
changeset 1198 f9a4100102d8
permissions -rw-r--r--
PSARC/2013/005 Puppet 3.0.1 15846284 Integrate the Puppet CM
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1198
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     1
Enables puppet provider basic functionality with Solaris 11 zones. Also fixes a bug that
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     2
was introduced with the putback of 15886 into the puppet gate that prevented
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     3
zones networking from being created.
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     4
--- puppet-3.0.1/lib/puppet/provider/zone/solaris.rb.orig	2013-02-15 15:00:38.925896083 -0700
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     5
+++ puppet-3.0.1/lib/puppet/provider/zone/solaris.rb	2013-02-15 15:00:48.805231725 -0700
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     6
@@ -31,7 +31,7 @@
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     7
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     8
   def multi_conf(name, should, &action)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
     9
     has = properties[name]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    10
-    has = [] if has == :absent
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    11
+    has = [] if has == :absent or has.nil?
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    12
     rms = has - should
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    13
     adds = should - has
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    14
     (rms.map{|o| action.call(:rm,o)} + adds.map{|o| action.call(:add,o)}).join("\n")
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    15
@@ -60,12 +60,36 @@
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    16
     end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    17
   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    18
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    19
+  def self.def_net_prop(var, &conf)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    20
+     define_method(var.to_s) do |v|
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    21
+        o = properties[var]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    22
+        return '' if o.nil? or o == :absent
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    23
+        o.join(' ')
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    24
+     end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    25
+     define_method('%s_conf'% var.to_s) do |v| 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    26
+        multi_conf(var, v, &conf) 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    27
+     end 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    28
+  end 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    29
+
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    30
   def_prop :iptype, "set ip-type=%s"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    31
   def_prop :autoboot, "set autoboot=%s"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    32
   def_prop :path, "set zonepath=%s"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    33
   def_prop :pool, "set pool=%s"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    34
   def_prop :shares, "add rctl\nset name=zone.cpu-shares\nadd value (priv=privileged,limit=%s,action=none)\nend"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    35
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    36
+  if ['5.11', '5.12'].include? Facter.value(:kernelrelease)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    37
+    def_net_prop :net_resource do |action, str|
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    38
+       case action
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    39
+        when :add
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    40
+          cmd = [" add anet"]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    41
+	  cmd << "end"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    42
+	  cmd.join("\n")
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    43
+        when :rm
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    44
+          " remove anet"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    45
+        end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    46
+     end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    47
+  end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    48
+
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    49
   def_multiprop :ip do |action, str|
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    50
     interface, ip, defrouter = str.split(':')
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    51
     case action
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    52
@@ -96,20 +120,27 @@
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    53
     end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    54
   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    55
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    56
-  def_multiprop :inherit do |action, str|
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    57
-    case action
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    58
-    when :add; ['add inherit-pkg-dir', "set dir=#{str}",'end'].join("\n")
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    59
-    when :rm; "remove inherit-pkg-dir dir=#{str}"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    60
-    else self.fail action
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    61
+  if ['5.10'].include? Facter.value(:kernelrelease)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    62
+    def_multiprop :inherit do |action, str|
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    63
+      case action
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    64
+        when :add; ['add inherit-pkg-dir', "set dir=#{str}",'end'].join("\n")
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    65
+        when :rm; "remove inherit-pkg-dir dir=#{str}"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    66
+      else self.fail action
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    67
+      end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    68
     end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    69
   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    70
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    71
   def my_properties
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    72
-    [:path, :iptype, :autoboot, :pool, :shares, :ip, :dataset, :inherit]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    73
+    if ['5.11', '5.12'].include? Facter.value(:kernelrelease)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    74
+       [:path, :iptype, :autoboot, :pool, :shares, :ip, :dataset, :net_resource]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    75
+    elsif ['5.10'].include? Facter.value(:kernelrelease)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    76
+       [:path, :iptype, :autoboot, :pool, :shares, :ip, :dataset, :inherit]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    77
+    end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    78
   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    79
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    80
   # Perform all of our configuration steps.
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    81
   def configure
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    82
+
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    83
     self.fail "Path is required" unless @resource[:path]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    84
     arr = ["create -b #{@resource[:create_args]}"]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    85
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    86
@@ -161,6 +192,14 @@
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    87
   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    88
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    89
   def install(dummy_argument=:work_arround_for_ruby_GC_bug)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    90
+    if ['5.11', '5.12'].include? Facter.value(:kernelrelease)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    91
+       if !@resource[:install_args] and @resource[:config_profile]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    92
+           @resource[:install_args] = "-c " + @resource[:config_profile]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    93
+       else
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    94
+	  @resource[:install_args] << "-c " + @resource[:config_profile]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    95
+       end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    96
+    end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    97
+       
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    98
     if @resource[:clone] # TODO: add support for "-s snapshot"
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
    99
       zoneadm :clone, @resource[:clone]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   100
     elsif @resource[:install_args]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   101
@@ -183,6 +222,7 @@
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   102
       end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   103
     end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   104
     @property_hash.dup
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   105
+    
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   106
   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   107
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   108
   # We need a way to test whether a zone is in process.  Our 'ensure'
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   109
@@ -253,6 +293,7 @@
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   110
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   111
   def start
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   112
     # Check the sysidcfg stuff
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   113
+   if ['5.10'].include? Facter.value(:kernelrelease)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   114
     if cfg = @resource[:sysidcfg]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   115
       self.fail "Path is required" unless @resource[:path]
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   116
       zoneetc = File.join(@resource[:path], "root", "etc")
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   117
@@ -273,6 +314,7 @@
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   118
         end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   119
       end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   120
     end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   121
+   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   122
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   123
     zoneadm :boot
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   124
   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   125
@@ -300,7 +342,11 @@
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   126
   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   127
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   128
   def stop
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   129
-    zoneadm :halt
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   130
+   if ['5.10'].include? Facter.value(:kernelrelease)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   131
+     execute_zoneadm :halt
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   132
+   elsif ['5.11', '5.12'].include? Facter.value(:kernelrelease)
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   133
+    zoneadm :shutdown
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   134
+   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   135
   end
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   136
 
f9a4100102d8 PSARC/2013/005 Puppet 3.0.1
Drew Fisher <drew.fisher@oracle.com>
parents:
diff changeset
   137
   def unconfigure