summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/group/ldap.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/provider/group/ldap.rb')
-rw-r--r--lib/puppet/provider/group/ldap.rb16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/puppet/provider/group/ldap.rb b/lib/puppet/provider/group/ldap.rb
index 632358ff1..a4870fc68 100644
--- a/lib/puppet/provider/group/ldap.rb
+++ b/lib/puppet/provider/group/ldap.rb
@@ -12,7 +12,7 @@ Puppet::Type.type(:group).provide :ldap, :parent => Puppet::Provider::Ldap do
as it iterates across all existing groups to pick the appropriate next
one."
- confine :true => Puppet.features.ldap?
+ confine :true => Puppet.features.ldap?, :false => (Puppet[:ldapuser] == "")
# We're mapping 'members' here because we want to make it
# easy for the ldap user provider to manage groups. This
@@ -23,12 +23,14 @@ Puppet::Type.type(:group).provide :ldap, :parent => Puppet::Provider::Ldap do
# Find the next gid after the current largest gid.
provider = self
manager.generates(:gidNumber).with do
- largest = 0
- provider.manager.search.each do |hash|
- next unless value = hash[:gid]
- num = value[0].to_i
- if num > largest
- largest = num
+ largest = 500
+ if existing = provider.manager.search
+ existing.each do |hash|
+ next unless value = hash[:gid]
+ num = value[0].to_i
+ if num > largest
+ largest = num
+ end
end
end
largest + 1