Problem: The joinscript 65univention-ox.inst failes with Failed to register LDAP module

Problem:

The joinscript 65univention-ox.inst failes with “Failed to register LDAP module.”

ERROR: python variable ‘module’ undefined in given file: /usr/share/univention-ox/udm/oxmail/oxfetchmailmulti.py
65univention-ox.inst: Failed to register LDAP module.
EXITCODE=1

You can also see, that udm ox… does not exists, but in ldap the modules are present and active.

Investigation:

:~# cd /usr/share/univention-ox/udm/oxmail/
: /usr/share/univention-ox/udm/oxmail# python oxfetchmailmulti.py
Traceback (most recent call last):
  File  "oxfetchmailmulti.py",  line 93, in <modules>
     syntax=univention.admin.sytax.oxFetchmailProtocol,
AttributeError:  'module'  object has no  attribute 'oxFetchmailProtocol'

Search if the udm moduleas are present and active:

udm  settings/udm_module list
DN: cn=oxmail/oxcontext,cn=udm_module,cn=univention,dc=schein,dc=ig
  active: TRUE
DN: cn=oxmail/oxdomain,cn=udm_module,cn=univention,dc=schein,dc=ig
  active: TRUE
DN: cn=oxmail/oxfetchmailmulti,cn=udm_module,cn=univention,dc=schein,dc=ig
  active: TRUE
[..]

Solution:

ox udm syntax was registered in LDAP and marked as ‘active’, but the file was not in the file system and thus could not be imported.

univention-directory-listener-ctrl resync udm-modules

and then:

univention-run-join-scripts