Univention Bugzilla – Bug 38856
Traceback creating existing UDM object with policies
Last modified: 2017-07-05 13:06:20 CEST
Created attachment 7009 [details] Patch tracebacks 1. dn is re-assigned the exception instance 2. For existing objects the policies are applied, even when already referenced. ucr set directory/manager/cmd/debug/level=4 eval "$(ucr shell ldap/base domainname)" python /usr/share/pyshared/univention/admincli/admin.py dhcp/subnet create --logfile /dev/stderr --ignore_exists --superordinate cn=$domainname,cn=dhcp,$ldap_base --set subnet=192.168.122.0 --policy-reference cn=default-settings,cn=boot,cn=dhcp,cn=policies,$ldap_base --set subnetmask=255.255.255.0 ... ... add dn=cn=192.168.122.0,cn=phahn.dev,cn=dhcp,dc=phahn,dc=dev err={'desc': 'Already exists'} ... mod dn=cn=192.168.122.0,cn=phahn.dev,cn=dhcp,dc=phahn,dc=dev ml=[('objectClass', '', 'univentionPolicyReference')] ... Traceback (most recent call last): File "/usr/share/univention-directory-manager-tools/univention-cli-server", line 222, in doit output = univention.admincli.admin.doit(arglist) File "/usr/lib/pymodules/python2.7/univention/admincli/admin.py", line 393, in doit out=_doit(arglist) File "/usr/lib/pymodules/python2.7/univention/admincli/admin.py", line 889, in _doit lo.modify(dn,[('objectClass','','univentionPolicyReference')]) File "/usr/lib/pymodules/python2.7/univention/admin/uldap.py", line 414, in modify return self.lo.modify(dn, changes) File "/usr/lib/pymodules/python2.7/univention/uldap.py", line 460, in modify if dn.startswith(key+'='): AttributeError: 'objectExists' object has no attribute 'startswith' ... 08.07.15 09:57:35.666 ADMIN ( WARN ) : Traceback (most recent call last): File "/usr/share/pyshared/univention/admincli/admin.py", line 393, in doit out=_doit(arglist) File "/usr/share/pyshared/univention/admincli/admin.py", line 890, in _doit lo.modify(dn,[('objectClass','','univentionPolicyReference')]) File "/usr/lib/pymodules/python2.7/univention/admin/uldap.py", line 423, in modify raise univention.admin.uexceptions.ldapError(_err2str(msg), original_exception=msg) ldapError: Type or value exists: modify/add: objectClass: value #0 already exists
Created attachment 8985 [details] Rebased patch Applied rebased patch: r 80609 univention-directory-manager-modules (12.0.17-24) * Bug #38856: Applied patch - Fix traceback when creating existing UDM object with policies YAML: r 80610
OK: policy reference is not evaluated if object exists OK: AttributeError: DN OK: YAML (adjusted in r80618) Added a test case: r80617 | Bug #38856: add 59_udm/12_create_existing_object_does_not_policy_reference
<http://errata.software-univention.de/ucs/4.2/79.html>