Bug 40674 - univention-app upgrade fails in some cases
univention-app upgrade fails in some cases
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: App Center
UCS 4.1
Other Linux
: P5 normal (vote)
: UCS 4.1-1-errata
Assigned To: Dirk Wiesenthal
Florian Best
:
Depends on:
Blocks: 40675
  Show dependency treegraph
 
Reported: 2016-02-16 17:14 CET by Dirk Wiesenthal
Modified: 2016-02-24 13:06 CET (History)
1 user (show)

See Also:
What kind of report is it?: ---
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:
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 Dirk Wiesenthal univentionstaff 2016-02-16 17:14:22 CET
def _install_packages(self, packages, percentage_end, update=True)

does not return a proper Process object when upgrading an App. This leads to errors. Can happen when univention-upgrade is called.
Comment 1 Dirk Wiesenthal univentionstaff 2016-02-17 11:59:23 CET
Fixed in
  univention-appcenter 5.0.20-2.113.201602161759

Reproduce:
  univention-app install openvpn4ucs=1.1.4
  univention-app upgrade openvpn4ucs
Comment 2 Florian Best univentionstaff 2016-02-17 12:19:30 CET
Got this traceback when reproducing:

Traceback (most recent call last):
  File "/usr/bin/univention-app", line 86, in <module>
    main()
  File "/usr/bin/univention-app", line 76, in main
    ret = args.func(args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/__init__.py", line 182, in call_with_namespace
    result = self.main(namespace)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/upgrade.py", line 68, in main
    return self.do_it(args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install_base.py", line 107, in do_it
    self._do_it(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/docker_upgrade.py", line 84, in _do_it
    return super(Upgrade, self)._do_it(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install.py", line 73, in _do_it
    if self._install_app(app, args):
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/docker_install.py", line 53, in _install_app
    return super(Install, self)._install_app(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install.py", line 138, in _install_app
    self._install_master_packages(app, 30)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install.py", line 89, in _install_master_packages
    ucr_save(self._register_component_dict(self, old_app, server))
TypeError: _register_component_dict() takes exactly 3 arguments (4 given)
Comment 3 Florian Best univentionstaff 2016-02-17 12:32:04 CET
REOPEN: The code still looks broken.
What should have happen when I reproduce this in your way mentioned above?
Comment 4 Dirk Wiesenthal univentionstaff 2016-02-17 14:19:54 CET
Please use:

univention-app install kix4otrs6=6.1.11-0
univention-app upgrade kix4otrs6

The traceback you mention is another Bug: Bug#40713
Comment 5 Florian Best univentionstaff 2016-02-18 15:22:18 CET
Traceback (most recent call last):
  File "/usr/bin/univention-app", line 86, in <module>
    main()
  File "/usr/bin/univention-app", line 76, in main
    ret = args.func(args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/__init__.py", line 182, in call_with_namespace
    result = self.main(namespace)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/upgrade.py", line 68, in main
    args.app = app
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install_base.py", line 107, in do_it
    self._do_it(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/docker_upgrade.py", line 84, in _do_it
    return super(Upgrade, self)._do_it(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install.py", line 73, in _do_it
    if self._install_app(app, args):
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/docker_install.py", line 53, in _install_app
    return super(Install, self)._install_app(app, args)
  File "/usr/lib/pymodules/python2.7/univention/appcenter/actions/install.py", line 145, in _install_app
    install_master = True
AttributeError: 'NoneType' object has no attribute 'returncode'
Comment 6 Florian Best univentionstaff 2016-02-18 16:49:46 CET
OK: reproduced (comment #5)
OK: fixed
OK: YAML
Comment 7 Janek Walkenhorst univentionstaff 2016-02-24 13:06:50 CET
<http://errata.software-univention.de/ucs/4.1/118.html>