We’re currently running a few openDesk instances and discovered that creating an OX Context with a space in its ame causes the ox-connector to crashloop
Deleting the Context again and deleting the LDAP, provisioner and ox-connector pods doesn’t fix the problem, it keeps CrashLooping trying to create the same context with the invalid name.
objects.soap.admin.openexchange.com/xsd"><ns2:InvalidDataException><ns2:Exception xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"></ns2:Exception><ns5:objectname xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nil="true"></ns5:objectname></ns2:InvalidDataException></ns2:InvalidDataException></detail></soap:Fault></soap:Body></soap:Envelope>
2025-06-05 18:20:58,169 ERROR [consumer.create:171] Failed to handle creation
Traceback (most recent call last):
File "/consumer.py", line 158, in create
run(obj)
File "/usr/local/lib/python3.11/dist-packages/univention/ox/provisioning/__init__.py", line 81, in run
create_context(obj)
File "/usr/local/lib/python3.11/dist-packages/univention/ox/provisioning/contexts.py", line 73, in create_context
context.create()
File "/usr/local/lib/python3.11/dist-packages/univention/ox/soap/backend.py", line 251, in create
obj = self.default_service.create(context, admin_user)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/univention/ox/soap/services.py", line 349, in create
return self._call_ox(
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/univention/ox/soap/services.py", line 194, in _call_ox
return getattr(service, func)(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/zeep/proxy.py", line 46, in __call__
return self._proxy._binding.send(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/zeep/wsdl/bindings/soap.py", line 135, in send
return self.process_reply(client, operation_obj, response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/zeep/wsdl/bindings/soap.py", line 229, in process_reply
return self.process_error(doc, operation)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/zeep/wsdl/bindings/soap.py", line 329, in process_error
raise Fault(
zeep.exceptions.Fault: Illegal chars: " " in login mapping; exceptionId 1745022103-6
2025-06-05 18:20:58,171 WARNING [consumer.create:172] Illegal chars: " " in login mapping; exceptionId 1745022103-6
Traceback (most recent call last):
File "/consumer.py", line 298, in <module>
main()
File "/consumer.py", line 289, in main
asyncio.run(
File "/usr/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/consumer.py", line 112, in start_listening_for_changes
await message_handler(client, [self.handle_message]).run()
File "/usr/local/lib/python3.11/dist-packages/univention/provisioning/consumer/api.py", line 192, in run
await callback(message)
File "/consumer.py", line 140, in handle_message
self.create(new_obj, new_obj.get("dn"))
File "/consumer.py", line 158, in create
run(obj)
File "/usr/local/lib/python3.11/dist-packages/univention/ox/provisioning/__init__.py", line 81, in run
create_context(obj)
File "/usr/local/lib/python3.11/dist-packages/univention/ox/provisioning/contexts.py", line 73, in create_context
context.create()
File "/usr/local/lib/python3.11/dist-packages/univention/ox/soap/backend.py", line 251, in create
obj = self.default_service.create(context, admin_user)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/univention/ox/soap/services.py", line 349, in create
return self._call_ox(
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/univention/ox/soap/services.py", line 194, in _call_ox
return getattr(service, func)(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/zeep/proxy.py", line 46, in __call__
return self._proxy._binding.send(
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/zeep/wsdl/bindings/soap.py", line 135, in send
return self.process_reply(client, operation_obj, response)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/zeep/wsdl/bindings/soap.py", line 229, in process_reply
return self.process_error(doc, operation)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/dist-packages/zeep/wsdl/bindings/soap.py", line 329, in process_error
raise Fault(
zeep.exceptions.Fault: Illegal chars: " " in login mapping; exceptionId 1745022103-6