Prevent collisions of hostgroup and netgroup

For every hostgroup a managed netgroup is created (if this is allowed).
Make sure that if a stand-alone netgroup exists, a hostgroup with the
same name cannot be created to prevent collisions.

https://fedorahosted.org/freeipa/ticket/1914
This commit is contained in:
Martin Kosek 2011-10-05 16:18:16 +02:00 committed by Rob Crittenden
parent 60bacc23a0
commit 92dbd68677

View File

@ -115,6 +115,17 @@ class hostgroup_add(LDAPCreate):
msg_summary = _('Added hostgroup "%(value)s"')
def pre_callback(self, ldap, dn, entry_attrs, attrs_list, *keys, **options):
try:
netgroup = api.Command['netgroup_show'](keys[-1])
raise errors.DuplicateEntry(message=unicode(_(\
u'netgroup with name "%s" already exists' % keys[-1]\
)))
except errors.NotFound:
pass
return dn
def post_callback(self, ldap, dn, entry_attrs, *keys, **options):
# Always wait for the associated netgroup to be created so we can
# be sure to ignore it in memberOf