Bug 26784 - Restrukturierung Online Update / Paketmanagement
Restrukturierung Online Update / Paketmanagement
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - Software update
UCS 3.0
Other Linux
: P1 enhancement (vote)
: UCS 3.1
Assigned To: Dirk Wiesenthal
Alexander Kläser
: interim-1
Depends on: 26857
Blocks:
  Show dependency treegraph
 
Reported: 2012-04-13 15:41 CEST by Stefan Gohmann
Modified: 2012-12-12 21:10 CET (History)
4 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): Further conceptual development
Max CVSS v3 score:


Attachments
onValidation wird Form hinzugefügt (2.92 KB, patch)
2012-08-24 18:28 CEST, Dirk Wiesenthal
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2012-04-13 15:41:33 CEST
- Mit dem Online Update Modul sollen Updates eingespielt werden können, sonst nichts

- Das Paketverwaltungsmodul wird zu einem "Softwareverwaltungsmodul", dass dazu dient, Software zu installieren oder zu deinstallieren - entweder aus dem App Center oder in einer Art Expertenmodus durch die Paketverwaltung. 

- In dem Softwareverwaltungsmodul kann dann eingestellt werden, welche Quellen genutzt werden sollen.
Comment 1 Dirk Wiesenthal univentionstaff 2012-08-24 18:28:01 CEST
Created attachment 4618 [details]
onValidation wird Form hinzugefügt

Ich habe das jetzt soweit gemacht. Die Validierung ist umgebaut worden (siehe Bug #27716). Die Schwierigkeit besteht darin, die Fehler als Fehler ans Frontend zu schicken.

1. Offenbar werden nur status codes zwischen 200 und 300 von Cherrypy ordentlich durchgelassen. Das heißt, um dem Client zu signalisieren, dass das, was man da bekommt Fehlermeldungen sind, muss man einen Fehlercode 2xx schicken, eigentlich wäre ein Code 4xx richtig!

2. Ich habe mal einen "patch" für den moduleStore angehängt, der die Fehler dann an das Formular des moduleStores zurückgibt. Der ist so natürlich nicht tragbar. Man sieht auch, wie schwierig das ganze ist, z.B. errorHandling von umcpCommand wurde ausgestellt.

Minimalinvasiv geht das nicht, ist aber außerordentlich wichtig - auch für andere Module als dieses hier.
Am schönsten fände ich es ja, wenn man irgendwie die zweite Funktion, die man .then() übergibt irgendwie dafür nutzen könnte.

Bis dahin probiere ich noch ein wenig rum.
Comment 2 Dirk Wiesenthal univentionstaff 2012-09-08 23:06:37 CEST
Soweit fertig. Dem Modul updater wurde Funktionalität genommen, die dem Modul packages hinzugefügt wurden. In dem Zuge wurde packages einer Grundrenovierung unterzogen und verbessert. Außerdem wurde ein Tab "AppCenter" packages hinzugefügt. Könnte später noch in ein eigenes Modul ausgelagert werden - allerdings teilt es sich viel Code mit packages (Komponenten anlegen und vor allem den PackageManager zum Installieren).

Beide Pakete (insbesondere packages) funktionieren momentan noch nicht, da die Dojo 1.8 Anpassung noch nicht fertig ist.
Comment 3 Dirk Wiesenthal univentionstaff 2012-09-10 16:51:18 CEST
Fixed in
  univention-updater 8.0.9-1.1072.201209101546
und
  univention-management-console-module-packages 2.0.4-1.12.201209101458

Man könnte noch darüber nachdenken, den letzten vorhandenen Tab aus dem Updater zu entfernen.
Comment 4 Stefan Gohmann univentionstaff 2012-09-11 08:19:05 CEST
(In reply to comment #3)
> Man könnte noch darüber nachdenken, den letzten vorhandenen Tab aus dem Updater
> zu entfernen.

Ja.

Das Modul Paketverwaltung sollte für interim-1 noch umbenannt werden. Entweder Softwareverwaltung oder App Center.
Comment 5 Dirk Wiesenthal univentionstaff 2012-09-11 11:10:17 CEST
Fixed in
  univention-management-console-module-packages 2.0.6-1.14.201209111058
und
  univention-updater 8.0.10-1.1073.201209111107
Comment 6 Alexander Kläser univentionstaff 2012-09-14 18:00:31 CEST
(In reply to comment #4)
>
> Das Modul Paketverwaltung sollte für interim-1 noch umbenannt werden. Entweder
> Softwareverwaltung oder App Center.

Vielleicht "Software-Verwaltung" im Deutschen, dann bricht der Name auch schöner auf der Übersichtsseite um.
Comment 7 Alexander Kläser univentionstaff 2012-09-14 19:46:58 CEST
(In reply to comment #1)
> ...
> 1. Offenbar werden nur status codes zwischen 200 und 300 von Cherrypy
> ordentlich durchgelassen. Das heißt, um dem Client zu signalisieren, dass das,
> was man da bekommt Fehlermeldungen sind, muss man einen Fehlercode 2xx
> schicken, eigentlich wäre ein Code 4xx richtig!

Für Fehlercodes in Cherrypy muss man immer einen Exception werfen.
 
> 2. Ich habe mal einen "patch" für den moduleStore angehängt, der die Fehler
> dann an das Formular des moduleStores zurückgibt. Der ist so natürlich nicht
> tragbar. Man sieht auch, wie schwierig das ganze ist, z.B. errorHandling von
> umcpCommand wurde ausgestellt.
>
> Minimalinvasiv geht das nicht, ist aber außerordentlich wichtig - auch für
> andere Module als dieses hier.
> Am schönsten fände ich es ja, wenn man irgendwie die zweite Funktion, die man
> .then() übergibt irgendwie dafür nutzen könnte.

→ müssen wir mal drüber reden


QA: Soweit OK. Die folgenden Punkte sind noch aufgefallen:

* Ich habe ein System installiert (via System-Setup), das Repository war auf updates.software-univention.de gesetzt. Danach habe ich den Repository-Server auf apt.knut.univention.de gesetzt mit unmaintained aktiviert. Eine Suche nach ipython war erfolglos, via apt-cache search hat es geklappt. Wird der Cache ggf. nicht richtig aktualisiert? apt-get update scheint auf jedenfall ausgeführt zu werden. Nach einem erneuten Login ging es dann.

* Changelog: Hier bitte die Einträge der einzelnen Sections in jeweils einen Eintrag zusammenfassen.

→ soweit erst einmal, QA ist noch nicht abgeschlossen.
Comment 8 Alexander Kläser univentionstaff 2012-09-14 19:55:47 CEST
Bei der Installation von curl im App-Center bekomme ich noch einen Traceback:

> Traceback (most recent call last):
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/__init__.py", line 201, in execute
>     func( request )
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 183, in _response
>     return function(self, request)
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 335, in _response
>     self.finished(request.id, _simple_response(function, with_flavor)(self, request))
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/decorators.py", line 232, in _response
>     return function(self, **kwargs)
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/packages/__init__.py", line 183, in app_center_get
>     return application.to_dict_detail(self)
>   File "/usr/lib/pymodules/python2.6/univention/management/console/modules/packages/app_center.py", line 130, in to_dict_detail
>     'can_install' : not can_uninstall and (is_joined or not master_packages),
> NameError: global name 'master_packages' is not defined
Comment 9 Dirk Wiesenthal univentionstaff 2012-09-17 12:49:26 CEST
* Umgenannt in Software-Verwaltung
* NameError gefixt
* PackageManager erfährt ein Update nach Änderungen an den Settings
  univention-management-console-module-packages 2.0.8-1.16.201209171238


* Changelog angepasst
Comment 10 Alexander Kläser univentionstaff 2012-09-18 11:50:35 CEST
(In reply to comment #9)
> * Umgenannt in Software-Verwaltung

→ OK

> * NameError gefixt

→ OK

> * PackageManager erfährt ein Update nach Änderungen an den Settings

→ OK

> * Changelog angepasst

→ OK

Ansonsten funktioniert der Updater wie vorher, die Repository-Einstellungen werden korrekt im Updater und in der Paketverwaltung übernommen → VERIFIED
Comment 11 Moritz Muehlenhoff univentionstaff 2012-11-14 16:45:58 CET
Der Reiter müsste "Repository settings" statt "Repository Settings" heissen (ist aber den Aufwand jetzt nicht mehr wert, evtl. gibt es einen eigenen UMC-Bug für solche Kleinigkeiten?)
Comment 12 Stefan Gohmann univentionstaff 2012-12-12 21:10:36 CET
UCS 3.1-0 has been released: 
 http://forum.univention.de/viewtopic.php?f=54&t=2125

If this error occurs again, please use "Clone This Bug".