Bug 34681

Summary: Display of referencing objects incorrect
Product: UCS Reporter: Alexander Kläser <klaeser>
Component: UMC - PoliciesAssignee: UMC maintainers <umc-maintainers>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P2 CC: ebersbach, wiesenthal
Version: UCS 3.0   
Target Milestone: ---   
Hardware: Other   
OS: Linux   
What kind of report is it?: --- What type of bug is this?: ---
Who will be affected by this bug?: --- How will those affected feel about the bug?: ---
User Pain: Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional): Usability
Max CVSS v3 score:

Description Alexander Kläser univentionstaff 2014-04-29 11:52:15 CEST
This problem has already been addressed in Bug 25638. However, it seems that there is still a problem at least with the handling of UCR variable policies:

> root@master50:~# univention-ldapsearch -LLL '(|(cn=ucc-desktops)(cn=ucc-thinclients))' dn univentionPolicyReference
> dn: cn=ucc-thinclients,cn=computers,dc=errata,dc=qa
> univentionPolicyReference:
> univentionPolicyReference: cn=ucc-thinclient-settings,cn=config-registry,cn=policies,dc=errata,dc=qa
> 
> dn: cn=ucc-desktops,cn=computers,dc=errata,dc=qa
> univentionPolicyReference:
> univentionPolicyReference: cn=ucc-desktop-settings,cn=config-registry,cn=policies,dc=errata,dc=qa

When I open the policy ucc-desktop-settings, UMC will display me the container ucc-desktops as referencing object. If I then open the policy ucc-thinclients, UMC will still display the same container as referencing object.

+++ This bug was initially created as a clone of Bug #25638 +++

Auf dem Tab "Referenzierende Objekte" einer Richtlinie wird scheinbar immer nur ein referenzierendes Objekt angezeigt (bei jedem öffnen der Richtlinie ein anderes?).
Comment 1 Dirk Wiesenthal univentionstaff 2014-04-29 11:56:33 CEST
Seems to be a problem for all policy types.

Each policy module somehow caches the _view_referencing_objects for all instances of that policy module. Syntax is

syntax = udm_syntax.LDAP_Search(
  filter = '(&(objectClass=univentionPolicyReference)(univentionPolicyReference=%s))' % ldap_dn,
  viewonly = True )

So this should not be the problem - if executed each time.

Maybe the new 3.2 UDM frontend cache, caching that syntax with the first ldap_dn?
Comment 2 Dirk Wiesenthal univentionstaff 2014-04-29 12:21:27 CEST

*** This bug has been marked as a duplicate of bug 33344 ***
Comment 3 Alexander Kläser univentionstaff 2014-04-29 12:21:41 CEST
(In reply to Dirk Wiesenthal from comment #1)
> Seems to be a problem for all policy types.
> 
> Each policy module somehow caches the _view_referencing_objects for all
> instances of that policy module. Syntax is
> 
> syntax = udm_syntax.LDAP_Search(
>   filter =
> '(&(objectClass=univentionPolicyReference)(univentionPolicyReference=%s))' %
> ldap_dn,
>   viewonly = True )
> 
> So this should not be the problem - if executed each time.
> 
> Maybe the new 3.2 UDM frontend cache, caching that syntax with the first
> ldap_dn?

Yes, confirmed. The frontend caches the module properties. The problem with policies is that the LDAP filter for finding referencing objects for a policy is communicated via the module properties. However, this filter is particular for each policy object as its DN is being used in the filter expression.