18713757 'puppet resource service' outputs incorrect services s11-update
authorDrew Fisher <drew.fisher@oracle.com>
Fri, 30 May 2014 08:19:47 -0700
branchs11-update
changeset 3151 0dbc999aeec2
parent 3150 c958fe6a1b22
child 3152 1572f2692c01
18713757 'puppet resource service' outputs incorrect services 18820288 puppet describe --list outputs 'no documentation' incorrectly 18849968 Typos in link_properties and interface_properties docs 18856443 link_aggregation type provider duplicates lower_links 18859231 Typo in address_object and link_aggregation resource type docs 18859804 Typo in nis resource type 18859837 Typo in ldap resource type 18859156 Duplicate doc content for address_object resource type 18865233 ip_interface resource fails when ipmp or aggregations present
components/puppet/files/solaris/lib/puppet/provider/ip_interface/solaris.rb
components/puppet/files/solaris/lib/puppet/provider/link_aggregation/solaris.rb
components/puppet/files/solaris/lib/puppet/type/address_object.rb
components/puppet/files/solaris/lib/puppet/type/interface_properties.rb
components/puppet/files/solaris/lib/puppet/type/ip_interface.rb
components/puppet/files/solaris/lib/puppet/type/ip_tunnel.rb
components/puppet/files/solaris/lib/puppet/type/ldap.rb
components/puppet/files/solaris/lib/puppet/type/link_aggregation.rb
components/puppet/files/solaris/lib/puppet/type/link_properties.rb
components/puppet/files/solaris/lib/puppet/type/nis.rb
components/puppet/files/solaris/lib/puppet/type/vni_interface.rb
components/puppet/patches/puppet-07-PUP-2641.patch
components/puppet/patches/puppet-08-PUP-2509.patch
--- a/components/puppet/files/solaris/lib/puppet/provider/ip_interface/solaris.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/provider/ip_interface/solaris.rb	Fri May 30 08:19:47 2014 -0700
@@ -20,21 +20,19 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 Puppet::Type.type(:ip_interface).provide(:ip_interface) do
     desc "Provider for management of IP interfaces for Oracle Solaris"
     confine :operatingsystem => [:solaris]
     defaultfor :osfamily => :solaris, :kernelrelease => ['5.11', '5.12']
-    commands :ipadm => '/usr/sbin/ipadm'
+    commands :ipadm => '/usr/sbin/ipadm', :dladm => '/usr/sbin/dladm'
 
     def self.instances
-        # iterate over all interfaces, skipping loopback interfaces
-        ipadm("show-if", "-p", "-o", "IFNAME,CLASS").split(
-              "\n").reject{ |line| line.include? "loopback"}.collect do |line|
-            name, ip_class = line.split(":")
-            new(:name => name,
+        (dladm("show-link", "-p", "-o", "link").split("\n") &
+         ipadm("show-if", "-p", "-o", "ifname").split("\n")).collect do |ifname|
+            new(:name => ifname,
                 :ensure => :present)
         end
     end
--- a/components/puppet/files/solaris/lib/puppet/provider/link_aggregation/solaris.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/provider/link_aggregation/solaris.rb	Fri May 30 08:19:47 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 Puppet::Type.type(:link_aggregation).provide(:link_aggregation) do
@@ -37,7 +37,7 @@
                 line.split(":")
 
             links = []
-            dladm("show-aggr", "-x", "-p", "-o", "port").split(
+            dladm("show-aggr", "-x", "-p", "-o", "port", "link").split(
                   "\n").each do |portline|
                 next if portline.strip() == ""
                 links << portline.strip()
--- a/components/puppet/files/solaris/lib/puppet/type/address_object.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/type/address_object.rb	Fri May 30 08:19:47 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 Puppet::Type.newtype(:address_object) do
@@ -35,7 +35,7 @@
 
     newparam(:temporary) do
         desc "Optional parameter that specifies that the address object is
-              temporary.  Temporary aggreation links last until the next
+              temporary.  Temporary aggregation links last until the next
               reboot."
         newvalues(:true, :false)
     end
@@ -48,8 +48,7 @@
     end
 
     newproperty(:enable) do
-        desc "Specifies the address object should be enabled or disabled.
-              Valid values are true, false"
+        desc "Specifies the address object should be enabled or disabled."
         newvalues(:true, :false)
     end
 
@@ -67,8 +66,7 @@
 
     newproperty(:down) do
         desc "Specifies that the configured address should be marked down.
-              Only valid with an address_type of 'static'.  Valid values are
-              true, false"
+              Only valid with an address_type of 'static'."
         newvalues(:true, :false)
     end
 
@@ -99,13 +97,13 @@
 
     newproperty(:stateful) do
         desc "Specifies if stateful auto-configuration should be enabled or
-              not.  Valid values are yes, no"
+              not."
         newvalues(:yes, :no)
     end
 
     newproperty(:stateless) do
         desc "Specifies if stateless auto-configuration should be enabled or
-              not.  Valid values are yes, no"
+              not."
         newvalues(:yes, :no)
     end
 end
--- a/components/puppet/files/solaris/lib/puppet/type/interface_properties.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/type/interface_properties.rb	Fri May 30 08:19:47 2014 -0700
@@ -20,11 +20,11 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 Puppet::Type.newtype(:interface_properties) do
-    @doc = "Manage Oralce Solaris interface properties"
+    @doc = "Manage Oracle Solaris interface properties"
 
     ensurable do
         # remove the ability to specify :absent.  New values must be set.
--- a/components/puppet/files/solaris/lib/puppet/type/ip_interface.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/type/ip_interface.rb	Fri May 30 08:19:47 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 Puppet::Type.newtype(:ip_interface) do
@@ -33,7 +33,7 @@
         isnamevar
 
         validate do |name|
-            cmd = Array["/usr/sbin/dladm", "show-phys", "-p", "-o", "link"]
+            cmd = Array["/usr/sbin/dladm", "show-link", "-p", "-o", "link"]
             output = Puppet::Util::Execution.execute(cmd).split("\n")
             raise Puppet::Error, "Invalid IP interface name: #{name}" \
                 if not output.include?(name)
--- a/components/puppet/files/solaris/lib/puppet/type/ip_tunnel.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/type/ip_tunnel.rb	Fri May 30 08:19:47 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 Puppet::Type.newtype(:ip_tunnel) do
@@ -40,8 +40,7 @@
     end
 
     newproperty(:tunnel_type) do
-        desc "Specifies the type of tunnel to be created.  Valid values are
-              ipv4, ipv6, 6to4"
+        desc "Specifies the type of tunnel to be created."
         newvalues("ipv4", "ipv6", "6to4")
     end
 
--- a/components/puppet/files/solaris/lib/puppet/type/ldap.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/type/ldap.rb	Fri May 30 08:19:47 2014 -0700
@@ -130,8 +130,7 @@
     end
 
     newproperty(:search_scope) do
-        desc "The default search scope for the client's search operations.
-              Valid values are base, one, sub."
+        desc "The default search scope for the client's search operations."
         newvalues("base", "one", "sub")
         class << self
             attr_accessor :pg
@@ -141,9 +140,7 @@
 
     newproperty(:authentication_method, :parent => Puppet::Property::List) do
         desc "The default authentication method(s).  Specify multiple methods
-              as an array.  Valid values are none, simple, sasl/CRAM-MD5,
-              sasl/DIGEST-MD5, sasl/GSSAPI, tls:simple, tls:sasl/CRAM-MD5,
-              tls:sasl/DIGEST-MD5"
+              as an array."
 
         class << self
             attr_accessor :pg
@@ -172,7 +169,7 @@
 
     newproperty(:credential_level) do
         desc "The credential level the client should use to contact the
-              directory.  Valid values are anonymous, proxy, self"
+              directory."
         newvalues("anonymous", "proxy", "self")
         class << self
             attr_accessor :pg
@@ -199,7 +196,7 @@
     end
 
     newproperty(:follow_referrals) do
-        desc "The referral setting.  Valid values are true, false"
+        desc "The referral setting."
         newvalues(:true, :false)
         class << self
             attr_accessor :pg
@@ -267,8 +264,7 @@
     end
 
     newproperty(:service_credential_level) do
-        desc "The credential level to be used by a service.  Value values are
-              anonymous, proxy"
+        desc "The credential level to be used by a service."
         newvalues("anonymous", "proxy")
         class << self
             attr_accessor :pg
@@ -337,7 +333,7 @@
 
     newproperty(:enable_shadow_update) do
         desc "Specify whether the client is allowed to update shadow
-              information.  Valid values are true, false"
+              information."
         newvalues(:true, :false)
         class << self
             attr_accessor :pg
@@ -346,7 +342,7 @@
     end
 
     newproperty(:admin_bind_dn) do
-        desc "The Bind Distinguised Name for the administrator identity that
+        desc "The Bind Distinguished Name for the administrator identity that
               is used for shadow information update"
         class << self
             attr_accessor :pg
--- a/components/puppet/files/solaris/lib/puppet/type/link_aggregation.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/type/link_aggregation.rb	Fri May 30 08:19:47 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 require 'puppet/property/list'
@@ -37,7 +37,7 @@
 
     newparam(:temporary) do
         desc "Optional parameter that specifies that the aggreation is
-              temporary.  Temporary aggreation links last until the next
+              temporary.  Temporary aggregation links last until the next
               reboot."
         newvalues(:true, :false)
     end
@@ -63,8 +63,7 @@
     end
 
     newproperty(:mode) do
-        desc "Specifies which mode to set.  Valid values are trunk or dlmp.
-              Defaults to :trunk"
+        desc "Specifies which mode to set."
         newvalues(:trunk, :dlmp)
     end
 
--- a/components/puppet/files/solaris/lib/puppet/type/link_properties.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/type/link_properties.rb	Fri May 30 08:19:47 2014 -0700
@@ -20,11 +20,11 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 Puppet::Type.newtype(:link_properties) do
-    @doc = "Manage Oralce Solaris link properties"
+    @doc = "Manage Oracle Solaris link properties"
 
     ensurable
 
--- a/components/puppet/files/solaris/lib/puppet/type/nis.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/type/nis.rb	Fri May 30 08:19:47 2014 -0700
@@ -88,18 +88,18 @@
         desc "Entries for /var/yp/securenets.  Each entry must be a hash.
               The first element in the hash is either a host or a netmask.
               The second element must be an IP network address.  Specify
-              multiple entires as separate entries in the hash."
+              multiple entries as separate entries in the hash."
     end
 
     newproperty(:use_broadcast) do
         desc "Send a broadcast datagram requesting needed bind information for
-              a specific NIS server.  Valid vales are true, false"
+              a specific NIS server."
         newvalues(:true, :false)
     end
 
     newproperty(:use_ypsetme) do
         desc "Only allow root on the client to change the binding to a desired
-              server.  Valid values are true, false"
+              server."
         newvalues(:true, :false)
     end
 end
--- a/components/puppet/files/solaris/lib/puppet/type/vni_interface.rb	Fri May 30 02:46:27 2014 -0700
+++ b/components/puppet/files/solaris/lib/puppet/type/vni_interface.rb	Fri May 30 08:19:47 2014 -0700
@@ -20,7 +20,7 @@
 #
 
 #
-# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved.
 #
 
 Puppet::Type.newtype(:vni_interface) do
@@ -35,8 +35,7 @@
 
     newparam(:temporary)  do
         desc "Optional parameter that specifies that the VNI interface is
-              temporary.  Temporary interfaces last until the next reboot.  
-              Defaults to `false`."
+              temporary.  Temporary interfaces last until the next reboot."
         newvalues(:true, :false)
     end
 end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/puppet/patches/puppet-07-PUP-2641.patch	Fri May 30 08:19:47 2014 -0700
@@ -0,0 +1,21 @@
+In-house patch to fix upstream bug PUP-2641
+https://tickets.puppetlabs.com/browse/PUP-2641
+Patch has been submitted upstream but not yet accepted.
+
+--- puppet-3.4.1/lib/puppet/application/describe.rb.orig	2014-05-29 08:14:12.779421080 -0600
++++ puppet-3.4.1/lib/puppet/application/describe.rb	2014-05-29 08:14:37.064254740 -0600
[email protected]@ -70,13 +70,8 @@
+     }.each do |name|
+       type = @types[name]
+       s = type.doc.gsub(/\s+/, " ")
+-      n = s.index(". ")
+-      if n.nil?
+-        s = ".. no documentation .."
+-      elsif n > 45
++      if s.length > 45
+         s = s[0, 45] + " ..."
+-      else
+-        s = s[0, n]
+       end
+       printf "%-15s - %s\n", name, s
+     end
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/puppet/patches/puppet-08-PUP-2509.patch	Fri May 30 08:19:47 2014 -0700
@@ -0,0 +1,15 @@
+In-house patch to fix upstream bug PUP-2509
+https://tickets.puppetlabs.com/browse/PUP-2509
+Patch has been submitted upstream but not yet accepted.
+
+--- puppet-3.4.1/lib/puppet/provider/service/smf.rb.orig	2014-05-29 08:23:38.214504274 -0600
++++ puppet-3.4.1/lib/puppet/provider/service/smf.rb	2014-05-29 08:23:51.968114765 -0600
[email protected]@ -32,7 +32,7 @@
+   end
+ 
+   def self.instances
+-   svcs.split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
++   svcs("-H").split("\n").select{|l| l !~ /^legacy_run/ }.collect do |line|
+      state,stime,fmri = line.split(/\s+/)
+      status =  case state
+                when /online/; :running