Problem: Installing UCS5 errata 881 in a mixed environment breaks UDM

Problem:

Following the installation of UCS5 errata 881 in a mixed UCS4 and UCS5 environment, the functionality of UDM (Univention Directory Manager) breaks. This issue stems from Bugfix 56824, which inadvertently registers UDM modules domain-wide. Consequently, this registration introduces new code files across all servers, irrespective of their version, resulting in incompatibility with UCS4 systems.

When accessing the UCS4.4-9 system, the following error may occur:

# /usr/share/univention-directory-manager-tools/univention-cli-server                                                                  
Traceback (most recent call last):
  File "/usr/share/univention-directory-manager-tools/univention-cli-server", line 45, in <module>
    import univention.admincli.admin
  File "/usr/lib/python2.7/dist-packages/univention/admincli/admin.py", line 57, in <module>
    univention.admin.modules.update()
  File "/usr/lib/python2.7/dist-packages/univention/admin/modules.py", line 123, in update
    _walk(root, w_root, w_files)
  File "/usr/lib/python2.7/dist-packages/univention/admin/modules.py", line 110, in _walk
    m = importlib.import_module('univention.admin.handlers.%s' % (modulepackage,))  # type: Any
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/usr/lib/python2.7/dist-packages/univention/admin/handlers/saml/serviceprovider.py", line 195, in <module>
    mapping.register('Identifier', 'SAMLServiceProviderIdentifier', None, univention.admin.mapping.ListToString, encoding='ASCII')
TypeError: register() got an unexpected keyword argument 'encoding'

Solution:

To resolve this issue on the UCS4.4-9 server, follow these steps:

  1. Reinstall the previous package univention-saml-schema:

    apt-get install --reinstall univention-saml-schema
    
  2. After the reinstallation, execute the following file to verify proper functionality:

    /usr/share/univention-directory-manager-tools/univention-cli-server
    

This should rectify the compatibility issue caused by the introduction of incompatible code files on UCS4 systems.

3 Likes
Mastodon