Bug 24347 - Errata Updates für Components
Errata Updates für Components
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Update - univention-updater
UCS 3.0
Other Linux
: P5 enhancement (vote)
: UCS 3.0-1
Assigned To: Stefan Gohmann
Philipp Hahn
:
Depends on:
Blocks: 26071
  Show dependency treegraph
 
Reported: 2011-11-02 21:39 CET by Stefan Gohmann
Modified: 2012-03-04 14:34 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:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments
ucs-test Bug #24347 (2.31 KB, text/plain)
2012-02-24 14:48 CET, Philipp Hahn
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-11-02 21:39:14 CET
Wir müssen Errata Updates für Components erlauben. Vermutlich ist das sinnvollste auch für Components die Errata Updates einzeln zu veröffentlichen, also:
 3.0/maintained/components/dvs/
 3.0/maintained/components/dvs-errata1/
 3.0/maintained/components/dvs-errata2/
Comment 1 Stefan Gohmann univentionstaff 2012-02-10 10:58:09 CET
Eine erste Version ist im svn. Es fehlen noch:

- ausführliche Tests
- Abbildung in UMC
Comment 2 Stefan Gohmann univentionstaff 2012-02-20 10:27:10 CET
Das ist soweit umgesetzt. Bitte auch das Update per UMC testen.

Intern wird der erratalevel pro component/version Kombination gespeichert:

root@master741:~/univention-updater# ucr search erratalevel
repository/online/component/foobar/3.0/erratalevel: 3

repository/online/component/tcs/3.0/erratalevel: 5

version/erratalevel: 29


univention-upgrade fragt pro component, ob die verfügbaren errata-Updates eingespielt werden sollen.
Comment 3 Philipp Hahn univentionstaff 2012-02-24 14:47:41 CET
OK: Updater funktioniert soweit (ucs-test/09_updater/56component-errata)
OK: Funktioniert auch über UMC, bis auf eine kleine Unschönheit (→Bug #26245)
OK: svn12304 (s/Univention Updater/Updater/)
FAIL: 57component-errata-multi
 Der Updater gerät in eine Endlosschleife, wenn zeitgleich ein Minor- und Component-Errata-Updates für die alte Version anstehen. Der Updater aktualisiert dann zuerst auf die nächste Minor-Version, kann dann aber nicht mehr das Update für die alte Minor-Version einspielen, obwohl er dessen Vorhandensein erkennt.
Comment 4 Philipp Hahn univentionstaff 2012-02-24 14:48:56 CET
Created attachment 4219 [details]
ucs-test Bug #24347
Comment 5 Stefan Gohmann univentionstaff 2012-02-24 20:58:35 CET
(In reply to comment #3)
> OK: Updater funktioniert soweit (ucs-test/09_updater/56component-errata)
> OK: Funktioniert auch über UMC, bis auf eine kleine Unschönheit (→Bug #26245)
> OK: svn12304 (s/Univention Updater/Updater/)
> FAIL: 57component-errata-multi
>  Der Updater gerät in eine Endlosschleife, wenn zeitgleich ein Minor- und
> Component-Errata-Updates für die alte Version anstehen. Der Updater
> aktualisiert dann zuerst auf die nächste Minor-Version, kann dann aber nicht
> mehr das Update für die alte Minor-Version einspielen, obwohl er dessen
> Vorhandensein erkennt.

Das hat auch noch ein grundsätzliches Problem aufgezeigt. Die errata Updates sind an die Minorversion gebunden, das ist jetzt entsprechend umgesetzt. Es werden nur noch die errata Updates für die aktuellste Component Version eingespielt und auch in die sources.list eingebunden.
Comment 6 Philipp Hahn univentionstaff 2012-02-27 15:50:52 CET
OK: 57component-errata-multi läuft jetzt durch (svn31124)

OK: Beim Update über UMC werden _3_ ausstehende Errata-Updates angekündigt, installiert werden aber nur die _2_ für die aktuelle Major.Minor-Version. Danach werden dann _keine_ ausstehenden Updates mehr angezeigt. Nach einem Update auf die nächste Major.Minor-Version wird dann das ausstehenden _1_ Update wieder angezeigt und lässt sich so auch installieren.

FAIL: Wenn man über UMC erst das Minor-Update einspielt, und danach das 1 Komponenten-Update, bleibt das UMC-Modul weiterhin bei _3_ ausstehenden Komponenten-Errata-Updates stehen.

 /usr/share/univention-updater/univention-errata-components-update net --check
  0

 cat /var/lib/univention-updater/univention-errata-update.status
  status=DONE
  type=NET

 from univention.updater.tools import UniventionUpdater
 uu = UniventionUpdater()
 uu.get_all_available_errata_component_updates()
  [('test22799', {'3.0': [1, 2]})]
 uu.get_ucs_version()
  '3.1-0'

N: Schön wäre, wenn man den aktuellen Errata-Level der Komponente auch irgendwo sehen könnte.

OK: ChangeLog
Comment 7 Stefan Gohmann univentionstaff 2012-02-28 08:11:41 CET
(In reply to comment #6)
> FAIL: Wenn man über UMC erst das Minor-Update einspielt, und danach das 1
> Komponenten-Update, bleibt das UMC-Modul weiterhin bei _3_ ausstehenden
> Komponenten-Errata-Updates stehen.

Wurde angepasst.

Eine weitere Änderung ist, dass jetzt nur noch für die aktuellste Component die errata-Versionen gezählt werden. 

Beispiel:
Component comp1 ist nur für 3.0 verfügbar und es stehen für diese Component in 3.0 3 errata-Updates zur Verfügung, dann werden diese angezeigt. Wenn die Component jetzt für 3.1 veröffentlicht wird (ohne errata Updates), dann werden die 3.0 errata-Updates der Component nicht mehr angezeigt.
Comment 8 Philipp Hahn univentionstaff 2012-02-28 09:25:55 CET
OK: Es werden nur noch die ausstehenden Komponenten-Updates für die aktuelle Major.Minor-Version angezeigt.
OK: Aktualisierung in der Reihenfolge Minor,Component
OK: Aktualisierung in der Reihenfolge Component,Minor,Component

OK: VERIFIED
univention-updater_7.0.150-1.1020.201202280744
Comment 9 Philipp Hahn univentionstaff 2012-02-28 11:17:26 CET
FAIL: Beim Aufruf von "univention-upgrade" habe ich gerade noch folgenden Fehler bekommen:

Checking for component errata updates for tcs:         Failure to query repository: max() arg is an empty sequence
 none

/usr/share/univention-updater/univention-errata-components-update net
Traceback (most recent call last):
  File "/usr/share/univention-updater/univention-errata-components-update", line 278, in <module>
    version = max(updater._get_component_versions(component, None, None))
ValueError: max() arg is an empty sequence
Comment 10 Philipp Hahn univentionstaff 2012-02-28 11:20:58 CET
# ucr search --brief ^repository/online/comp
repository/online/component/tcs/versions: 
repository/online/component/tcs: no
Comment 11 Stefan Gohmann univentionstaff 2012-02-28 12:01:05 CET
(In reply to comment #9)
> FAIL: Beim Aufruf von "univention-upgrade" habe ich gerade noch folgenden
> Fehler bekommen:
> 
> Checking for component errata updates for tcs:         Failure to query
> repository: max() arg is an empty sequence
>  none
> 
> /usr/share/univention-updater/univention-errata-components-update net
> Traceback (most recent call last):
>   File "/usr/share/univention-updater/univention-errata-components-update",
> line 278, in <module>
>     version = max(updater._get_component_versions(component, None, None))
> ValueError: max() arg is an empty sequence

Wird jetzt abgefangen.
Comment 12 Philipp Hahn univentionstaff 2012-02-28 13:18:00 CET
OK: Der max([])-Traceback tritt nicht mehr auf.
OK: Update über UMC und CLI funktionieren weiterhin
OK: ucs-test-updater_2.0.7-4

OK: VERIFIED
univention-updater_7.0.152-1.1022.201202281205
Comment 13 Sönke Schwardt-Krummrich univentionstaff 2012-03-04 14:34:21 CET
UCS 3.0-1 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"