Bug 49086 - udm/remove (navigation): insufficientInformation: No superordinate object given
Summary: udm/remove (navigation): insufficientInformation: No superordinate object given
Status: RESOLVED WONTFIX
Alias: None
Product: UCS
Classification: Unclassified
Component: UMC - DNS
Version: UCS 4.4
Hardware: Other Linux
: P5 normal
Target Milestone: ---
Assignee: UMC maintainers
QA Contact: UMC maintainers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-03-25 13:52 CET by Johannes Keiser
Modified: 2024-06-27 12:10 CEST (History)
2 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?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2019032021000918, 2019020921000763
Bug group (optional): Error handling, External feedback
Customer ID:
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Keiser univentionstaff 2019-03-25 13:52:10 CET
Version: 4.4-0 errata11 (Blumenthal)

Remark: Löschen des Eintrags fehlgeschlagen

Interner Server-Fehler in "udm/remove (navigation)".
Request: udm/remove (navigation)

  File "%PY2.7%/notifier/threads.py", line 78, in _run
    tmp = self._function()
  File "%PY2.7%/notifier/__init__.py", line 104, in __call__
    return self._function( *tmp, **self._kwargs )
  File "%PY2.7%/univention/management/console/modules/udm/__init__.py", line 458, in _thread
    module.remove(ldap_dn, options.get('cleanup', False), options.get('recursive', False))
  File "%PY2.7%/univention/management/console/modules/udm/udm_ldap.py", line 87, in _decorated
    return method(*args, **kwargs)
  File "%PY2.7%/univention/management/console/ldap.py", line 143, in _decorated
    result = func(*args, **kwargs)
  File "%PY2.7%/univention/management/console/modules/udm/udm_ldap.py", line 690, in remove
    obj = self.module.object(None, ldap_connection, ldap_position, dn=ldap_dn, superordinate=superordinate)
  File "%PY2.7%/univention/admin/handlers/dns/ptr_record.py", line 202, in __init__
    univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes=attributes)
  File "%PY2.7%/univention/admin/handlers/__init__.py", line 239, in __init__
    self._validate_superordinate()
  File "%PY2.7%/univention/admin/handlers/__init__.py", line 992, in _validate_superordinate
    raise univention.admin.uexceptions.insufficientInformation(_('No superordinate object given'))
insufficientInformation: Kein übergeordnetes Objekt angegeben.

Role: domaincontroller_master
Comment 1 Johannes Keiser univentionstaff 2019-03-25 15:21:49 CET
Version: 4.3-3 errata419 (Neustadt)

Interner Server-Fehler in "udm/remove (navigation)".
Request: udm/remove (navigation)

  File "%PY2.7%/notifier/threads.py", line 78, in _run
    tmp = self._function()
  File "%PY2.7%/notifier/__init__.py", line 104, in __call__
    return self._function( *tmp, **self._kwargs )
  File "%PY2.7%/univention/management/console/modules/udm/__init__.py", line 458, in _thread
    module.remove(ldap_dn, options.get('cleanup', False), options.get('recursive', False))
  File "%PY2.7%/univention/management/console/modules/udm/udm_ldap.py", line 84, in _decorated
    return method(*args, **kwargs)
  File "%PY2.7%/univention/management/console/ldap.py", line 143, in _decorated
    result = func(*args, **kwargs)
  File "%PY2.7%/univention/management/console/modules/udm/udm_ldap.py", line 423, in remove
    obj = self.module.object(None, ldap_connection, ldap_position, dn=ldap_dn, superordinate=superordinate)
  File "%PY2.7%/univention/admin/handlers/dns/ptr_record.py", line 200, in __init__
    univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes=attributes)
  File "%PY2.7%/univention/admin/handlers/__init__.py", line 236, in __init__
    self._validate_superordinate()
  File "%PY2.7%/univention/admin/handlers/__init__.py", line 937, in _validate_superordinate
    raise univention.admin.uexceptions.insufficientInformation(_('No superordinate object given'))
insufficientInformation: Kein übergeordnetes Objekt angegeben.
Comment 2 Jürn Brodersen univentionstaff 2019-04-25 12:04:45 CEST
This can be reproduced with test 66__udm-computers/02_all_roles_creation_with_all_attributes and the s4 connector.

Just run the test and check /var/log/univention/connector-s4.log afterwards.
Comment 3 Florian Best univentionstaff 2019-04-25 13:40:07 CEST
(In reply to Jürn Brodersen from comment #2)
> This can be reproduced with test
> 66__udm-computers/02_all_roles_creation_with_all_attributes and the s4
> connector.
> Just run the test and check /var/log/univention/connector-s4.log afterwards.
Well, you cannot reproduce the UMC issue with that. But there is a similar traceback in the s4-connector. Can you paste this?
Might there be a regression caused by Bug #45068?
Comment 4 Jürn Brodersen univentionstaff 2019-04-25 17:18:32 CEST
univention,DC=intranet
25.04.2019 17:16:51,353 LDAP        (PROCESS): sync to ucs:   [           dns] [       add] relativeDomainName=mrwqk4gvvf,zoneName=q4up9tv4il.mflpa3f25q,cn=dns,dc=univention,dc=intranet
25.04.2019 17:16:51,357 LDAP        (ERROR  ): Unknown Exception during sync_to_ucs
25.04.2019 17:16:51,357 LDAP        (ERROR  ): Traceback (most recent call last):
  File "/usr/lib/pymodules/python2.7/univention/s4connector/__init__.py", line 1539, in sync_to_ucs
    result = self.property[property_type].ucs_sync_function(self, property_type, object)
  File "/usr/lib/pymodules/python2.7/univention/s4connector/s4/dns.py", line 1709, in con2ucs
    ucs_host_record_create(s4connector, object)
  File "/usr/lib/pymodules/python2.7/univention/s4connector/s4/dns.py", line 1001, in ucs_host_record_create
    newRecord = univention.admin.handlers.dns.host_record.object(None, s4connector.lo, position, dn=None, attributes=[], update_zone=False)
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/dns/host_record.py", line 147, in __init__
    univention.admin.handlers.simpleLdap.__init__(self, co, lo, position, dn, superordinate, attributes=attributes)
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 239, in __init__
    self._validate_superordinate()
  File "/usr/lib/pymodules/python2.7/univention/admin/handlers/__init__.py", line 993, in _validate_superordinate
    raise univention.admin.uexceptions.insufficientInformation(_('No superordinate object given'))
insufficientInformation: No superordinate object given
Comment 5 Florian Best univentionstaff 2019-04-25 17:39:54 CEST
"zoneName=q4up9tv4il.mflpa3f25q,cn=dns,dc=univention,dc=intranet" doesn't exists anymore at that time.
This is a bug against the S4-Connector, please clone it.
I think I saw this often in the past in the ucs-test logfiles.
The error handling is missing, it should instead print an error message/warning (e.g. catch noObject and insufficientInformation?).
Comment 6 Florian Best univentionstaff 2019-04-25 17:42:31 CEST
I have an idea about the potential cause of the UMC issue:
In UMC we are executing the function again if ldap.SERVER_DOWN occurrs. So if you remove a tree and between the removal of the parent and the child the ldap server gets restarted causing the traceback on the second execution of the function.
Comment 7 Jan-Luca Kiok univentionstaff 2024-06-27 12:10:46 CEST
This issue has been filed against UCS 4.4.

UCS 4.4 is out of general maintenance and components may have vastly changed in later releases. Thus, this issue is now being closed.

If this issue still occurs in newer versions, please use "Clone this bug" or reopen this issue. In this case please provide detailed information on how this issue is affecting you.