Bug 44763

Summary: No such file or directory: u'/var/lib/univention-appcenter/apps/nextcloud/data'
Product: UCS Reporter: Florian Best <best>
Component: App CenterAssignee: Dirk Wiesenthal <wiesenthal>
Status: CLOSED FIXED QA Contact: Felix Botner <botner>
Severity: normal    
Priority: P5 CC: wiesenthal
Version: UCS 4.2   
Target Milestone: UCS 4.2-1-errata   
Hardware: Other   
OS: Linux   
See Also: https://forge.univention.org/bugzilla/show_bug.cgi?id=45077
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?: 2: Will only affect a few installed domains How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.114 Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: 2017060721000871, 2017060821000403 Bug group (optional): External feedback
Max CVSS v3 score:
Bug Depends on:    
Bug Blocks: 46027    

Description Florian Best univentionstaff 2017-06-12 14:20:18 CEST
Version: 4.2-0 errata29 (Lesum)

Execution of command 'appcenter/docker/progress' 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/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 375, 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 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/remove.py", line 49, in main
    return self.do_it(args)
  File "%PY2.7%/univention/appcenter/actions/install_base.py", line 110, in do_it
    self._do_it(app, args)
  File "%PY2.7%/univention/appcenter/actions/docker_remove.py", line 52, in _do_it
    super(Remove, self)._do_it(app, args)
  File "%PY2.7%/univention/appcenter/actions/remove.py", line 55, in _do_it
    self._remove_app(app, args)
  File "%PY2.7%/univention/appcenter/actions/docker_remove.py", line 68, in _remove_app
    self._remove_docker_container(app, args)
  File "%PY2.7%/univention/appcenter/actions/docker_remove.py", line 72, in _remove_docker_container
    if self._backup_container(app, backup_data='move') is False:
  File "%PY2.7%/univention/appcenter/actions/docker_base.py", line 87, in _backup_container
    shutil.move(app.get_data_dir(), os.path.join(BACKUP_DIR, image_name, 'data'))
  File "/usr/lib/python2.7/shutil.py", line 302, in move
    copy2(src, real_dst)
  File "/usr/lib/python2.7/shutil.py", line 130, in copy2
    copyfile(src, dst)
  File "/usr/lib/python2.7/shutil.py", line 82, in copyfile
    with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: u'/var/lib/univention-appcenter/apps/nextcloud/data'
Comment 1 Florian Best univentionstaff 2017-06-12 14:21:26 CEST
Version: 4.2-0 errata29 (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 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/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 375, 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 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/remove.py", line 49, in main
    return self.do_it(args)
  File "%PY2.7%/univention/appcenter/actions/install_base.py", line 110, in do_it
    self._do_it(app, args)
  File "%PY2.7%/univention/appcenter/actions/docker_remove.py", line 52, in _do_it
    super(Remove, self)._do_it(app, args)
  File "%PY2.7%/univention/appcenter/actions/remove.py", line 55, in _do_it
    self._remove_app(app, args)
  File "%PY2.7%/univention/appcenter/actions/docker_remove.py", line 68, in _remove_app
    self._remove_docker_container(app, args)
  File "%PY2.7%/univention/appcenter/actions/docker_remove.py", line 72, in _remove_docker_container
    if self._backup_container(app, backup_data='move') is False:
  File "%PY2.7%/univention/appcenter/actions/docker_base.py", line 87, in _backup_container
    shutil.move(app.get_data_dir(), os.path.join(BACKUP_DIR, image_name, 'data'))
  File "/usr/lib/python2.7/shutil.py", line 300, in move
    rmtree(src)
  File "/usr/lib/python2.7/shutil.py", line 256, in rmtree
    onerror(os.rmdir, path, sys.exc_info())
  File "/usr/lib/python2.7/shutil.py", line 254, in rmtree
    os.rmdir(path)
OSError: [Errno 16] Das Gerät oder die Ressource ist belegt: '/var/lib/univention-appcenter/apps/nextcloud/data'
Comment 2 Dirk Wiesenthal univentionstaff 2017-07-03 11:27:24 CEST
In the backup routine, stop() is called _after_ backing up the data. We should stop before backing up.
Comment 3 Dirk Wiesenthal univentionstaff 2017-07-21 14:19:08 CEST
Fixed in
  univention-appcenter 6.0.8-14A~4.2.0.201707211415
Comment 4 Felix Botner univentionstaff 2017-08-07 11:05:19 CEST
OK - stop before copy/move
OK - YAML
Comment 5 Arvid Requate univentionstaff 2017-08-09 16:57:21 CEST
<http://errata.software-univention.de/ucs/4.2/127.html>
Comment 6 Dirk Wiesenthal univentionstaff 2017-08-15 11:46:47 CEST
*** Bug 44440 has been marked as a duplicate of this bug. ***