Bug 52364 - Users readded to classes and workgroups they were removed from (S4Connector)
Users readded to classes and workgroups they were removed from (S4Connector)
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: S4 Connector
UCS 4.4
Other Linux
: P5 normal (vote)
: UCS 4.4-6-errata
Assigned To: Felix Botner
Julia Bremer
https://git.knut.univention.de/univen...
:
Depends on: 51929
Blocks:
  Show dependency treegraph
 
Reported: 2020-11-16 09:18 CET by Julia Bremer
Modified: 2020-11-25 12:08 CET (History)
12 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?: 2: Will only affect a few installed domains
How will those affected feel about the bug?: 5: Blocking further progress on the daily work
User Pain: 0.171
Enterprise Customer affected?:
School Customer affected?: Yes
ISV affected?:
Waiting Support: Yes
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Julia Bremer univentionstaff 2020-11-16 09:18:08 CET
+++ This bug was initially created as a clone of Bug #51929 +++
In Bug #51929 using the ucs-school-user-import with an adconnector and moving the pupils between schools ended up making some of those pupils members of groups of both schools.
The reason was, that the group_member_cache was not correctly updated in a move. 
The user was not found in the group_member_cache and therefore not removed from the group because the user had changed its DN.
This only happens when the adconnector is stopped while making these changes, because multiple sync_from_ucs operations have to happen consecutively without a sync_to_ucs in between.
This was fixed in the adconnector.

During Bug #51929, we created a test case 55_adconnector/504_test_group_cache_after_move which still fails in out adconnector + s4connector setup 
http://jenkins.knut.univention.de:8080/job/UCS-4.4/job/UCS-4.4-6/job/ADConnectorMultiEnv/Version=s4connector-w2k8r2-german/lastCompletedBuild/testReport/55_adconnector/504test_group_cache_after_move/master237/

In the logs one can see that the testuser is not removed from the group because i was not found in the cache. 
11.11.2020 15:26:41.499 LDAP        (PROCESS): group_members_sync_from_ucs: cn=hbtwedcq,dc=autotest237,dc=local was not found in S4 group member cache of cn=ybqkedcr,cn=groups,dc=autotest237,dc=local, don't delete

So the same problem or at least a similar problem exists in the s4connector too and we should fix this as well.
Comment 2 Felix Botner univentionstaff 2020-11-17 14:23:58 CET
univention-s4-connector - 3a759bbd56df4932e34a33e49857d6cf405541f2
 * just applied the ad-connector change

ucs-test - 32a22d109474c1ce38888fd83da70fb065c8a683
 * added 52_s4connector/515test_group_cache_after_move

yaml - ecbb8cf0800586811d15cc36b482ccd3d38b4b4c
Comment 3 Julia Bremer univentionstaff 2020-11-18 10:20:46 CET
New test: OK
Old test successful with S4+AD installed: OK
school ad+s4: OK
school s4: OK
ucs ad+s4: OK
Code review: OK
Reproducer: OK
Can't replicate error any more: OK
yaml: OK

Verified