Bug 34800 - univentionLDAPSchemaActive=TRUE restart slapd
univentionLDAPSchemaActive=TRUE restart slapd
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: univention-lib
UCS 3.2
Other Linux
: P5 normal (vote)
: UCS 3.2-2
Assigned To: Philipp Hahn
Stefan Gohmann
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2014-05-09 17:28 CEST by Philipp Hahn
Modified: 2014-05-20 07:53 CEST (History)
0 users

See Also:
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): Troubleshooting
Max CVSS v3 score:
hahn: Patch_Available+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2014-05-09 17:28:25 CEST
Even tough only univentionLDAPSchemaActive is changed to TRUE, the LDAP server slapd gets restarted:

09.05.14 07:59:40.551  LISTENER    ( PROCESS ) : ldap_extension: extension univention-app: changed attributes: ['univentionLDAPSchemaActive']
09.05.14 07:59:40.552  LISTENER    ( PROCESS ) : ldap_extension: Moving old file /var/lib/univention-ldap/local-schema/univention-app.schema to /tmp/tmp56t19m.
09.05.14 07:59:40.552  LISTENER    ( PROCESS ) : ldap_extension: Writing new extension file /var/lib/univention-ldap/local-schema/univention-app.schema.

@@ -362,7 +362,7 @@ class UniventionLDAPSchema(UniventionLDAPExtensionWithListenerHandler):
 
                        if old: ## check for trivial changes
                                diff_keys = [ key for key in new.keys() if new.get(key) != old.get(key) and key not in ('entryCSN', 'modifyTimestamp', 'modifiersName')]
-                               if diff_keys == ['univentionLDAPSchemaActive'] and new.get('univentionLDAPSchemaActive') == 'TRUE':
+                               if diff_keys == ['univentionLDAPSchemaActive'] and new.get('univentionLDAPSchemaActive') == ['TRUE']:
                                        ud.debug(ud.LISTENER, ud.INFO, '%s: extension %s: activation status changed.' % (name, new['cn'][0]))
                                        return
                                elif diff_keys == ['univentionAppIdentifier']:
Comment 1 Philipp Hahn univentionstaff 2014-05-09 17:42:26 CEST
r50102 | Bug #34800 lib: Fix slapd restart on LDAP schema activation
r50105 | Bug #34800 lib: Fix slapd restart on LDAP schema activation CL

Package: univention-lib
Version: 3.0.26-20.223.201405091741

Should be back-ported as 3.2-1 and 3.2-0 errata?


PS: the 2nd case was right already:
ldap_extension.py:365:                          if diff_keys == ['univentionLDAPSchemaActive'] and new.get('univentionLDAPSchemaActive') == ['TRUE']:
ldap_extension.py:548:                          if diff_keys == ['univentionLDAPACLActive'] and new.get('univentionLDAPACLActive')[0] == 'TRUE':
Comment 2 Stefan Gohmann univentionstaff 2014-05-14 13:14:54 CEST
Changelog: OK

Code: OK

Tests: OK
Comment 3 Stefan Gohmann univentionstaff 2014-05-20 07:53:30 CEST
UCS 3.2-2 has been released:
 http://docs.univention.de/release-notes-3.2-2-en.html
 http://docs.univention.de/release-notes-3.2-2-de.html

If this error occurs again, please use "Clone This Bug".