Yes exactly. I guess it has something to do with the Python3 deps being different on Debian12, most likely the openapi-core or openapi-schema-validator libs, but definitely not sure.
Debian 12: grommunio-admin-api / uwsg: can't create domain
Any news on when this will be fixed? I had the same issue (couldn't create a new user). Also users don't seem to be able to change their passwords (not sure if that's related).
WalterH mysql on my installation. have tried a number of different builds with Debian 12 over last few weeks with three different machine architectures: Intel on synology VMM, Intel on AWS, ARM on AWS. All using mysql as the back-end.
One big difference between Debian 11.7 and 12 is PHP version update from 7.4 to 8.2
Could that be the cause?
freeloadermatt PHP 8.2 can be the issue, but you should see PHP error messages in nginx logs in /var/log/grommunio
.
The problem is indeed a known bug in openapi: https://github.com/python-openapi/openapi-core/issues/251
openapi-core is provided by the grommunio repository, but it's a version that is broken/incompatible with Debian 12 . Maybe you could update that package. I'm not sure how I could update openapi-core without breaking something else.
I had a look where grommunio-admin-api uses openapi and found it has a config file where I can just disable openapi:
"openapi": {
"validateRequest": False,
"validateResponse": False
},
After this change the problem is gone. I assume this is somehow used for safety against malicious users/clients?
Can we tag this as "bug" to increase the visibility?
I´m cross linking the posting that I raised for the identical issue:
https://community.grommunio.com/d/1216-fehler-im-admin-ui-beim-offnen-von-benutzern-und-domanen/9
Changing the config did not resolve all issues: users still cannot change their password, syslog shows the openapi error.
I tried to reinstall python3-openapi-core, but it wouldn't work. Turns out, that there also seems to be a packaging error: The latest version in the Debian 12 pool is older than the one I had installed:
dpkg: Warnung: Version 0.13.7-1+7.17 des Paketes python3-openapi-core wird durch ältere Version 0.13.7-1+7.2 ersetzt
I manually downloaded the deb package from the pool and installed it, but it didn't fix the problem.
I'm not sure how other people get it working on Debian 12
I´m running a local package repository cache using aptly and I have this in my archive:
root@:/etc/postfix# apt list -a python3-openapi-core
Auflistung… Fertig
python3-openapi-core/now 0.13.7-1+7.17 all [Installiert,lokal]
python3-openapi-core/Debian_12 0.13.7-1+7.2 all
python3-openapi-core/Debian_12 0.13.7-1+7.1 all
Doing approx. weekly apt update; apt upgrade
resulted in having 0.13.7-1+7.17 on my system.
However, based on the github tracker link provided by @stefan_o, I would expect that the other 2 package versions will not make any difference.
I assume it could be an incompatibility with a later version of another package or Python 3.11
actually I am not sure in which of the python3-openapi- packages the error is located. Could also be the schema or spec validator!
I tried manually installing all packages from the Debian 12 and also from the Debian 11 repo, no difference.
Can anyone confirm that works on Debian 12 and post his exact versions of the openapi packages?
Is there any news here?
Hi Guys,
I installed fresh grommunio on Debian12 today and discovered I cannot create new domain. I used patch descripted above:
"openapi": {
"validateRequest": False,
"validateResponse": False
},
which I use at one of old server, but after that I cannot log in as admin any more. Even if I remove the patch file from /etc/grommunio-admin-api/conf.d/
exist some solution for this problem? Thank you for any advice.
this is in journal:
feb 22 18:41:55 hostname uwsgi[1441]: [ERROR] (grommunio Admin API) Traceback (most recent call last):
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/flask/app.py", line 1820, in full_dispatch_request
feb 22 18:41:55 hostname uwsgi[1441]: rv = self.dispatch_request()
feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^^^
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/flask/app.py", line 1796, in dispatch_request
feb 22 18:41:55 hostname uwsgi[1441]: return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/api/core.py", line 179, in wrapper
feb 22 18:41:55 hostname uwsgi[1441]: return call()
feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/api/core.py", line 144, in call
feb 22 18:41:55 hostname uwsgi[1441]: ret = func(*args, **kwargs)
feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/endpoints/misc.py", line 43, in login
feb 22 18:41:55 hostname uwsgi[1441]: success, val = loginUser(request.form["user"], request.form["pass"])
feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/api/security.py", line 208, in loginUser
feb 22 18:41:55 hostname uwsgi[1441]: user: Users = Users.query.join(Altnames, isouter=True)\
feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/share/grommunio-admin-api/orm/init.py", line 32, in get
feb 22 18:41:55 hostname uwsgi[1441]: mapper = class_mapper(type)
feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/base.py", line 448, in class_mapper
feb 22 18:41:55 hostname uwsgi[1441]: mapper = inspect_mapped_class(class, configure=configure)
feb 22 18:41:55 hostname uwsgi[1441]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/base.py", line 427, in inspect_mapped_class
feb 22 18:41:55 hostname uwsgi[1441]: mapper.check_configure()
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/mapper.py", line 1941, in _check_configure
feb 22 18:41:55 hostname uwsgi[1441]: _configure_registries({self.registry}, cascade=True)
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/mapper.py", line 3527, in _configure_registries
feb 22 18:41:55 hostname uwsgi[1441]: _do_configure_registries(registries, cascade)
feb 22 18:41:55 hostname uwsgi[1441]: File "/usr/lib/python3/dist-packages/sqlalchemy/orm/mapper.py", line 3562, in _do_configure_registries
feb 22 18:41:55 hostname uwsgi[1441]: raise e
feb 22 18:41:55 hostname uwsgi[1441]: sqlalchemy.exc.InvalidRequestError: One or more mappers failed to initialize - can't proceed with initialization of other mappers. Triggering mapper: 'mapped class MLists->>
feb 22 18:41:55 hostname uwsgi[1441]: [WARNING] (grommunio Admin API) POST /api/v1/login? from 192.168.1.1 -> 500 '{"message":"The server encountered an error while processing the request."}\n'
- Edited
Hi,
I am having the same problem on a fresh installed Debian 12. Any solution ideas? Thanks.