Bug 42457 - Outdated netlogon scripts due to traceback
Outdated netlogon scripts due to traceback
Status: CLOSED FIXED
Product: UCS@school
Classification: Unclassified
Component: Netlogon scripts
UCS@school 4.1 R2
Other Linux
: P5 normal (vote)
: UCS@school 4.1 R2 vXXX
Assigned To: Sönke Schwardt-Krummrich
Florian Best
: interim-2
: 41916 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2016-09-21 10:45 CEST by Sönke Schwardt-Krummrich
Modified: 2016-11-10 16:00 CET (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 5: Will affect all installed domains
How will those affected feel about the bug?: 4: A User would return the product
User Pain: 0.571
Enterprise Customer affected?:
School Customer affected?: Yes
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2016091621002455
Bug group (optional):
Max CVSS v3 score:


Attachments
Patch for ucs-school-user-logonscript.py (1.29 KB, patch)
2016-09-21 10:53 CEST, Sönke Schwardt-Krummrich
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sönke Schwardt-Krummrich univentionstaff 2016-09-21 10:45:31 CEST
The listener.log contains the following traceback of ucs-school-user-logonscript listener module that is triggered by group changes of other OUs.
The groups "Domain Users ${OU}" are now also replicated to all other school slaves. But not all users are replicated to all school servers. Therefore if the group "Domain Users school2" is changed, the slave of school1 emits a traceback due to missing users of school2 in local LDAP.

There are indications, that the listener module stops evaluating user/group/share changes which results in outdated netlogon scripts.

UNIVENTION_DEBUG_BEGIN  : uldap.__open host=slave1.example.de port=7389 base=dc=example,dc=de
UNIVENTION_DEBUG_END    : uldap.__open host=slave1.example.de port=7389 base=dc=example,dc=de
20.09.16 09:57:51.475  LISTENER    ( ERROR   ) : ucsschool-user-logonscripts: error=NO_SUCH_OBJECT({'matched': 'cn=lehrer und mitarbeiter,cn=users,ou=schule2,dc=example,dc=de', 'desc': 'No such object'},)
20.09.16 09:57:51.475  LISTENER    ( ERROR   ) : Traceback (most recent call last):
  File "/usr/lib/univention-directory-listener/system/ucs-school-user-logonscript.py", line 484, in userchange
    res = lo.search(base=dn, scope="base", filter='objectClass=*')
  File "/usr/lib/pymodules/python2.7/univention/uldap.py", line 284, in search
    res = self.lo.search_ext_s(base, ldap_scope, filter, attr, serverctrls=serverctrls, clientctrls=None, timeout=timeout, sizelimit=sizelimit)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 918, in search_ext_s
    return self._apply_method_s(SimpleLDAPObject.search_ext_s,*args,**kwargs)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 860, in _apply_method_s
    return func(self,*args,**kwargs)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 553, in search_ext_s
    return self.result(msgid,all=1,timeout=timeout)[1]
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 465, in result
    resp_type, resp_data, resp_msgid = self.result2(msgid,all,timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 469, in result2
    resp_type, resp_data, resp_msgid, resp_ctrls = self.result3(msgid,all,timeout)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 476, in result3
    resp_ctrl_classes=resp_ctrl_classes
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 483, in result4
    ldap_result = self._ldap_call(self._l.result4,msgid,all,timeout,add_ctrls,add_intermediates,add_extop)
  File "/usr/lib/python2.7/dist-packages/ldap/ldapobject.py", line 106, in _ldap_call
    result = func(*args,**kwargs)
NO_SUCH_OBJECT: {'matched': 'cn=lehrer und mitarbeiter,cn=users,ou=schule2,dc=example,dc=de', 'desc': 'No such object'}
Comment 1 Sönke Schwardt-Krummrich univentionstaff 2016-09-21 10:53:56 CEST
Created attachment 8024 [details]
Patch for ucs-school-user-logonscript.py
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2016-09-28 11:10:06 CEST
*** Bug 41916 has been marked as a duplicate of this bug. ***
Comment 3 Florian Best univentionstaff 2016-09-29 15:50:44 CEST
I just had this problem on my slave. The patch fixed it.
Comment 4 Florian Best univentionstaff 2016-09-29 15:51:49 CEST
(In reply to Sönke Schwardt-Krummrich from comment #1)
> Created attachment 8024 [details]
> Patch for ucs-school-user-logonscript.py
Please use "as exc" not ", ex" and leave it completely out if unused.
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2016-10-20 18:20:38 CEST
Applied a similar patch.

ucs-school-netlogon-user-logonscripts (12.0.4-1):
r73428 | Bug #42457: do not fail to create netlogon script if user cannot be found in LDAP

ucs-school-netlogon-user-logonscripts.yaml:
r73428 | Bug #42457: do not fail to create netlogon script if user cannot be found in LDAP

Package: ucs-school-netlogon-user-logonscripts
Version: 12.0.4-1.56.201610201819

A ucs-test script is in this case not required.
Comment 6 Florian Best univentionstaff 2016-10-24 16:39:29 CEST
OK
YAML adjusted:
r73514 | YAML Bug #42457
Comment 7 Sönke Schwardt-Krummrich univentionstaff 2016-11-10 16:00:48 CET
UCS@school 4.1 R2 v7 has been released.

http://docs.software-univention.de/changelog-ucsschool-4.1R2v7-de.html

If this error occurs again, please clone this bug.