Bug 30899 - Create empty appcenter errata repositories
Create empty appcenter errata repositories
Product: UCS
Classification: Unclassified
Component: App Center
UCS 3.1
All Linux
: P1 normal (vote)
: UCS 3.1-1-errata
Assigned To: Dirk Wiesenthal
Stefan Gohmann
Depends on:
Blocks: 30904
  Show dependency treegraph
Reported: 2013-03-26 08:20 CET by Kevin Dominik Korte
Modified: 2013-04-09 12:03 CEST (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:


Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Dominik Korte univentionstaff 2013-03-26 08:20:09 CET
There are Currently no Errata Updates for UCS@School 3.1. However the errata Archive is required to install the Update to UCS 3.1-1. Putting even an empty errata Archive is therefore necessary.
Comment 1 Dirk Wiesenthal univentionstaff 2013-03-26 11:03:41 CET
Errata repositories for components do not exist any more in UCS 3.1. This is handled by the App Center. Errata updates are currently "new versions" of an app.

We should provide an update guide if you want to upgrade your UCS@school environment to UCS 3.1 with the App Center.

As far as I can see this is more or less "just some repository settings" via UCR (resp. univention-add-app).
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2013-03-26 12:56:02 CET
The problem occurs in the following scenario:
Customer uses UCS@school with UCS 3.0-2 and starts the update to UCS 3.1-0.
The UCS@school-postup.sh (which is called automatically directly after the update to UCS 3.1-0 and before any UCS 3.1-0-errata has been installed) adds the app center repository by calling univention-add-app.

univention-add-app in UCS 3.1-0 errata 0 always adds an additional errata repository for appcenter apps. This errata repository is set to version=current.
On our app center servers these errata repos for apps do not exist which prevents any following update (e.g. to UCS 3.1-1).

The installation of the UCS 3.1-0 errata packages only fixes the UMC app center and univention-add-app. The UCR repository setting remain untouched until an update is done via the app center.

univention-add-app has been fixed in errata in february 2013. So all customers with UCS 3.1-0 that used the app center/univention-add-app in december/january/february may be affected (and those who haven't installed any errata yet).

I think the easiest solution is to create empty errata repositories on our app center repository server for every app repository.
Comment 3 Dirk Wiesenthal univentionstaff 2013-03-26 15:03:08 CET
(In reply to comment #2)
> I think the easiest solution is to create empty errata repositories on our app
> center repository server for every app repository.

Error reproduced, solution is not so easy: Even if we add the repository now, the servers are already misconfigured:

root@master90:~# cat /etc/apt/sources.list.d/20_ucs-online-component.list | grep ucsschool-errata
# Configuration error: component not found: ucsschool-errata

This means that all servers that have already run univention-add-app will have to do a ucr commit /etc/apt/sources.list.d/20_ucs-online-component.list

But that's not all: The major problem is that an empty repository is not recognized by the updater. So ucr commit will still write "component not found". The reason seems to be this check in UniventionUpdater._iterate_versions (line 1050):
  if size >= MIN_GZIP:
    yield ver

Shall I really add a dummy package? An empty Packages.gz has 29 < 100 bytes.
Comment 4 Dirk Wiesenthal univentionstaff 2013-03-27 14:17:15 CET
Added symbolic "-errata" links for each repository in the test app center. While using univention-upgrade, the new repositories are found automatically so now everything should work.

I have tested it with

apt-get install univention-updater=8.0.58-1.1130.201212090211 univention-management-console-module-updater=8.0.58-1.1130.201212090211 univention-management-console-module-appcenter=2.0.91-1.37.201212112330

and then adding the repository:
univention-add-app ucsschool

but the real QA test would be a 2.4 UCS@school environment updating stepwise to 3.1-1.
Comment 5 Dirk Wiesenthal univentionstaff 2013-03-28 15:23:14 CET
QA: Dont forget to
ucr set repository/app_center/server="appcenter.test.software-univention.de"
before updating from UCS 2.4 to UCS 3.0, otherwise the wrong repositories get installed
Comment 6 Stefan Gohmann univentionstaff 2013-04-02 06:01:52 CEST
Set importance to normal since it does not break anything.
Comment 7 Stefan Gohmann univentionstaff 2013-04-02 12:02:25 CEST
OK, my tests were successful.
Comment 8 Alexander Kläser univentionstaff 2013-04-05 17:18:26 CEST
*** Bug 30951 has been marked as a duplicate of this bug. ***
Comment 9 Dirk Wiesenthal univentionstaff 2013-04-09 12:03:41 CEST
Symbolic repositories are announced.