Univention Bugzilla – Bug 41536
handle Configuration errors during query for available updates
Last modified: 2018-10-05 19:13:34 CEST
Version: 4.1-1 errata185 (Vahr) Execution of command 'updater/updates/query' has failed: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 283, in execute function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 462, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 284, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 226, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 734, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 698, in get_next_version if not self.get_component_repositories(component, [mm_version], clean=False, debug=debug): File "%PY2.7%/univention/updater/tools.py", line 1565, in get_component_repositories for server, ver in self._iterate_component_repositories([component], version, version, archs, for_mirror_list=for_mirror_list, errata_level=errata_level, iterate_errata=iterate_errata): File "%PY2.7%/univention/updater/tools.py", line 1239, in _iterate_component_repositories for ver in self._iterate_versions(struct, version, version, parts, subarchs, server): File "%PY2.7%/univention/updater/tools.py", line 1132, in _iterate_versions code, size, content = server.access(ver) File "%PY2.7%/univention/updater/tools.py", line 493, in access raise ConfigurationError(uri, 'timeout in network connection') ConfigurationError: Configuration error: timeout in network connection
Version: 4.1-2 errata185 (Vahr) Die Ausführung des Kommandos updater/updates/query ist fehlgeschlagen: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 283, in execute function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 462, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 284, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 226, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 734, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 692, in get_next_version assert self.server.access(repo) File "%PY2.7%/univention/updater/tools.py", line 488, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: <urlopen error _ssl.c:489: The handshake operation timed out>
And another one: Version: 4.1-2 errata197 (Vahr) Execution of command 'updater/updates/query' has failed: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 283, in execute function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 462, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 284, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 226, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 734, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 692, in get_next_version assert self.server.access(repo) File "%PY2.7%/univention/updater/tools.py", line 488, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: _ssl.c:504: EOF occurred in violation of protocol
Reported again, 4.1-2 errata197 (Vahr) Execution of command 'updater/updates/query' has failed: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 283, in execute function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 462, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 284, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 226, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 734, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 692, in get_next_version assert self.server.access(repo) File "%PY2.7%/univention/updater/tools.py", line 488, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: <urlopen error _ssl.c:489: The handshake operation timed out>
Reported again, 4.1-2 errata211 (Vahr) Die Ausführung des Kommandos updater/updates/query ist fehlgeschlagen: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 283, in execute function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 462, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 284, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 226, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 734, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 692, in get_next_version assert self.server.access(repo) File "%PY2.7%/univention/updater/tools.py", line 488, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: Die Verbindung wurde vom Kommunikationspartner zur?ckgesetzt
Reported again, 4.1-2 errata239 (Vahr) Traceback(cadf11f9eb9e5d61e44cd8e1b766e3a1): Die Ausführung des Kommandos updater/updates/query ist fehlgeschlagen: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 283, in execute function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 462, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 284, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 226, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 734, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 698, in get_next_version if not self.get_component_repositories(component, [mm_version], clean=False, debug=debug): File "%PY2.7%/univention/updater/tools.py", line 1565, in get_component_repositories for server, ver in self._iterate_component_repositories([component], version, version, archs, for_mirror_list=for_mirror_list, errata_level=errata_level, iterate_errata=iterate_errata): File "%PY2.7%/univention/updater/tools.py", line 1239, in _iterate_component_repositories for ver in self._iterate_versions(struct, version, version, parts, subarchs, server): File "%PY2.7%/univention/updater/tools.py", line 1128, in _iterate_versions assert server.access(ver) # patchlevel File "%PY2.7%/univention/updater/tools.py", line 488, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: Das Netzwerk ist nicht erreichbar
Version: 4.1-4 errata408 (Vahr)
Version: 4.1-3 errata360 (Vahr) Remark: Update issue with univention...trying to install owncloud, but need to update system. Traceback(bab9d2d3f480c1efe502767744849160): Execution of command 'updater/updates/query' has failed: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 281, in execute function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 462, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 284, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 226, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 734, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 698, in get_next_version if not self.get_component_repositories(component, [mm_version], clean=False, debug=debug): File "%PY2.7%/univention/updater/tools.py", line 1565, in get_component_repositories for server, ver in self._iterate_component_repositories([component], version, version, archs, for_mirror_list=for_mirror_list, errata_level=errata_level, iterate_errata=iterate_errata): File "%PY2.7%/univention/updater/tools.py", line 1239, in _iterate_component_repositories for ver in self._iterate_versions(struct, version, version, parts, subarchs, server): File "%PY2.7%/univention/updater/tools.py", line 1132, in _iterate_versions code, size, content = server.access(ver) File "%PY2.7%/univention/updater/tools.py", line 488, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: Network is unreachable
Reported again, 4.1-4 errata408 (Vahr)
Reported again, 4.1-4 errata413 (Vahr) Remark: Hallo, diese katastrophalen Kopano-Updates treiben mich noch in den Wahnsinn. Ist das direkte Kopano-Repo installiert, funktioniert de facto kein Update des UCS oder Kopano mehr so, wie es soll. Dies ist jetzt der neueste Streich, nachdem ich Kopano auf 8.3.0 bringen wollte. Es ist völlig unklar, wie die Versionierung jetzt funktioniert, da Appcenter, App, Core usw fast nie kongruent sind.
I am a bit confused by this bug report - what should be fixed here exactly? The only similarity is that the tracebacks occur by calls to UMCP command "updater/updates/query' The title is about a "timeout in network connection", but the following errors did occur, according to the tracebacks: Configuration error: timeout in network connection Configuration error: <urlopen error _ssl.c:489: The handshake operation timed out> Configuration error: _ssl.c:504: EOF occurred in violation of protocol Configuration error: Die Verbindung wurde vom Kommunikationspartner zurückgesetzt Configuration error: Network is unreachable
(In reply to Erik Damrose from comment #11) > I am a bit confused by this bug report - what should be fixed here exactly? > The only similarity is that the tracebacks occur by calls to UMCP command > "updater/updates/query' The title is about a "timeout in network > connection", but the following errors did occur, according to the tracebacks: > > Configuration error: timeout in network connection > Configuration error: <urlopen error _ssl.c:489: The handshake operation > timed out> > Configuration error: _ssl.c:504: EOF occurred in violation of protocol > Configuration error: Die Verbindung wurde vom Kommunikationspartner > zurückgesetzt > Configuration error: Network is unreachable We should display an human readable error message if any Configuration/Network/etc error occurs which describes the situation (ssl error, connection error, error in configuration file) and what might caused this situation (e.g. proxy server is not available, ...) and what the user can do about this (check proxy / firewall settings, diagnostic-module-link, link to documentation, retry again later, ...). This bug is not about the underlying issues/problems, which we probably can't cover but only about the error handling.
Version: 4.2-2 errata164 (Lesum)
Version: 4.2-1 errata144 (Lesum)
Version: 4.1-2 errata295 (Vahr)
Version: 4.2-2 errata198 (Lesum) - UCS@school 4.2 v3 Remark: Klick auf "Aktualisierungen anzeigen"
Reported again, 4.2-1 errata118 (Lesum)
Reported again: Version: 4.2-3 errata231 (Lesum)
Reported again: Version: 4.2-3 errata254 (Lesum)
Reported again: Version: 4.1-4 errata443 (Vahr)
Reported again: Version: 4.2-3 errata315 (Lesum)
Version: 4.3-0 errata84 (Neustadt) Internal server error during "updater/updates/query". Request: updater/updates/query Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 253, in execute function.__func__(self, request, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 192, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 440, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 286, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 261, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 897, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 855, in get_next_version assert self.server.access(repo) File "%PY2.7%/univention/updater/tools.py", line 590, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: Connection reset by peer
Ticket#2018051321000251 Version: 4.3-0 errata0 (Neustadt) Internal server error during "updater/updates/query". Request: updater/updates/query Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 253, in execute function.__func__(self, request, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 192, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 440, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 286, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 261, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 735, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 693, in get_next_version assert self.server.access(repo) File "%PY2.7%/univention/updater/tools.py", line 489, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: Network is unreachable
Fixed it by catching UpdaterException during self.uu.get_all_available_release_updates() The user is presented this: 'Error contacting the update server. Please check your proxy or firewall settings, if any. Or it may be a problem with your configured DNS server. This is the error message: %s I also catch this during the initial "status" request. When trying to reproduce this, I got stuck when trying to load the "form". This error is actually absorbed by the JS code... We may have a lot more of these errors but only see those that lose their connection during "status" and "releases". But I am not sure.
univention-updater 13.0.1-50A~4.3.0.201806181507
--- mirror/ftp/4.3/unmaintained/4.3-1/source/univention-updater_13.0.1-49A~4.3.0.201806111521.dsc +++ apt/ucs_4.3-0-errata4.3-1/source/univention-updater_13.0.1-53A~4.3.0.201807031200.dsc @@ -1,6 +1,23 @@ -13.0.1-49A~4.3.0.201806111521 [Mon, 11 Jun 2018 15:21:32 +0200] Univention builddaemon <buildd@univention.de>: +13.0.1-53A~4.3.0.201807031200 [Tue, 03 Jul 2018 12:00:21 +0200] Univention builddaemon <buildd@univention.de>: * UCS auto build. No patches were applied to the original source package + +13.0.1-53 [Tue, 03 Jul 2018 11:57:27 +0200] Philipp Hahn <hahn@univention.de>: + + * Bug #36719: Remove deprecated code + +13.0.1-52 [Tue, 03 Jul 2018 11:22:20 +0200] Philipp Hahn <hahn@univention.de>: + + * Bug #36719: Remove deprecated code + +13.0.1-51 [Thu, 28 Jun 2018 13:21:20 +0200] Philipp Hahn <hahn@univention.de>: + + * Bug #36719: Remove deprecated code + +13.0.1-50 [Mon, 18 Jun 2018 14:27:58 +0200] Dirk Wiesenthal <wiesenthal@univention.de>: + + * Bug #41536: Better error message if network connection to update server + failed. 13.0.1-49 [Mon, 11 Jun 2018 15:18:43 +0200] Erik Damrose <damrose@univention.de>: <http://10.200.17.11/4.3-1/#3822295102386085637>
Reported again: Ticket#2018062121000191 Version: 4.2-2 errata262 (Lesum) Execution of command 'updater/updates/query' has failed: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 250, in execute function.__func__(self, request, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 192, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 440, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 286, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 261, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 735, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 693, in get_next_version assert self.server.access(repo) File "%PY2.7%/univention/updater/tools.py", line 489, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: <urlopen error ('_ssl.c:565: The handshake operation timed out',)> Role: domaincontroller_master
I am unable to reproduce the error for QA purposes and also after talking to Dirk we could not reliably reproduce the error to test properly. After discussion in a team meeting we decided to verify this bug after carefully analyzing the code. After all the code changes do not cause a big change in functionality other than catching an exception and wrapping it into a proper error message.
Reported again: (Ticket#2018072321000149) Version: 4.2-2 errata52 (Lesum) Remark: module wont update from 4.2.2 to 4.3.1 Execution of command 'updater/updates/query' has failed: Traceback (most recent call last): File "%PY2.7%/univention/management/console/base.py", line 249, in execute function.__func__(self, request, *args, **kwargs) File "%PY2.7%/univention/management/console/modules/decorators.py", line 318, in _response result = _multi_response(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 192, in _response return function(self, request) File "%PY2.7%/univention/management/console/modules/decorators.py", line 440, in _response return list(function(self, iterator, *nones)) File "%PY2.7%/univention/management/console/modules/decorators.py", line 286, in _fake_func yield function(self, *args) File "%PY2.7%/univention/management/console/modules/updater/__init__.py", line 257, in query_releases available_versions, blocking_components = self.uu.get_all_available_release_updates() File "%PY2.7%/univention/updater/tools.py", line 735, in get_all_available_release_updates ucs_version = self.get_next_version(UCS_Version(ucs_version), components, errorsto='exception') File "%PY2.7%/univention/updater/tools.py", line 693, in get_next_version assert self.server.access(repo) File "%PY2.7%/univention/updater/tools.py", line 489, in access raise ConfigurationError(uri, reason) ConfigurationError: Configuration error: <urlopen error ('_ssl.c:565: The handshake operation timed out',)>
<http://errata.software-univention.de/ucs/4.3/210.html>