Bug 45797 - appcenter/query: IOError: [Errno 2] No such file or directory
appcenter/query: IOError: [Errno 2] No such file or directory
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Third party
UCS 4.2
Other Linux
: P5 normal (vote)
: ---
Assigned To: Valentin Heidelberger
UCS maintainers
:
Depends on:
Blocks: 49575
  Show dependency treegraph
 
Reported: 2017-11-29 13:52 CET by Johannes Keiser
Modified: 2019-05-29 14:06 CEST (History)
2 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 5: Major Usability: Impairs usability in key scenarios
Who will be affected by this bug?: 4: Will affect most installed domains
How will those affected feel about the bug?: 3: A User would likely not purchase the product
User Pain: 0.343
Enterprise Customer affected?: Yes
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number: 2018012321000892, 2018011621000422, 2017121621000191, 2017122121000297, 2018011421000301, 2018011521000228, 2017123021000207, 2018010221000181, 2018011021000166, 2018011221000681, 2018010421000392, 2017112721000626, 2017112821000375, 2017112721000377
Bug group (optional): Error handling
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes Keiser univentionstaff 2017-11-29 13:52:09 CET
Version: 4.2-2 errata231 (Lesum)

Execution of command 'appcenter/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/appcenter/__init__.py", line 190, in query
    self.update_applications()
  File "%PY2.7%/univention/management/console/modules/appcenter/__init__.py", line 218, in update_applications
    update.call()
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 220, in call
    return obj.call_with_namespace(namespace)
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 226, in call_with_namespace
    result = self.main(namespace)
  File "%PY2.7%/univention/appcenter/actions/update.py", line 83, in main
    if self._download_supra_files(appcenter_cache):
  File "%PY2.7%/univention/appcenter/actions/update.py", line 151, in _download_supra_files
    return self._download_files(appcenter_cache, ['categories.ini', 'rating.ini', 'license_types.ini', 'ucs.ini'])
  File "%PY2.7%/univention/appcenter/actions/update.py", line 164, in _download_files
    new_etag = self._download_file(server, filename, cache_dir, etag, ucs_version)
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 58, in _func
    return func(*args, **kwargs)
  File "%PY2.7%/univention/appcenter/actions/update.py", line 219, in _download_file
    response = urlopen(request)
  File "%PY2.7%/univention/appcenter/utils.py", line 317, in urlopen
    return urllib2.urlopen(request, timeout=60)
  File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 431, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 449, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "%PY2.7%/univention/appcenter/utils.py", line 304, in https_open
    return self.do_open(HTTPSConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1194, in do_open
    h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "/usr/lib/python2.7/httplib.py", line 1039, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1073, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 1035, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 879, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 841, in send
    self.connect()
  File "%PY2.7%/univention/appcenter/utils.py", line 298, in connect
    ca_certs="/etc/ssl/certs/ca-certificates.crt")
  File "/usr/lib/python2.7/ssl.py", line 891, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python2.7/ssl.py", line 507, in __init__
    self._context.load_verify_locations(ca_certs)
IOError: [Errno 2] No such file or directory
Comment 1 Johannes Keiser univentionstaff 2017-11-29 13:56:45 CET
Version: 4.2-2 errata231 (Lesum)

Execution of command 'appcenter/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/appcenter/__init__.py", line 190, in query
    self.update_applications()
  File "%PY2.7%/univention/management/console/modules/appcenter/__init__.py", line 218, in update_applications
    update.call()
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 220, in call
    return obj.call_with_namespace(namespace)
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 226, in call_with_namespace
    result = self.main(namespace)
  File "%PY2.7%/univention/appcenter/actions/update.py", line 92, in main
    if self._download_apps(app_cache):
  File "%PY2.7%/univention/appcenter/actions/update.py", line 185, in _download_apps
    if self._download_files(app_cache, filenames):
  File "%PY2.7%/univention/appcenter/actions/update.py", line 164, in _download_files
    new_etag = self._download_file(server, filename, cache_dir, etag, ucs_version)
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 58, in _func
    return func(*args, **kwargs)
  File "%PY2.7%/univention/appcenter/actions/update.py", line 219, in _download_file
    response = urlopen(request)
  File "%PY2.7%/univention/appcenter/utils.py", line 317, in urlopen
    return urllib2.urlopen(request, timeout=60)
  File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 431, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 449, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "%PY2.7%/univention/appcenter/utils.py", line 304, in https_open
    return self.do_open(HTTPSConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1194, in do_open
    h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "/usr/lib/python2.7/httplib.py", line 1039, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1073, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 1035, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 879, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 841, in send
    self.connect()
  File "%PY2.7%/univention/appcenter/utils.py", line 298, in connect
    ca_certs="/etc/ssl/certs/ca-certificates.crt")
  File "/usr/lib/python2.7/ssl.py", line 891, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python2.7/ssl.py", line 507, in __init__
    self._context.load_verify_locations(ca_certs)
IOError: [Errno 2] No such file or directory
Comment 2 Johannes Keiser univentionstaff 2017-11-29 13:58:17 CET
Reported again: Version: 4.2-2 errata231 (Lesum)
Comment 3 Johannes Keiser univentionstaff 2018-01-12 16:38:15 CET
Reported again: Version: 4.2-2 errata249 (Lesum)
Comment 4 Johannes Keiser univentionstaff 2018-01-12 17:36:03 CET
Reported again: Version: 4.2-3 errata52 (Lesum)
Comment 5 Johannes Keiser univentionstaff 2018-01-12 17:42:49 CET
Reported again: Version: 4.2-3 errata259 (Lesum)
Comment 6 Johannes Keiser univentionstaff 2018-01-12 18:38:10 CET
Reported again: Version: 4.2-3 errata256 (Lesum)
Comment 7 Johannes Keiser univentionstaff 2018-01-12 18:44:38 CET
Reported again:  Version: 4.2-3 errata256 (Lesum)
Comment 8 Johannes Keiser univentionstaff 2018-01-15 16:08:04 CET
Reported again: Version: 4.2-3 errata262 (Lesum)
Comment 9 Johannes Keiser univentionstaff 2018-01-15 16:11:08 CET
Reported again: Version: 4.2-3 errata262 (Lesum)

Remark: was ist da los? UCS in virtualbox mit netzwerkbrücke?
Comment 10 Johannes Keiser univentionstaff 2018-01-15 16:58:15 CET
Reported again: Version: 4.2-3 errata254 (Lesum)
Comment 11 Johannes Keiser univentionstaff 2018-01-15 17:43:57 CET
Reported again:  Version: 4.2-2 errata249 (Lesum)
Comment 12 Dirk Wiesenthal univentionstaff 2018-01-18 13:55:04 CET
Seems to be an issue in Let's encrypt. Please have a look.
Comment 13 Johannes Keiser univentionstaff 2018-01-19 16:34:44 CET
Reported again: Version: 4.2-3 errata262 (Lesum)

Remark: Please Help
Comment 14 Johannes Keiser univentionstaff 2018-02-15 17:12:19 CET
Reported again: 4.2-3 errata262 (Lesum)
Comment 15 Johannes Keiser univentionstaff 2018-02-15 18:11:53 CET
Reported again: Version: 4.2-3 errata284 (Lesum)
Ticket#2018020121000912
Comment 16 Valentin Heidelberger univentionstaff 2018-02-16 10:19:23 CET
So far, we haven't found a way to reproduce this error reliably.
The newest update for the Let's Encrypt App should fix this, though.

QA was successful and I've submitted it for release today.
Comment 17 Johannes Keiser univentionstaff 2018-02-16 12:23:30 CET
Reported again: Version: 4.2-3 errata265 (Lesum)
Ticket#2018012621000691
Comment 18 Johannes Keiser univentionstaff 2018-02-16 13:24:55 CET
Reported again: Version: 4.2-3 errata305 (Lesum)
Ticket#2018021621000288
Comment 19 Dirk Wiesenthal univentionstaff 2018-03-15 08:36:38 CET
No occurrence since the last App update for UCS 4.2.

Now reported in 4.3, though:

Version: 4.3-0 errata0 (Neustadt)

Remark: Frische 2.3 Installation. Nur Lets Encrypt drauf, nichts geht mehr.

Traceback(f7eeaeff1311349131bfbff0b17f0804): 
Interner Server-Fehler in "appcenter/query".
Request: appcenter/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/appcenter/__init__.py", line 200, in query
    self.update_applications()
  File "%PY2.7%/univention/management/console/modules/appcenter/__init__.py", line 228, in update_applications
    update.call()
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 220, in call
    return obj.call_with_namespace(namespace)
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 226, in call_with_namespace
    result = self.main(namespace)
  File "%PY2.7%/univention/appcenter/actions/update.py", line 92, in main
    if self._download_apps(app_cache):
  File "%PY2.7%/univention/appcenter/actions/update.py", line 185, in _download_apps
    if self._download_files(app_cache, filenames):
  File "%PY2.7%/univention/appcenter/actions/update.py", line 164, in _download_files
    new_etag = self._download_file(server, filename, cache_dir, etag, ucs_version)
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 58, in _func
    return func(*args, **kwargs)
  File "%PY2.7%/univention/appcenter/actions/update.py", line 219, in _download_file
    response = urlopen(request)
  File "%PY2.7%/univention/appcenter/utils.py", line 317, in urlopen
    return urllib2.urlopen(request, timeout=60)
  File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 429, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 447, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 407, in _call_chain
    result = func(*args)
  File "%PY2.7%/univention/appcenter/utils.py", line 304, in https_open
    return self.do_open(HTTPSConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1195, in do_open
    h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "/usr/lib/python2.7/httplib.py", line 1042, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1082, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 1038, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 882, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 844, in send
    self.connect()
  File "%PY2.7%/univention/appcenter/utils.py", line 298, in connect
    ca_certs="/etc/ssl/certs/ca-certificates.crt")
  File "/usr/lib/python2.7/ssl.py", line 943, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python2.7/ssl.py", line 552, in __init__
    self._context.load_verify_locations(ca_certs)
IOError: [Errno 2] Datei oder Verzeichnis nicht gefunden

Role: domaincontroller_master
Comment 20 Johannes Keiser univentionstaff 2018-03-15 14:31:00 CET
Reported again: Version: 4.2-3 errata305 (Lesum)
Ticket#2018021921000648
Comment 21 Johannes Keiser univentionstaff 2018-03-29 18:48:38 CEST
Reported again: Version: 4.3-0 errata9 (Neustadt)
Ticket#2018032821002725
Comment 22 Johannes Keiser univentionstaff 2018-03-29 18:50:12 CEST
Reported again: Version: 4.3-0 errata9 (Neustadt)
Ticket#2018032821002725
Comment 23 Johannes Keiser univentionstaff 2018-03-29 19:42:26 CEST
Reported again:  Version: 4.3-0 errata0 (Neustadt)

Remark: AUfgetreten beim Versuch ein Let's Encrpyt-Zertifikat für 3 domains zu erstellen.
Ticket#2018032121000016
Comment 24 Johannes Keiser univentionstaff 2018-04-13 13:07:25 CEST
Reported again: Version: 4.3-0 errata9 (Neustadt)
Ticket#2018040121000776
Comment 25 Johannes Keiser univentionstaff 2018-04-27 17:47:05 CEST
Reported again: Version: 4.3-0 errata0 (Neustadt)
Ticket#2018031821000504
Comment 26 Johannes Keiser univentionstaff 2018-04-27 17:57:19 CEST
Version: 4.2-3 errata313 (Lesum)
Ticket#2018042021000534

Version: 4.2-3 errata323 (Lesum)
Ticket#2018041921000108

Version: 4.2-3 errata342 (Lesum)
Ticket#2018042421001035

Version: 4.3-0 errata9 (Neustadt)
Ticket#2018033021000562
Remark: Ich wollte LetsEncrypt installieren. Der Fehler trat auf, nachdem ich den Domainnamen eingegeben habe. Ich habe ihn so eingegeben:  
sub.example.com http://www.sub.example.com

Version: 4.3-0 errata11 (Neustadt)
Ticket#2018041121001014
Remark: I entered my intranet domain, and this error occurred.
Comment 27 Johannes Keiser univentionstaff 2018-04-27 18:31:38 CEST
Version: 4.2-3 errata323 (Lesum)
Ticket#2018041321001083

Version: 4.2-3 errata342 (Lesum)
Ticket#2018042021000571
Ticket#2018042621000774

Version: 4.3-0 errata9 (Neustadt)
Ticket#2018040221000676

Version: 4.3-0 errata12 (Neustadt)
Ticket#2018041821000575
Comment 28 Johannes Keiser univentionstaff 2018-05-04 18:24:05 CEST
Reported again: Version: 4.3-0 errata28 (Neustadt)
Ticket#2018050421000107
Comment 29 Valentin Heidelberger univentionstaff 2018-05-07 16:24:16 CEST
This is fixed in the latest update of the Let's Encrypt app. The update is currently in QA.
Comment 30 Valentin Heidelberger univentionstaff 2018-05-07 16:24:43 CEST
Will update again, when the update is released
Comment 31 Johannes Keiser univentionstaff 2018-05-25 18:04:15 CEST
Reported again: Version: 4.2-4 errata418 (Lesum)
Ticket#2018052421000114

Internal server error during "appcenter/query".
Request: appcenter/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/appcenter/__init__.py", line 190, in query
    self.update_applications()
  File "%PY2.7%/univention/management/console/modules/appcenter/__init__.py", line 218, in update_applications
    update.call()
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 220, in call
    return obj.call_with_namespace(namespace)
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 226, in call_with_namespace
    result = self.main(namespace)
  File "%PY2.7%/univention/appcenter/actions/update.py", line 83, in main
    if self._download_supra_files(appcenter_cache):
  File "%PY2.7%/univention/appcenter/actions/update.py", line 151, in _download_supra_files
    return self._download_files(appcenter_cache, ['categories.ini', 'rating.ini', 'license_types.ini', 'ucs.ini'])
  File "%PY2.7%/univention/appcenter/actions/update.py", line 164, in _download_files
    new_etag = self._download_file(server, filename, cache_dir, etag, ucs_version)
  File "%PY2.7%/univention/appcenter/actions/__init__.py", line 58, in _func
    return func(*args, **kwargs)
  File "%PY2.7%/univention/appcenter/actions/update.py", line 219, in _download_file
    response = urlopen(request)
  File "%PY2.7%/univention/appcenter/utils.py", line 317, in urlopen
    return urllib2.urlopen(request, timeout=60)
  File "/usr/lib/python2.7/urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 431, in open
    response = self._open(req, data)
  File "/usr/lib/python2.7/urllib2.py", line 449, in _open
    '_open', req)
  File "/usr/lib/python2.7/urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "%PY2.7%/univention/appcenter/utils.py", line 304, in https_open
    return self.do_open(HTTPSConnection, req)
  File "/usr/lib/python2.7/urllib2.py", line 1194, in do_open
    h.request(req.get_method(), req.get_selector(), req.data, headers)
  File "/usr/lib/python2.7/httplib.py", line 1039, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1073, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 1035, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 879, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 841, in send
    self.connect()
  File "%PY2.7%/univention/appcenter/utils.py", line 298, in connect
    ca_certs="/etc/ssl/certs/ca-certificates.crt")
  File "/usr/lib/python2.7/ssl.py", line 891, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python2.7/ssl.py", line 507, in __init__
    self._context.load_verify_locations(ca_certs)
IOError: [Errno 2] No such file or directory
Comment 32 Valentin Heidelberger univentionstaff 2018-06-01 09:20:25 CEST
The updates including the fix have been released today:

Let's encrypt 1.1.2-6 -> 1.1.2-8
Let's encrypt 1.2.0 -> 1.2.2-3
Comment 33 Stefan Gohmann univentionstaff 2018-06-04 09:11:21 CEST
(In reply to Valentin Heidelberger from comment #32)
> The updates including the fix have been released today:
> 
> Let's encrypt 1.1.2-6 -> 1.1.2-8
> Let's encrypt 1.2.0 -> 1.2.2-3

OK, thanks. I'll close this issue.
Comment 34 Johannes Keiser univentionstaff 2018-08-01 13:39:05 CEST
External feedback: UCS Version: 4.2-3 errata305 (Lesum)
Same as Comment #31
2018022621000652
Comment 35 Valentin Heidelberger univentionstaff 2018-08-01 14:08:54 CEST
Is the app up to date?
See Comment #32

(In reply to Johannes Keiser from comment #34)
> External feedback: UCS Version: 4.2-3 errata305 (Lesum)
> Same as Comment #31
> 2018022621000652
Comment 36 Johannes Keiser univentionstaff 2018-08-01 14:37:48 CEST
(In reply to Valentin Heidelberger from comment #35)
> Is the app up to date?
> See Comment #32
> 
> (In reply to Johannes Keiser from comment #34)
> > External feedback: UCS Version: 4.2-3 errata305 (Lesum)
> > Same as Comment #31
> > 2018022621000652

The ticket is older than Comment #32 so it should be before the fix.