Univention Bugzilla – Bug 45529
appcenter/docker/invoke: IOError: [Errno 28] No space left on device
Last modified: 2021-12-08 12:58:35 CET
Version: 4.2-1 errata197 (Lesum) Execution of command 'appcenter/docker/invoke' 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/appcenter/__init__.py", line 128, in _deferred self.update_applications() File "%PY2.7%/univention/management/console/modules/appcenter/__init__.py", line 217, in update_applications update.call() File "%PY2.7%/univention/appcenter/actions/__init__.py", line 239, in call return obj.call_with_namespace(namespace) File "%PY2.7%/univention/appcenter/actions/__init__.py", line 245, in call_with_namespace result = self.main(namespace) File "%PY2.7%/univention/appcenter/actions/update.py", line 82, in main if self._download_supra_files(appcenter_cache): File "%PY2.7%/univention/appcenter/actions/update.py", line 150, 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 167, in _download_files self._save_etags(cache, present_etags) File "%PY2.7%/univention/appcenter/actions/update.py", line 147, in _save_etags f.write('%s\t%s\n' % (fname, etag)) IOError: [Errno 28] No space left on device
Unclear how to solve this. We cannot put try/except around everything and wait for IOError #28. This may happen when saving cache files, creating password files, writing log files, etc. The user could get a better error message. But we cannot solve it automatically. Also, after the App Center handled this one gracefully, other modules should fail, too. Maybe this one could be handled in UMC's response handling directly instead of every function of the App Center (and possibly every other module)? Although... handling in UMC means that CLI tools will fail with tracebacks...
*** Bug 45533 has been marked as a duplicate of this bug. ***
Reported again: Version: 4.2-2 errata262 (Lesum) Die Ausführung des Kommandos appcenter/docker/progress ist fehlgeschlagen: 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/mixins.py", line 149, in progress ret = progress_obj.poll() File "%PY2.7%/univention/management/console/modules/decorators.py", line 309, in _thread 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 418, in invoke_docker result['success'] = action.call(app=app, username=self.username, password=self.password, **kwargs) 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/upgrade.py", line 75, in main return self.do_it(args) File "%PY2.7%/univention/appcenter/actions/install_base.py", line 137, in do_it self._register_installed_apps_in_ucr() File "%PY2.7%/univention/appcenter/actions/register.py", line 550, in _register_installed_apps_in_ucr 'repository/app_center/installed': '-'.join(installed_codes), # to be deprecated File "%PY2.7%/univention/appcenter/ucr.py", line 58, in ucr_save ucr_update(_UCR, changed_values) File "%PY2.7%/univention/config_registry/frontend.py", line 190, in ucr_update changed = ucr.update(changes) File "%PY2.7%/univention/config_registry/backend.py", line 140, in __exit__ self.save() File "%PY2.7%/univention/config_registry/backend.py", line 116, in save registry.save() File "%PY2.7%/univention/config_registry/backend.py", line 395, in save self.__save_file(filename) File "%PY2.7%/univention/config_registry/backend.py", line 363, in __save_file reg_file.write(self.__str__()) IOError: [Errno 28] Auf dem Gerät ist kein Speicherplatz mehr verfügbar
Reported again: Version: 4.3-2 errata313 (Neustadt) Remark: kein speicherplatz Interner Server-Fehler in "appcenter/docker/progress". Request: appcenter/docker/progress 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/mixins.py", line 149, in progress ret = progress_obj.poll() File "%PY2.7%/univention/management/console/modules/decorators.py", line 309, in _thread 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 431, in invoke_docker result['success'] = action.call(app=app, username=self.username, password=self.password, **kwargs) 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/remove.py", line 53, in main return self.do_it(args) File "%PY2.7%/univention/appcenter/actions/install_base.py", line 154, in do_it self._register_installed_apps_in_ucr() File "%PY2.7%/univention/appcenter/actions/register.py", line 640, in _register_installed_apps_in_ucr 'repository/app_center/installed': '-'.join(installed_codes), # to be deprecated File "%PY2.7%/univention/appcenter/ucr.py", line 58, in ucr_save ucr_update(_UCR, changed_values) File "%PY2.7%/univention/config_registry/frontend.py", line 191, in ucr_update _run_changed(ucr, changed) File "%PY2.7%/univention/config_registry/frontend.py", line 203, in _run_changed handlers.load() File "%PY2.7%/univention/config_registry/handler.py", line 545, in load self.update() File "%PY2.7%/univention/config_registry/handler.py", line 717, in update self._save_cache() File "%PY2.7%/univention/config_registry/handler.py", line 761, in _save_cache pickler.dump(self._handlers) IOError: [Errno 28] Auf dem Gerät ist kein Speicherplatz mehr verfügbar Role: domaincontroller_master
Reported again: Version: 4.3-3 errata428 (Neustadt) Internal server error during "appcenter/docker/invoke". Request: appcenter/docker/invoke 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/appcenter/__init__.py", line 125, in _deferred self.update_applications() File "%PY2.7%/univention/management/console/modules/appcenter/__init__.py", line 233, 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 75, in main if self._download_supra_files(appcenter_cache): File "%PY2.7%/univention/appcenter/actions/update.py", line 143, 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 160, in _download_files self._save_etags(cache, present_etags) File "%PY2.7%/univention/appcenter/actions/update.py", line 140, in _save_etags f.write('%s\t%s\n' % (fname, etag)) IOError: [Errno 28] No space left on device Role: domaincontroller_master
Version: 5.0-0 errata164 Error: Interner Server-Fehler in "appcenter/run". Request: appcenter/run Traceback (most recent call last): File "%PY3%/univention/management/console/base.py", line 344, in __error_handling six.reraise(etype, exc, etraceback) File "%PY3%/six.py", line 693, in reraise raise value File "%PY3%/univention/management/console/base.py", line 247, in execute function.__func__(self, request, *args, **kwargs) File "%PY3%/univention/management/console/modules/appcenter/__init__.py", line 127, in _deferred self.update_applications() File "%PY3%/univention/management/console/modules/appcenter/__init__.py", line 399, in update_applications update.call() File "%PY3%/univention/appcenter/actions/__init__.py", line 175, in call return obj.call_with_namespace(namespace) File "%PY3%/univention/appcenter/actions/__init__.py", line 181, in call_with_namespace result = self.main(namespace) File "%PY3%/univention/appcenter/actions/update.py", line 86, in main if self._download_apps(app_cache): File "%PY3%/univention/appcenter/actions/update.py", line 193, in _download_apps self._download_files(app_cache, ['all.tar.gz']) File "%PY3%/univention/appcenter/actions/update.py", line 158, in _download_files new_etag = self._download_file(server, filename, cache_dir, etag, ucs_version) File "%PY3%/univention/appcenter/actions/__init__.py", line 60, in _func return func(*args, **kwargs) File "%PY3%/univention/appcenter/actions/update.py", line 231, in _download_file f.write(content) OSError: [Errno 28] Auf dem Gerät ist kein Speicherplatz mehr verfügbar Role: domaincontroller_master