Bug 22904 - System Setup für UMC
System Setup für UMC
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC (Generic)
UCS 3.0
Other Linux
: P5 normal (vote)
: UCS 3.0 - RC
Assigned To: Alexander Kläser
Andreas Büsching
: interim-1
Depends on: 23869 23870 23872 23993 23997
Blocks: 55013 22905 22906 22907 22908 53885
  Show dependency treegraph
 
Reported: 2011-06-28 08:45 CEST by Andreas Büsching
Modified: 2023-02-03 13:07 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
setup.log (48.63 KB, text/plain)
2011-11-11 09:24 CET, Stefan Gohmann
Details
system-setup-matrix (1.85 KB, text/plain)
2011-11-23 18:33 CET, Alexander Kläser
Details
system-setup-matrix (1.95 KB, text/plain)
2011-11-23 19:21 CET, Alexander Kläser
Details
system-setup-matrix (2.12 KB, text/plain)
2011-11-24 23:24 CET, Alexander Kläser
Details
system-setup-matrix (2.44 KB, text/plain)
2011-11-25 00:16 CET, Alexander Kläser
Details
system-setup-matrix (3.02 KB, text/plain)
2011-11-25 11:47 CET, Alexander Kläser
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Büsching univentionstaff 2011-06-28 08:45:29 CEST
Univention System Setup soll in UMC integriert werden
Comment 1 Andreas Büsching univentionstaff 2011-08-16 15:59:21 CEST
An diesem Bug sollen die grundsätzlichen Überlegungen zur Migration von ncurses zu UMC gemacht und implementiert werden.
Comment 2 Alexander Kläser univentionstaff 2011-09-29 17:30:15 CEST
In diesem Zusammenhang wurden folgende neuen Bugs angelegt:
* Starten des Systems in eine X-Session mit Firefox → Bug 23869
* Netzwerk-Zugriff für das Setup von außen erlauben → Bug 23870
* UMC-Zugriff ohne Login → Bug 23872
Comment 3 Alexander Kläser univentionstaff 2011-10-11 10:42:02 CEST
Die grundsätzliche Struktur und das Framework stehen soweit. Das Python-Backend schreibt alle Werte (im Wesentlichen UCR-Variablen), die sich geändert haben, in eine Profil-Datei (/var/cache/univention-system-setup/profile) mit Key-Value-Einträgen, für die dann die Setup-Skripte aufgerufen werden (univention-system-setup). Jedes Setup-Skript liest diese Datei ein und wendet die Änderungen an, sofern Variablen gespeichert wurden, die das Skript betreffen.
Comment 4 Alexander Kläser univentionstaff 2011-10-11 10:52:27 CEST
Eine erste Version des Paketes wurde eingecheckt.

Folgende Bugs wurden angelegt, um die Setup-Skripte an UCS 3.0 anzupassen:

  Bug 23993, Bug 23997
Comment 5 Stefan Gohmann univentionstaff 2011-10-31 07:16:48 CET
Folgende Dinge sollten jetzt noch implementiert werden:

* Wenn das System bereits gejoint wurde, dann darf Rechnername / FQDN, Windows Domäne und LDAP Basis nicht geändert werden können. Diese Einschränkung gilt nicht für das Basissystem.

* Wenn das System noch nicht gejoint wurde, dann sollen nicht die System Setup Skripte aufgerufen werden, sondern univention-join bzw. univention-run-join-scripts (DC Master). Wenn auf dem DC Master univention-run-join-scripts aufgerufen wird, dann sollte vorher die Datei /var/univention-join/joined angelegt werden.

* Auf nicht DC Master und Bassisystem Systemen sollten vom Benutzer Benutzername und Passwort für das Joinen abgefragt werden und an die Join-Skripte übergeben werden.

* Wenn das System bereits gejoint wurde, dann werden, wie bisher auch, die System Setup Skripte aufgerufen.


Wenn die Datei /var/univention-join/joined vorhanden ist, dann ist das System bereits gejoint.
Comment 6 Alexander Kläser univentionstaff 2011-11-04 14:31:32 CET
(In reply to comment #5)
> Folgende Dinge sollten jetzt noch implementiert werden:
> 
> * Wenn das System bereits gejoint wurde, dann darf Rechnername / FQDN, Windows
> Domäne und LDAP Basis nicht geändert werden können. Diese Einschränkung gilt
> nicht für das Basissystem.

→ Das wurde entsprechend geändert.


> * Wenn das System noch nicht gejoint wurde, dann sollen nicht die System Setup
> Skripte aufgerufen werden, sondern univention-join bzw.
> univention-run-join-scripts (DC Master). Wenn auf dem DC Master
> univention-run-join-scripts aufgerufen wird, dann sollte vorher die Datei
> /var/univention-join/joined angelegt werden.

→ Das funktioniert jetzt wie folgt:

* Auf einem Basissystem laufen die normalen Setup-Skripte immer durch ("Join" gilt für ihn nicht)

* Auf den anderen Systemen wird das Skript setup-join.sh statt der Setup-Skripte aufgerufen, wenn sie nicht gejoint sind

* Sind die Systeme (!= Basissystem) gejoint, werden die Setup-Skripte aufgerufen. Dabei werden die die Skripte für Rechner-/Domainnamen, Windows-Domäne und LDAP-Basis für diese Systeme ignoriert (sie werden nur bei Basissystemen aufgerufen).


> * Auf nicht DC Master und Bassisystem Systemen sollten vom Benutzer
> Benutzername und Passwort für das Joinen abgefragt werden und an die
> Join-Skripte übergeben werden.

→ wurde hinzugefügt (sollte funktionieren, wurde noch nicht fertig getestet).


> * Wenn das System bereits gejoint wurde, dann werden, wie bisher auch, die
> System Setup Skripte aufgerufen.

→ (siehe oben)
 

> Wenn die Datei /var/univention-join/joined vorhanden ist, dann ist das System
> bereits gejoint.

→ Der Joinstatus wird anhand dieser Datei ermittelt

→ Der Appliancemode wird daran erkannt, dass der Benutzer __systemsetup__ angemeldet ist (siehe Bug 23872)


Ein Punkt ist noch offen: Derzeit ist es möglich bei gestartetem System-Setup während des Bootvorgangs (also Appliance-Modus), sich an UMC auch von außen anzumelden. Wird allerdings System-Setup nicht von lokal aus aufgerufen, wird auch die Firefox-Instanz nicht beendet. Das wiederum kann Probleme mit der UMC-Anmeldung zur Folge haben, da ggf. SSL-Zertifikate neu generiert wurden und UMC-Server, UMC-Web-Server und ggf. Apache neu gestartet werden müssen/sollten. Das wird im Appliance-Szenario über die Boot-Skripte sichergestellt (siehe Bug 23869).
Comment 7 Alexander Kläser univentionstaff 2011-11-04 16:46:44 CET
Weiterer offener Punkt:

* Die angelegte Profildatei sollte gelöscht werden
Comment 8 Stefan Gohmann univentionstaff 2011-11-04 16:55:43 CET
(In reply to comment #7)
> Weiterer offener Punkt:
> 
> * Die angelegte Profildatei sollte gelöscht werden

Das Passwort wird jetzt aus dem System Setup Skript selbst gelöscht: usr/lib/univention-system-setup/scripts/basis/18root_password

Das hat den Vorteil, dass der Support noch an die restlichen Daten kommen kann.
Comment 9 Stefan Gohmann univentionstaff 2011-11-04 17:14:13 CET
Weitere offene Punkte:

* FQDN, LDAP Basis, Windows Domain und root Passwort sollten immer gesetzt werden.

* LDAP Basis und Windows Domain sollten automatisch ausgefüllt werden, wenn FQDN ausgefüllt wird.

* Im ungejointen Zustand sollten die Felder (FQDN, LDAP Basis, Windows Domain, Passwort) leer sein.
Comment 10 Stefan Gohmann univentionstaff 2011-11-07 10:58:16 CET
> Wenn die Änderungen durchgelaufen sind und man die entsprechende
> Erfolgsmeldung quittiert hat, weiss man nicht, wie man wieder aus dem Modul
> kommt. Ein Klick auf "Beenden" führt zur Fehlermeldung, dass keine
> Änderungen übernommen wurden. Man kann dann ok sagen und ist wieder im
> Modul. Einziger Weg ist,das Modul zu schliessen, das ist aber nicht
> intuitiv. Meiner Ansicht nach müsste bei Beenden folgende Meldung kommen:
>
> "Es wurden keine Änderungen an der Systemkonfiguration vorgenommen." Und
> dann zur Auswahl: "Zurück" und "System Setup beenden" (Default wäre des
> zweite) Die selben Auswahlmöglichkeiten müsste man auch nach erfolgreichem
> Durchlauf von System-Setup haben.
Comment 11 Stefan Gohmann univentionstaff 2011-11-11 09:24:05 CET
Created attachment 3778 [details]
setup.log

Ich habe auf einem DC Master per System Setup den Printserver nachinstalliert. Scheinbar wurde während der Installation UMC neu gestartet.

Im Firefox habe ich auch mehrere Minuten, nachdem die Installation durch war, noch die Ladeanimation gesehen. Irgendwann (ca. 5 Minuten) wurde mir in UMC der folgende Hinweis angezeigt:

An unknown error with status code 502 occurred while connecting to the server, please try again later
Comment 12 Alexander Kläser univentionstaff 2011-11-23 12:35:20 CET
(In reply to comment #6)
> ...
> Ein Punkt ist noch offen: Derzeit ist es möglich bei gestartetem System-Setup
> während des Bootvorgangs (also Appliance-Modus), sich an UMC auch von außen
> anzumelden. Wird allerdings System-Setup nicht von lokal aus aufgerufen, wird
> auch die Firefox-Instanz nicht beendet. Das wiederum kann Probleme mit der
> UMC-Anmeldung zur Folge haben, da ggf. SSL-Zertifikate neu generiert wurden und
> UMC-Server, UMC-Web-Server und ggf. Apache neu gestartet werden müssen/sollten.
> Das wird im Appliance-Szenario über die Boot-Skripte sichergestellt (siehe Bug
> 23869).

→ Das ist erstmal so in Ordnung


(In reply to comment #10)
> > Wenn die Änderungen durchgelaufen sind und man die entsprechende
> > Erfolgsmeldung quittiert hat, weiss man nicht, wie man wieder aus dem Modul
> > kommt. Ein Klick auf "Beenden" führt zur Fehlermeldung, dass keine
> > Änderungen übernommen wurden. Man kann dann ok sagen und ist wieder im
> > Modul. Einziger Weg ist,das Modul zu schliessen, das ist aber nicht
> > intuitiv. Meiner Ansicht nach müsste bei Beenden folgende Meldung kommen:
> >
> > "Es wurden keine Änderungen an der Systemkonfiguration vorgenommen." Und
> > dann zur Auswahl: "Zurück" und "System Setup beenden" (Default wäre des
> > zweite) Die selben Auswahlmöglichkeiten müsste man auch nach erfolgreichem
> > Durchlauf von System-Setup haben.

→ Das Problem wurde behoben. Es gibt hier zwei Fälle für das Appliance-Szenario zubeachten:

(a) Das System ist bereits gejoint → hier gibt es jetzt einen Hinweis, dass keine Änderungen vorgenommen wurden und das System bei Bestätigung weiter Booten wird.

(b) Das System ist noch nicht gejoint → in diesem Fall müssen FQDN etc. angegeben werden (siehe Comment #9)


(In reply to comment #11)
> Created an attachment (id=3778) [details]
> setup.log
> 
> Ich habe auf einem DC Master per System Setup den Printserver nachinstalliert.
> Scheinbar wurde während der Installation UMC neu gestartet.
> 
> Im Firefox habe ich auch mehrere Minuten, nachdem die Installation durch war,
> noch die Ladeanimation gesehen. Irgendwann (ca. 5 Minuten) wurde mir in UMC der
> folgende Hinweis angezeigt:
> 
> An unknown error with status code 502 occurred while connecting to the server,
> please try again later

→ Dies sollte im Zuge von Bug 24751 jetzt auch funktionieren. Im schlimmsten Fall muss sich der Benutzer neu einloggen (da durch den Neustart des Web-Servers die Session nicht mehr gültig ist). Long-Polling stellt dann die Verbindung wieder her.
Comment 13 Alexander Kläser univentionstaff 2011-11-23 12:40:01 CET
Zur Information:

Im Frontend wird der Appliance-Modus daran erkannt, dass der Benutzer als __systemsetup__ eingeloggt ist.
Comment 14 Alexander Kläser univentionstaff 2011-11-23 12:40:29 CET
(In reply to comment #13)
> Zur Information:
> 
> Im Frontend wird der Appliance-Modus daran erkannt, dass der Benutzer als
> __systemsetup__ eingeloggt ist.

Dies gilt auch für das Backend-Modul.
Comment 15 Sönke Schwardt-Krummrich univentionstaff 2011-11-23 15:10:13 CET
(In reply to comment #12)
> → Dies sollte im Zuge von Bug 24751 jetzt auch funktionieren. Im schlimmsten
> Fall muss sich der Benutzer neu einloggen (da durch den Neustart des
> Web-Servers die Session nicht mehr gültig ist). Long-Polling stellt dann die
> Verbindung wieder her.

set-apache-permissions aus univention-updater wurde in enable-apache2-umc umbenannt. Zusätzlich wurde ein disable-apache2-umc eingeführt.

Durch das Ausführen des Skriptes /usr/share/univention-updater/disable-apache2-umc
kann jetzt ein Neustart von Apache2/UMC/UMC-Webserver verhindert werden. Von den jeweiligen Binaries wird dafür das Executable-Bit entfernt. Zusätzlich wird dies per dpkg-statoverride gesetzt, so dass dies auch ein Paketupdate überlebt.

Über /usr/share/univention-updater/enable-apache2-umc kann diese Änderung wieder rückgängig gemacht werden. 
Achtung: beim Rückgängigmachen werden die drei Dienste neu gestartet!

Beim Booten wird wie bisher enable-apache2-umc aufgerufen, um die Berechtigungen automatisch zu korrigieren.
Comment 16 Alexander Kläser univentionstaff 2011-11-23 16:07:51 CET
(In reply to comment #9)
> Weitere offene Punkte:
> 
> * FQDN, LDAP Basis, Windows Domain und root Passwort sollten immer gesetzt
> werden.
> 
> * LDAP Basis und Windows Domain sollten automatisch ausgefüllt werden, wenn
> FQDN ausgefüllt wird.
> 
> * Im ungejointen Zustand sollten die Felder (FQDN, LDAP Basis, Windows Domain,
> Passwort) leer sein.

Das wurde angepasst. Dabei ist das Unterscheidungskriterion wie folgt:

(a) Wenn sich das Modul im Appliance-Modus befindet und das System noch nicht gejoint ist (und die Systemrolle != basesystem ist):
→ Die vier Felder sind "required" (auch mit "(*)" markiert)
→ Die vier Felder sind leer
→ LDAP-Basis und Windows Domain werden automatisch aus dem FQDN berechnet

(b) Ansonsten sind FQDN, LDAP-Basis und Windows-Domain auf "disabled" gesetzt und mit ihrem entsprechenden Wert ausgefüllt. Das Passwort kann gesetzt werden, alle vier Felder sind _nicht_ auf "required" gesetzt.


 univention-system-setup (5.0.65-1) unstable; urgency=low
 .
   * allow Host=* for user __systemsetup__ (Bug #23870)
   * UMC: adjusted setting of disabled/required/value properties for the fields
     FQDN, LDAP base, Windows domain, root password in appliance mode
     (Bug #22904)


 univention-management-console-frontend (1.0.222-1) unstable; urgency=low
 . 
   * PasswordInputBox: enabled dynamic setting of required/label
   * LabelPane: watch changes on the property required
   (Bug #22883)
Comment 17 Sönke Schwardt-Krummrich univentionstaff 2011-11-23 16:16:42 CET
(In reply to comment #15)
> Über /usr/share/univention-updater/enable-apache2-umc kann diese Änderung
> wieder rückgängig gemacht werden. 
> Achtung: beim Rückgängigmachen werden die drei Dienste neu gestartet!

Wird der Parameter --no-restart an enable-apache2-umc übergeben, werden die Dienste nicht neu gestartet.
Comment 18 Alexander Kläser univentionstaff 2011-11-23 16:50:41 CET
(In reply to comment #17)
> (In reply to comment #15)
> > Über /usr/share/univention-updater/enable-apache2-umc kann diese Änderung
> > wieder rückgängig gemacht werden. 
> > Achtung: beim Rückgängigmachen werden die drei Dienste neu gestartet!
> 
> Wird der Parameter --no-restart an enable-apache2-umc übergeben, werden die
> Dienste nicht neu gestartet.

Das Skript wird nun verwendet, um sicherzustellen, das die Dienste nicht neu gestartet werden.


 univention-system-setup (5.0.66-1) unstable; urgency=low
 . 
   * UMC: replace os.system() calls with subprocess.call()
   * UMC: use the scripts {disable,enable}-apache2-umc to make sure the UMC
     servers as well as apache are not restarted during execution of any setup
     scripts
   (Bug #22904)
Comment 19 Alexander Kläser univentionstaff 2011-11-23 17:20:52 CET
(In reply to comment #14)
> (In reply to comment #13)
> > Zur Information:
> > 
> > Im Frontend wird der Appliance-Modus daran erkannt, dass der Benutzer als
> > __systemsetup__ eingeloggt ist.
> 
> Dies gilt auch für das Backend-Modul.

Das muss noch einmal überarbeitet werden.
Comment 20 Alexander Kläser univentionstaff 2011-11-23 18:33:59 CET
Created attachment 3881 [details]
system-setup-matrix

(In reply to comment #19)
> Das muss noch einmal überarbeitet werden.

Anbei die Matrix für alle Möglichkeiten
Comment 21 Alexander Kläser univentionstaff 2011-11-23 19:21:18 CET
Created attachment 3882 [details]
system-setup-matrix

updated matrix
Comment 22 Alexander Kläser univentionstaff 2011-11-24 12:41:02 CET
Die GUI wurde bzgl. der angegebenen Matrix angepasst und sollte sich nun entsprechende verhalten. Es wurde zudem noch ein weiterer Fehler behoben, der den Dialog zum Fortfahren mit dem Bootprozess verhinderte. Damit kann dieser Bug zu.


univention-system-setup (5.0.69-1) unstable; urgency=low

  * UMC: fixed scoping error (Bug #22904)


univention-system-setup (5.0.68-1) unstable; urgency=low

  * UMC: updated the GUI dependencies (Bug #22904)
Comment 23 Alexander Kläser univentionstaff 2011-11-24 15:10:45 CET
Folgendens Verhalten fehlt derzeit noch:

* UMC-Server und UMC-Web-Server für ein gejointes System nach Ändern der Netzwerkeinstellungen (Änderungen virtueller Geräte können ignoriert werden) neustarten.

* Zusätzlich einen Hinweis ausgeben, dass Dienste neu gestartet werden können, wenn Netzwerkeinstellungen und Softwarepakete geändert werden
Comment 24 Alexander Kläser univentionstaff 2011-11-24 23:24:22 CET
Created attachment 3894 [details]
system-setup-matrix

Aktualisierung der Matrix ? Hinweis beim Installieren von Samba3/4 auf einem Backup/Slave (siehe Bug 22905)
Comment 25 Alexander Kläser univentionstaff 2011-11-25 00:16:32 CET
Created attachment 3895 [details]
system-setup-matrix

Nochmal eine Aktualisierung der Matrix (siehe Comment 23)
Comment 26 Alexander Kläser univentionstaff 2011-11-25 01:30:36 CET
(In reply to comment #23)
> Folgendens Verhalten fehlt derzeit noch:
> 
> * UMC-Server und UMC-Web-Server für ein gejointes System nach Ändern der
> Netzwerkeinstellungen (Änderungen virtueller Geräte können ignoriert werden)
> neustarten.
> 
> * Zusätzlich einen Hinweis ausgeben, dass Dienste neu gestartet werden können,
> wenn Netzwerkeinstellungen und Softwarepakete geändert werden

Dieses Verhalten wurde noch ergänzt (siehe Matrix).


 univention-system-setup (5.0.71-1) unstable; urgency=low
 . 
   * UMC: added restarting of UMC server and web server, added notifications
     when changing network devices and software (Bug #22904, Comment 23)
Comment 27 Alexander Kläser univentionstaff 2011-11-25 11:47:56 CET
Created attachment 3898 [details]
system-setup-matrix

Es wurden jetzt noch die Neustartfälle in der Matrix ergänzt.

Die Server werden jetzt auch bei SSL-Änderungen neugestartet. Zusätzlich wurde jetzt hinzugefügt, dass die Abfragen beim Long-Polling durch das Modul mit einem Fehler beendet werden (nach 1min), da ansonsten die Requests scheinbar durch den Browser nicht an den Webserver weitergeleitet werden.


 univention-system-setup (5.0.72-1) unstable; urgency=low
 .
   * UMC: added server restart also in the case of SSL certificate changes
   * UMC: make sure that long polling requests to setup/finished are canceled
     after 60sec
   (Bug #22904)
Comment 28 Alexander Kläser univentionstaff 2011-11-28 14:32:59 CET
Der Login-Bildschirm wurde im System-Setup nach Abschließen der Join-Skripte noch angezeigt. Dies wurde korrigiert.


 univention-management-console-frontend (1.0.238-1) unstable; urgency=low
 .
   * umc.dialog: handle automatic login via long polling (Bug #22904)


 univention-system-setup (5.0.73-1) unstable; urgency=low
 .
   * UMC: use long polling for shutting down the session (Bug #22904)
Comment 29 Alexander Kläser univentionstaff 2011-11-29 10:39:24 CET
Für die Software-Installation wurde noch ein "apt-get update" in das software/10software Skript eingefügt, da ansonsten Pakete nicht installiert werden können.


 univention-system-setup (5.0.74-1) unstable; urgency=low
 . 
   * adapted software/10software script to call "apt-get update" first
     (Bug #22904)
Comment 30 Alexander Kläser univentionstaff 2011-12-01 15:29:27 CET
Der folgende Fehler trat noch auf und wurde behoben: Auf einem Backup wurde das ausgeblendete Feld "LDAP-Basis" beim Speichern als fehlend und "required" ausgegeben.

Auf einem ungejointen Backup werden die Felder für FQDN/Win-Domain/LDAP-Basis als leerer Wert gesetzt. Das sollte nur im Appliance-Modus so sein.
→ ausgelagert nach Bug 25076


 univention-system-setup (5.0.77-1) unstable; urgency=low
 .
   * UMC: ignore field for LDAP base if it is hidden (Bug #22904)
Comment 31 Alexander Kläser univentionstaff 2011-12-02 11:37:09 CET
Ein weiterer Fehler für Systemrollen != master wurde korrigiert. Durch diesen Fehler wurden das Join-Skript nicht korrekt aufgerufen.


 univention-system-setup (5.0.78-1) unstable; urgency=low
 . 
   * UMC: fixed problem when running join script on roles != master (Bug #22904)
Comment 32 Stefan Gohmann univentionstaff 2011-12-02 12:25:21 CET
Auf nicht DC Master Systemen wurde der Account für den Join falsch übergeben. Aktualisiertes Paket baut.
Comment 33 Andreas Büsching univentionstaff 2011-12-02 17:00:21 CET
Das Modul ist umgesetzt und wurde auf der Produkttests ausführlich gestestet

(In reply to comment #32)
> Auf nicht DC Master Systemen wurde der Account für den Join falsch übergeben.
> Aktualisiertes Paket baut.

das funktioniert jetzt auch
Comment 34 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:49:33 CET
UCS 3.0-0 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"