PSARC/2013/005 Puppet 3.0.1
15846284 Integrate the Puppet CM
16479671 problem in UTILITY/PUPPET
16480077 Update Puppet to 3.1.1
The puppet zone type changes that enable basic functionality with Solaris 11
zones. Includes the type changes to fix a bug introduced by the putback of
15886 into the puppet gate that prevented zones networking from being created.
--- puppet-3.0.1/lib/puppet/type/zone.rb.orig 2013-02-15 16:08:16.530618507 -0700
+++ puppet-3.0.1/lib/puppet/type/zone.rb 2013-02-15 08:24:18.530373776 -0700
@@ -133,6 +133,12 @@
isnamevar
end
+ newparam(:config_profile) do
+ desc "Path to the config_profile to use for installation of a solaris zone.
+ This is set when providing a sysconfig profile instead of running the
+ sysconfig SCI tool on first boot of the zone."
+ end
+
newparam(:id) do
desc "The numerical ID of the zone. This number is autogenerated
and cannot be changed."
@@ -161,19 +167,44 @@
# overridden so that we match with self.should
def insync?(is)
- return true unless is
- is = [] if is == :absent
+ is = [] if is == :absent or is.nil?
is.sort == self.should.sort
end
end
newproperty(:iptype) do
- desc "The IP stack type of the zone."
- defaultto :shared
+ desc "The IP stack type of the zone. The default is to exclusive."
+ if ['5.11', '5.12'].include? Facter.value(:kernelrelease)
+ defaultto :exclusive
+ else
+ defaultto :shared
+ end
newvalue :shared
newvalue :exclusive
end
+ newproperty(:net_resource, :parent => Puppet::Property::List) do
+ desc "The net resource assigned network resource to a zone. The net
+ resource represents the assignment of a physical network resource
+ to a zone. The anet resource represents the automatic creation of a
+ network resource for an exclusive-IP zone. This property only needs
+ to be set if additional network resources are desired. By default
+ an anet resource is created for the zone. To add additional net
+ or anet services"
+ newvalue :anet
+ newvalue :net
+
+ def should
+ @should
+ end
+
+ # overridden so that we match with self.should
+ def insync?(is)
+ is = [] if is == :absent or is.nil?
+ is.sort == self.should.sort
+ end
+ end
+
newproperty(:autoboot, :boolean => true) do
desc "Whether the zone should automatically boot."
defaultto true
@@ -218,8 +249,7 @@
# overridden so that we match with self.should
def insync?(is)
- return true unless is
- is = [] if is == :absent
+ is = [] if is == :absent or is.nil?
is.sort == self.should.sort
end