Bug 46231 - UMC Diagnose
UMC Diagnose
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: General
UCS 4.3
Other Linux
: P5 normal (vote)
: UCS 4.3
Assigned To: Jürn Brodersen
Felix Botner
: interim-3
: 45585 (view as bug list)
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-02-07 09:42 CET by Felix Botner
Modified: 2018-03-22 09:50 CET (History)
3 users (show)

See Also:
What kind of report is it?: Development Internal
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):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Felix Botner univentionstaff 2018-02-07 09:42:57 CET
http://jenkins.knut.univention.de:8080/job/UCS-4.3/job/UCS-4.3-0/job/Installation%20Tests/mode=ad-member/lastCompletedBuild/testReport/00_checks/81_diagnostic_checks/test/

[2018-02-07 02:16:18.010258] E     Exception: ############################
[2018-02-07 02:16:18.010395] E     ## Check failed: 22_kdc_service - KDC Erreichbarkeit
[2018-02-07 02:16:18.010531] E     Die folgenden KDCs waren nicht erreichbar: tcp win-dua7earhmn9.admember.local:88, udp win-dua7earhmn9.admember.local:88
[2018-02-07 02:16:18.010685] E     Keine erreichbaren KDCs gefunden.
[2018-02-07 02:16:18.010812] E     ########### End #############
[2018-02-07 02:16:18.010938] E     ############################
[2018-02-07 02:16:18.011104] E     ## Check failed: 20_check_nameservers - Überprüfe die Nameserver Einträge der DNS Zonen
[2018-02-07 02:16:18.011236] E     Traceback (most recent call last):
[2018-02-07 02:16:18.011368] E       File "/usr/lib/pymodules/python2.7/univention/management/console/modules/diagnostic/__init__.py", line 263, in execute
[2018-02-07 02:16:18.011497] E         result = execute(umc_module, **kwargs)
[2018-02-07 02:16:18.011655] E       File "/usr/lib/pymodules/python2.7/univention/management/console/modules/diagnostic/plugins/20_check_nameservers.py", line 220, in run
[2018-02-07 02:16:18.011798] E         for (zone, group) in it.groupby(find_all_zone_problems(), lambda error: error.zone):
[2018-02-07 02:16:18.011932] E       File "/usr/lib/pymodules/python2.7/univention/management/console/modules/diagnostic/plugins/20_check_nameservers.py", line 208, in find_all_zone_problems
[2018-02-07 02:16:18.012067] E         udm = UDM()
[2018-02-07 02:16:18.012199] E       File "/usr/lib/pymodules/python2.7/univention/management/console/modules/diagnostic/plugins/20_check_nameservers.py", line 157, in __init__
[2018-02-07 02:16:18.012346] E         univention.admin.modules.update()
[2018-02-07 02:16:18.012485] E       File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 93, in update
[2018-02-07 02:16:18.015104] E         os.path.walk(dir, _walk, p)
[2018-02-07 02:16:18.015134] E       File "/usr/lib/python2.7/posixpath.py", line 239, in walk
[2018-02-07 02:16:18.015153] E         walk(name, func, arg)
[2018-02-07 02:16:18.015171] E       File "/usr/lib/python2.7/posixpath.py", line 231, in walk
[2018-02-07 02:16:18.015188] E         func(arg, top, names)
[2018-02-07 02:16:18.015207] E       File "/usr/lib/pymodules/python2.7/univention/admin/modules.py", line 78, in _walk
[2018-02-07 02:16:18.015224] E         m = __import__(mod, globals(), locals(), name)
[2018-02-07 02:16:18.015252] E       File "/usr/lib/pymodules/python2.7/univention/admin/handlers/users/ldap.py", line 45, in <module>
[2018-02-07 02:16:18.015273] E         from univention.admin.handlers.users.user import check_prohibited_username
[2018-02-07 02:16:18.015291] E       File "/usr/lib/pymodules/python2.7/univention/admin/handlers/users/user.py", line 43, in <module>
[2018-02-07 02:16:18.015308] E         from M2Crypto import X509
[2018-02-07 02:16:18.015327] E       File "/usr/lib/python2.7/dist-packages/M2Crypto/__init__.py", line 26, in <module>
[2018-02-07 02:16:18.015345] E         from M2Crypto import (ASN1, AuthCookie, BIO, BN, DH, DSA, EVP, Engine, Err,
[2018-02-07 02:16:18.015363] E       File "/usr/lib/python2.7/dist-packages/M2Crypto/SSL/__init__.py", line 15, in <module>
[2018-02-07 02:16:18.015444] E         class SSLTimeoutError(SSLError, socket.timeout):
[2018-02-07 02:16:18.015467] E     TypeError: Error when calling the metaclass bases
[2018-02-07 02:16:18.015487] E         metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
Comment 1 Jürn Brodersen univentionstaff 2018-02-07 15:38:22 CET
20_check_nameservers fails because 22_kdc_service fails.

Running 20_check_nameserver isolated in a python console works:
'''
from univention.management.console.modules import diagnostic
foo = diagnostic.Plugin('20_check_nameservers')
foo.execute({})
'''

The M2Crypto import seems to be not thread safe (used by univention/admin/handlers/users/user.py).
Comment 2 Jürn Brodersen univentionstaff 2018-02-08 15:23:08 CET
831c40d8: fixed 22_kdc_service.py

The problem with 20_check_nameservers is actually independent from the failure in 22_kdc_service. That problem seems only to occur if 22_kdc_service is run before 20_check_nameservers.
That can be forced with:
plugins = sorted(plugins, key=lambda plugin: plugin['id'], reverse=True)
in 81_diagnostic_checks
Comment 3 Felix Botner univentionstaff 2018-02-08 15:55:05 CET
I have another one


Datei '/var/run/univention-saml/memcached.socket' hat den Besitzer 'samlcgi:nogroup', während 'samlcgi:root' erwartet war.
Comment 4 Jürn Brodersen univentionstaff 2018-02-09 10:38:04 CET
d20c36e5: fixed 31_file_permissions.py
Comment 5 Jürn Brodersen univentionstaff 2018-02-09 11:06:59 CET
ec8ebc91: fixed wrong syntax in 22_kdc_service.py

The problem in 20_check_nameservers appeared because of wrong exception handling in 22_kdc_service which globally overwrote socket.timeout which broke M2Crypto...
Comment 6 Jürn Brodersen univentionstaff 2018-02-09 11:32:51 CET
58cac77a: fixed _strptime import for 02_certificate_check.py
Comment 7 Jürn Brodersen univentionstaff 2018-02-09 11:43:13 CET
bb2b321b: changelog
Comment 8 Felix Botner univentionstaff 2018-02-16 11:58:00 CET
OK - UMC diagnostic
OK - changelog
Comment 9 Stefan Gohmann univentionstaff 2018-03-14 14:38:56 CET
UCS 4.3 has been released:
 https://docs.software-univention.de/release-notes-4.3-0-en.html
 https://docs.software-univention.de/release-notes-4.3-0-de.html

If this error occurs again, please use "Clone This Bug".
Comment 10 Jürn Brodersen univentionstaff 2018-03-22 09:50:23 CET
*** Bug 45585 has been marked as a duplicate of this bug. ***