Bug 33548 - App Center needs to use the target version during release upgrade
App Center needs to use the target version during release upgrade
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - App-Center
UCS 3.1
Other Linux
: P5 enhancement (vote)
: UCS 3.2-0-errata
Assigned To: Dirk Wiesenthal
Florian Best
:
Depends on:
Blocks: 33535 33549
  Show dependency treegraph
 
Reported: 2013-11-22 20:23 CET by Stefan Gohmann
Modified: 2014-02-12 10:27 CET (History)
3 users (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:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
Parse updater.status file to get next_version. (1.56 KB, patch)
2014-02-04 19:16 CET, Philipp Hahn
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2013-11-22 20:23:50 CET
See Bug #33535, the UMC App Center module needs the new UCS version during the upgrade process.
Comment 1 Dirk Wiesenthal univentionstaff 2013-11-22 22:22:52 CET
The App Center already uses the variable (knowing that it is unset at the moment). There it is called "version/version/target". If the variable is named differently, it has to be adapted in the App Center, too.
Comment 2 Philipp Hahn univentionstaff 2014-02-04 19:16:48 CET
Created attachment 5774 [details]
Parse updater.status file to get next_version.

The information is already available since Bug #14346 for local programs through /var/lib/univention-updater/univention-updater.status and also for the UMC via the UMCP-Command updater/installer/status:
# ucr set version/version=3.1
# univention-upgrade
^Z
# umc-command -r -U Administrator -P univention -o job=release updater/installer/status
...
  RESULT   : {
   '_current_version_': '3.1-0',
   '_next_version_': '3.1-1',
   '_status_': 'RUNNING',
...
   'statusfile': '/var/lib/univention-updater/univention-updater.status'}

If I remember correctly there were some very tricky problem with using UCR during updates (Bug #23202): With the update from UCS-2.4 with Python2-4 to UCS-3.0 with Python-2.6 we had the situation, where the still running Updater was still using the old UCR-implementation, which was already partly removed and replaced with the 3.0 version.
Therefore I don't very much like to add setting UCR variables during the update.

See attached patch for an alternative to parse the updater status file.
Comment 3 Philipp Hahn univentionstaff 2014-02-05 09:45:51 CET
Move bug back to App-Center: parsing the file is okay, but needs additional caching.
Comment 4 Dirk Wiesenthal univentionstaff 2014-02-05 12:50:04 CET
Fixed in
  univention-management-console-module-appcenter 3.0.50-20.232.201402051242

UCS Version is read from /var/lib/univention-updater/univention-updater.status. The value is cached but uncached when all applications should be re-read (done when opening the App Center).

The version should not change so this is probably too much uncaching. Scripts like postinst and joinscripts would get the correct version anyway.

But it _may_ be that someone uses the Software Updater to run a release update and open the App Center at the same time. Not very common but just in case, this could lead to extensive network load if not false results.
Comment 5 Florian Best univentionstaff 2014-02-10 16:02:48 CET
OK, the next version is correctly detected and packages are downloaded from that /meta-inf.
Comment 6 Moritz Muehlenhoff univentionstaff 2014-02-12 10:27:27 CET
http://errata.univention.de/ucs/3.2/60.html