Bug 35074 - The 'ipRange' cannot be removed for existing networks
The 'ipRange' cannot be removed for existing networks
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
UCS 4.2
Other Linux
: P5 normal (vote)
: UCS 4.2-1-errata
Assigned To: Florian Best
Johannes Keiser
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-06-06 14:49 CEST by Dmitry Galkin
Modified: 2017-07-26 14:39 CEST (History)
4 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 3: Simply Wrong: The implementation doesn't match the docu
Who will be affected by this bug?: 1: Will affect a very few installed domains
How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.034
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Ticket number:
Bug group (optional):
Max CVSS v3 score:
best: Patch_Available+


Attachments
UMC screenschoot, removing network ip range (121.52 KB, image/png)
2014-06-06 14:51 CEST, Dmitry Galkin
Details
directory-manager-cmd.log (4.48 KB, text/x-log)
2017-03-31 17:39 CEST, Eduard Mai
Details
patch (1.21 KB, patch)
2017-07-11 17:00 CEST, Florian Best
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Galkin univentionstaff 2014-06-06 14:49:45 CEST
Cannot remove the IP address range for existing network, neither via UMC nor via UDM command line tool:

root@backup11:~# udm networks/network modify --dn cn=test_net,cn=networks,dc=dgalkin,dc=dev --remove ipRange="10.200.25.30 10.200.25.31"
LDAP Error: No such attribute: modify/delete: univentionIpRange: no such attribute
root@backup11:~# tail /var/log/univention/directory-manager-cmd.log
    dn=object.modify()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 345, in modify
    return self._modify(modify_childs,ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 919, in _modify
    self.lo.modify(self.dn, ml, ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/uldap.py", line 419, in modify
    raise univention.admin.uexceptions.ldapError, _err2str(msg)
ldapError: No such attribute: modify/delete: univentionIpRange: no such attribute


The problem seems to be that deletion attempt is made twice (/var/log/univention/directory-manager-cmd.log):

18.05.14 06:42:12.236  LDAP        ( INFO    ) : uldap.search filter=(&(|(objectClass=univentionDomainController)(objectClass=univentionMemberServer))(univentionService=S4 Connector)) base= scope=sub attr=['aRecord'] unique=0 required=0 timeout=-1 sizelimit=0
18.05.14 06:42:12.268  ADMIN       ( INFO    ) : old Range: [['10.200.25.30', '10.200.25.31']]
18.05.14 06:42:12.268  LDAP        ( ALL     ) : mod dn=cn=test_net,cn=networks,dc=dgalkin,dc=dev ml=[('univentionIpRange', ['10.200.25.30 10.200.25.31'], ''), ('univentionIpRange', ['10.200.25.30 10.200.25.31'], []), ('univentionNextIp', ['10.200.25.30'], '10.200.25.1')]
18.05.14 06:42:12.268  LDAP        ( INFO    ) : uldap.modify cn=test_net,cn=networks,dc=dgalkin,dc=dev

18.05.14 06:42:12.268  LDAP        ( WARN    ) : PMH ml=[(1, 'univentionIpRange', ['10.200.25.30 10.200.25.31']), (1, 'univentionIpRange', ['10.200.25.30 10.200.25.31']), (2, 'univentionNextIp', '10.200.25.1')]

18.05.14 06:42:12.741  LDAP        ( ALL     ) : mod dn=cn=test_net,cn=networks,dc=dgalkin,dc=dev err={'info': 'modify/delete: univentionIpRange: no such attribute', 'desc': 'No such attribute'} changes=[('univentionIpRange', ['10.200.25.30 10.200.25.31'], ''), ('univentionIpRange', ['10.200.25.30 10.200.25.31'], []), ('univentionNextIp', ['10.200.25.30'], '10.200.25.1')]
18.05.14 06:42:12.747  ADMIN       ( WARN    ) : Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.6/univention/admincli/admin.py", line 393, in doit
    out=_doit(arglist)
  File "/usr/lib/pymodules/python2.6/univention/admincli/admin.py", line 980, in _doit
    dn=object.modify()
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 345, in modify
    return self._modify(modify_childs,ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/handlers/__init__.py", line 919, in _modify
    self.lo.modify(self.dn, ml, ignore_license=ignore_license)
  File "/usr/lib/pymodules/python2.6/univention/admin/uldap.py", line 419, in modify
    raise univention.admin.uexceptions.ldapError, _err2str(msg)
ldapError: No such attribute: modify/delete: univentionIpRange: no such attribute
Comment 1 Dmitry Galkin univentionstaff 2014-06-06 14:51:38 CEST
Created attachment 5939 [details]
UMC screenschoot, removing network ip range
Comment 2 Eduard Mai univentionstaff 2017-03-31 17:39:08 CEST
Created attachment 8735 [details]
directory-manager-cmd.log

Seen again during pre-release testing for UCS 4.2.
Comment 3 Florian Best univentionstaff 2017-07-11 16:55:11 CEST
I added a test case with SKIP flag:

ucs-test (7.0.22-24):
r81052 | Bug #35074: add 11_remove_iprange_from_network
Comment 4 Florian Best univentionstaff 2017-07-11 17:00:43 CEST
Created attachment 9014 [details]
patch

The problem is that the attribute is part of the mapping and also set in _ldap_modlist manually.
Comment 5 Florian Best univentionstaff 2017-07-12 16:40:35 CEST
univention-directory-manager-modules (12.0.17-83):
r81099 | Bug #35074: removing a ipRange property from a networks/network object is possible again

univention-directory-manager-modules.yaml:
r81105 | YAML Bug #36631, Bug #35074, Bug #25187, Bug #25189

ucs-test (7.0.22-26):
r81116 | Bug #35074: enable test script
Comment 6 Johannes Keiser univentionstaff 2017-07-13 15:58:32 CEST
OK ipRange can be removed
YAML OK
-> verified
Comment 7 Erik Damrose univentionstaff 2017-07-26 14:39:14 CEST
<http://errata.software-univention.de/ucs/4.2/115.html>