[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, master, updated. debian/0.24.6-1-356-g5718585
James Turnbull
james at lovedthanlost.net
Fri Jan 23 14:21:47 UTC 2009
The following commit has been merged in the master branch:
commit a45c6b1b9f9675aa76e96fa053742af621887591
Author: Nigel Kersten <nigelk at google.com>
Date: Wed Nov 26 07:54:32 2008 -0800
fix bug with numeric uid/gid in directoryservice provider. doc string cleanups
diff --git a/lib/puppet/provider/nameservice/directoryservice.rb b/lib/puppet/provider/nameservice/directoryservice.rb
index 0e8002c..308f519 100644
--- a/lib/puppet/provider/nameservice/directoryservice.rb
+++ b/lib/puppet/provider/nameservice/directoryservice.rb
@@ -147,8 +147,20 @@ class DirectoryService < Puppet::Provider::NameService
ds_attribute = key.sub("dsAttrTypeStandard:", "")
next unless (@@ds_to_ns_attribute_map.keys.include?(ds_attribute) and type_properties.include? @@ds_to_ns_attribute_map[ds_attribute])
ds_value = dscl_plist[key]
- if not @@ds_to_ns_attribute_map[ds_attribute] == :members # only members uses arrays so far
- ds_value = ds_value[0]
+ case @@ds_to_ns_attribute_map[ds_attribute]
+ when :members:
+ ds_value = ds_value # only members uses arrays so far
+ when :gid, :uid:
+ # OS X stores objects like uid/gid as strings.
+ # Try casting to an integer for these cases to be
+ # consistent with the other providers and the group type
+ # validation
+ begin
+ ds_value = Integer(ds_value[0])
+ rescue ArgumentError
+ ds_value = ds_value[0]
+ end
+ else ds_value = ds_value[0]
end
attribute_hash[@@ds_to_ns_attribute_map[ds_attribute]] = ds_value
end
diff --git a/lib/puppet/type/computer.rb b/lib/puppet/type/computer.rb
index 0c0a709..ccbcadf 100644
--- a/lib/puppet/type/computer.rb
+++ b/lib/puppet/type/computer.rb
@@ -29,23 +29,25 @@ Puppet::Type.newtype(:computer) do
end
newproperty(:ensure, :parent => Puppet::Property::Ensure) do
+ desc "Control the existences of this computer record. Set this attribute to
+ ``present`` to ensure the computer record exists. Set it to ``absent``
+ to delete any computer records with this name"
newvalue(:present) do
provider.create
end
newvalue(:absent) do
- Puppet.notice "prop ensure = absent"
provider.delete
end
end
newparam(:name) do
- desc "The "
+ desc "The authoritative 'short' name of the computer record."
isnamevar
end
newparam(:realname) do
- desc "realname"
+ desc "The 'long' name of the computer record."
end
newproperty(:en_address) do
diff --git a/lib/puppet/type/group.rb b/lib/puppet/type/group.rb
index 1167962..e3507ad 100755
--- a/lib/puppet/type/group.rb
+++ b/lib/puppet/type/group.rb
@@ -1,10 +1,3 @@
-# Manage Unix groups. This class is annoyingly complicated; There
-# is some variety in whether systems use 'groupadd' or 'addgroup', but OS X
-# significantly complicates the picture by using NetInfo. Eventually we
-# will also need to deal with systems that have their groups hosted elsewhere
-# (e.g., in LDAP). That will likely only be a problem for OS X, since it
-# currently does not use the POSIX interfaces, since lookupd's cache screws
-# things up.
require 'etc'
require 'facter'
@@ -14,16 +7,10 @@ module Puppet
@doc = "Manage groups. On most platforms this can only create groups.
Group membership must be managed on individual users.
- On OS X, group membership is managed as an attribute of the group.
- This resource type uses the prescribed native tools for creating
- groups and generally uses POSIX APIs for retrieving information
- about them. It does not directly modify ``/etc/group`` or anything.
-
- For most platforms, the tools used are ``groupadd`` and its ilk;
- for Mac OS X, dscl/dseditgroup are used.
-
- This is currently unconfigurable, but if you desperately need it
- to be so, please contact us."
+ On some platforms such as OS X, group membership is managed as an
+ attribute of the group, not the user record. Providers must have
+ the feature 'manages_members' to manage the 'members' property of
+ a group record."
feature :manages_members,
"For directories where membership is an attribute of groups not users."
--
Puppet packaging for Debian
More information about the Pkg-puppet-devel
mailing list