Neuigkeiten Webui 7.2

Hallo Arnaud,

was meinst du mit „ohne Backups“:
Es wird das Image kopiert: es gibt es danach also zweimal (sowohl qcow2
als auch rsync Image), aber eben nicht die älteren Versionen?

LG

Holger

Hallo Holger,

Wenn es z.B. einen Image Group ubuntu gibt mit folgendem Inhalt in /srv/linbo/image/ubuntu :

$ ls /srv/linbo/images/ubuntu 
backups  ubuntu.prestart  ubuntu.qcow2  ubuntu.qcow2.desc  ubuntu.qcow2.info  ubuntu.qcow2.torrent

„Duplizieren“ ermöglicht damit einen neuen Ordner nach Wünschnamen zu erzeugen mit dem gleichen Basisimage. Falls ich ubuntu-24 als Name auswähle, dann wird der Ordner so aussehen:

$ ls /srv/linbo/images/ubuntu24 
ubuntu24.prestart  ubuntu24.qcow2  ubuntu24.qcow2.desc  ubuntu24.qcow2.info  ubuntu24.qcow2.torrent

torrent- und info werden automatisch angepasst, und der Torrentdienst auch neu gestartet so, dass es sofort nutzbar ist. Szenarien sind z.B.:

  • neue HW-Klasse schnell mit fast den gleichen Image zu verwenden,
  • oder Update-test.

Bis jetzt war es immer nötig erst mal den Computer mit dem ubuntu Image zu starten/synchronisieren, dann Änderung auf dem Client machen, neue Gruppe auf dem Server erzeugen, und dann Image erstellen. Jetzt kann man direkt die Kopie in einer neuen Gruppen verwenden. Nicht besonders viel, aber vielleicht praktisch für ein oder der andere.

Gruß

Arnaud

3 „Gefällt mir“

Hallo,

mir ist aufgefallen, dass die Aktionen, die einen Neustart des Torrent-Dienstes auslösen, auch den Multicast-Dienst neu starten. Dieser wurde bei uns aus gutem Grund aber im systemd deaktiviert. Dies sollte beachtet werden (gleichermaßen falls das jemand umgekehrt eingestellt hat). Falls das WebUI da nur Befehle an systemctl durchreicht, hilft vielleicht die Verwendung von try-reload-or-restart oder, falls reload nicht ausreicht, try-restart:

systemctl Unit Commands:
   restart UNIT...                     Start or restart one or more units
   try-restart UNIT...                 Restart one or more units if active
   reload-or-restart UNIT...           Reload one or more units if possible,
                                       otherwise start or restart
   try-reload-or-restart UNIT...       If active, reload one or more units,

MfG Buster

Hi Buster,

Nach solchen Änderungen gibt es jedes mal in die Webui einen Restart von torrent und multicast per systemctl. Vielleicht könnten wir in einem anderen Thread diskutieren, was deine gute Gründen sind und wie wir es lösen könnten.
Das wäre nach meiner Meinung der beste weg, wenn es geht.

Gruß

Arnaud

Hallo zusammen,

Dateien listen im neuen Session Modul ist gerade in Vorbereitung :

listfiles

Der Ordner transfer/LEHRER/_collect ist automatisch bei Eröffnung einer Session erstellt, und damit kann ich die Schülerdateien in die Webui anzeigen.
Die Schüler müssen einfach ihre Dateien in diesem Ordner anlegen. Um es klar zu den LuL darzustellen, ist der Pfad als blau markiert/eingegeben.
Man kann flexibel den Autorefresh starten oder stoppen.

Gruß

Arnaud

5 „Gefällt mir“

Hallo zusammen,

Ich habe mich die letzte Tage auf das Teilen und Einsammeln konzentriert, um es per smbclient zu steuern. Das ist jetzt gemacht, und nach meinem Gefühl deutlich schneller. Im folgenden kurzen Beispiel, teile ich zwei Dateien von einer gesamten Größen von ca 3 MB an 30 Schülern, es dauert ca 10s. Danach sammel ich die Dateien von einer Schülerin ein, und überprüfe, dass diese Dateien wirklich in meinem Ordner gelandet sind.

share

In einem anderen Test habe ich 30 MB an 37 Schüler verteilt (ca 1,1GB insgesamt), das hat ca 30s gedauert. Das größte Problem mit smbclient ist, dass es danach den Lehrer gehört, es bedeutet, dass es auf seinem Quota berechnet wird.

Das Select-Fenster würde neu entwickelt und funktioniert auch komplett mit smbclient ( umbenennen, navigieren, löschen, Ordner anlegen, Upload per drag and drop ).

Der Design ist nicht besonders schön und optimal, z.B. die 30 grüne Meldungen werden noch verschwinden, das mache ich immer am Ende, bitte nicht darauf arten.

Ich bin aber zu einem Zeitpunkt gekommen indem ich es veröffentlichen kann. Es wäre wirklich toll, wenn Tester es intensiv, mit allen möglichen Szenarien, es testen könnten. Ich stelle mich immer noch die Frage, ob ich es für die LMN 7.2 noch reinpacke, oder noch warte.

Da es viele Änderungen gibt, würde ich es ausnahmsweise im Repo lmn72-testing hochladen, vielleicht morgen oder Mittwoch. Aber nur zur Klärung: momentan werden beide Session-Module mitgeliefert, das neue heißt einfach BETA.

Falls viele es testen könnten, mein Ziel wäre es spätestens mit unserem Treffen nächste Woche es zu befertigen, das ist der Grund warum ich die letzte Tage es sehr beschleunigt habe. Es gibt trotzdem wahrscheinlich noch viel zu tun/korrigieren.

Viele Grüße

Arnaud

1 „Gefällt mir“

Hallo Arnaud,

ich werde es gerne in Essen mal in der VM testen, und ich mach es auch
danach in meiner Schule drauf und lasse es da von KOlleg*innen testen.

Das mit dem Eigentümer (Lehrer) muss das so bleiben, oder kann man da
noch den Eigentümer auf den Schüler setzen?
Ich denke, es wird schwierig bei Lehrern die viel austeilen: die sind
dann ganz schnell über ihr Quota.

LG

Holger

Hallo Holger,

Wie immer danke für deine Bereitschaft zum Testen !

Das mit dem Eigentümer kann ich nicht allein ändern, haben schon lang hin und her mit den anderen Entwickler gesprochen. Das Thema greifen wir lieber in Essen wieder als hier im Ask.

Gruß

Arnaud

Hallo Arnaud.
Du bist ja noch schneller als angekündigt! Ich habe gerade ein Upgrade gemacht und bereits jetzt das neue Plugin „Session (new)“ gefunden. Leider läuft das hier im Moment noch in diesen Fehler:

Request
**GET** /api/lmn/session/projects
Type
Exception
Message
Requested search /projects/p_Fachschaft_MA unknown

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/aj/api/endpoint.py", line 77, in wrapper
    result = fx(self, context, *args, **kwargs)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_session_new/views.py", line 63, in handle_api_get_projects
    details = self.context.ldapreader.schoolget(f'/projects/{project}', dict=False)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_auth/api.py", line 79, in schoolget
    result = self.context.ldapreader.get(*args,**kwargs, school=self.context.schoolmgr.school)
  File "/usr/lib/python3/dist-packages/linuxmusterTools/ldapconnector/urls/ldaprouter.py", line 40, in get
    raise Exception(f'Requested search {url} unknown')
Exception: Requested search /projects/p_Fachschaft_MA unknown

Das Projekt „p_Fachschaft_MA“ ist aber sehr wohl vorhanden und ich bin dort auch eingeschrieben.
Hier nochmal die ersten Zeilen von sophomorix-project

### 29 projects in school default-school:                                    ####
+-----------------------+--+---+--+-+-+-+-+-+-----------------------------------+
| Project Name          |AQ|AMQ|MM|H|A|L|S|J| Project Description               |
+-----------------------+--+---+--+-+-+-+-+-+-----------------------------------+
| p_Fachschaft_FR       | 0| - | 0|F|F|T|P|T| p_Fachschaft_FR                   |
| p_Fachschaft_MA       | 0| - | 0|F|F|T|P|T| p_Fachschaft_MA                   |
| p_Fachschaft_SF       | 0| - | 0|F|F|T|P|T| p_Fachschaft_SF                   |
[...]

Woran könnte das liegen?

Vielen Dank und viele Grüße
Michael

Das WE in Essen war wieder sehr informativ – und war voller neuer Ideen! :+1:

Hallo,

Ich bin noch Dank DB unterwegs blockiert.
Kannst du bitte probieren die Webui neuzustarten ?

Gruß

Arnaud

Hallo Arnaud,
ja ja – die DB … zuverlässig wie eh und je…

Serverneustart bzw systemctl restart linuxmuster-webui.service ändern leider nichts. Ich denke, es liegt an dem doppelten Unterstrich bei
p_Fachschaft_MA – könnte das sein?

Michael

Hallo Michael,

Nein, das war einfach einen dummen Fehler von mir, ich hatte die Großbuchstaben vergessen.
Kommt in 15 Min im Repo, nach Installation bitte die Webui neustarten.
Ich könnte es nicht schneller machen, die Verbindung hier ist sehr wackelig :slight_smile:

Gruß

Arnaud

Hallo Arnaud – wow! Das ging auch trotz der DB schnell :slight_smile:

linuxmuster-tools7 (7.2.10) wird eingerichtet ...
systemctl restart linuxmuster-webui.service
Die Projekte werden jetzt richtig angezeigt.
Super – es funktioniert! :+1:

Viele Grüße,
Michael

Nun habe ich ein paar Dinge ausprobiert. Sieht super aus! :+1:

… und direkt eine Bemerkung / Idee / Frage hinterher:

Wir haben (wie man oben sieht) auch diverse Projekte für alle Fachschaften angelegt.

Das Modul ist zwar eigentlich für Klassenarbeiten zum Austeilen und Einsammeln gedacht aber wäre es nicht genauso gut auch für Projekte geeignet, in denen es viele User als Admins und gar keine User als Schüler gibt?

Ich frage nur, weil ich gesehen habe, dass das Teilen von Dateien da nicht möglich ist. Oder meinst Du, dass das eh nicht sinnvoll ist, da man das dann über die Nextcloud erledigen sollte?

Hallo Michael,

Danke für deine Rückmeldung.
A propos Projekte, gibt es folgende zu beachten:

  • ein Lehrer kann nicht in einem anderen Lehrer’s Home schreiben, aus guten Sambarechte Gründen. Damit ist die Verwendung des SessionPlugins in diesem Rahmen sehr begrenzt,
  • um Dateien in Projekte zu verteilen kann man entweden in „Meine Dateien“ Plugin es tun, oder mit Nextcloud, falls die Samba Shares da eingebunden sind.

Gruß

Arnaud

Tach,

wir haben den Klassenarbeitsmodus jetzt mal ausprobiert, funktioniert soweit, danke.
Fuer die Schueler koennte verwirrend sein, dass sie im „Examensnetzlaufwerk“ im Ordner Transfer/lehrername_klasse-autogenerated speichern muessen, aber auch in den Ordnern darunter speichern koennen, was natuerlich ein Teil der Schueler tut…egal wie oft man das erklaert.

Koennte man nicht einfach den Ordner schueler-exam flach halten und dort die Daten abladen lassen, von mir aus mit vom Schueler erstellten Unterordnern?

Momentan sammelt das Skript ja nur den einen Ordner ein und wenn die Loesung da nicht drin ist…isse weg. Der Schueler hat quasi im Examensordner viel zu viele Moeglichkeiten seine Dateien so zu verstecken, dass sie nicht eingesammelt werden.

Gruss Harry

Hallo Harry,

Danke für deine Rückmeldung. Ich habe den Eindruck, du sprichst von dem alten Session Modul, nicht von dem neuen (markiert als BETA oder Preview).

Da fehlt noch eindeutig eine Bescrheibung von mir, insbesondere die Pfade.
Ich habe am WE viele Bemerkungen eingesammelt und werde es Ende der Woche anschauen. Wenn ich es schaffe, probiere ich dazu eine kurze Erklärung zu schreiben. Ich habe auch nichts dagegen, wenn jemanden der das gestern gesehen hast, es macht :slight_smile:

Gruß

Arnaud

Hallo Arnaud.
Gerade nochmal eine Klasse gestartet … dass da noch einige Übersetzungen fehlen, ist Dir sicher längst bekannt.

Aber dieser Fehler ist neu aufgetreten:

Serverfehler
Server error occured. This is likely a bug.
Request
POST /api/lmn/smbclient/createSessionWorkingDirectory
Type
SMBException
Message
Request requires 1 credits but only 0 credits are available
Traceback

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/aj/api/endpoint.py", line 77, in wrapper
    result = fx(self, context, *args, **kwargs)
  File "/usr/lib/linuxmuster-webui/plugins/lmn_smbclient/views/smbclient.py", line 586, in handle_api_create_working_dir
    smbclient.makedirs(path)
  File "/usr/local/lib/python3.10/dist-packages/smbclient/_os.py", line 288, in makedirs
    mkdir(mkdir_path, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/smbclient/_os.py", line 267, in mkdir
    raw = SMBDirectoryIO(path, mode='x', **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/smbclient/_io.py", line 377, in __init__
    tree, fd_path = get_smb_tree(path, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/smbclient/_pool.py", line 310, in get_smb_tree
    session = register_session(server, username=username, password=password, port=port, encrypt=encrypt,
  File "/usr/local/lib/python3.10/dist-packages/smbclient/_pool.py", line 383, in register_session
    session.connect()
  File "/usr/local/lib/python3.10/dist-packages/smbprotocol/session.py", line 291, in connect
    request = self.connection.send(session_setup, sid=self.session_id, credit_request=64)
  File "/usr/local/lib/python3.10/dist-packages/smbprotocol/connection.py", line 888, in send
    return self._send([message], session_id=sid, tree_id=tid, message_id=message_id, credit_request=credit_request,
  File "/usr/local/lib/python3.10/dist-packages/smbprotocol/connection.py", line 1117, in _send
    raise SMBException("Request requires %d credits but only %d credits are available"
smbprotocol.exceptions.SMBException: Request requires 1 credits but only 0 credits are available

Bei einem Schüler stand zudem dies – vielleicht gibt es einen Zusammenhang? Ich weiß nicht, warum das da jetzt steht, denn beim ersten Versuch war das noch nicht der Fall:

Nachtrag – hmmmm – seltsam: Als ich diese Klasse erneut geöffnet habe, war sowohl die Fehlermeldung verschwunden als auch der rote Button. Beim zweiten „Betreten“ der Klasse war also alles wieder in Ordnung. Ist das ein Rechteproblem?

Viele Grüße,
Michael

P.S.: Noch eine kleine Ergänzung & Beobachtung zu Deinem neuen Tool lmncli – wenn man nach einem unbekannten User sucht, gibt’s einen Traceback. Ist Dir sicher schon bekannt, oder?

lmncli user <usernamen-den-es-nicht-mehr-gibt>
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /usr/lib/python3/dist-packages/linuxmusterCli/typers/user.py:60 in ls                            │

Hallo Michael,

Kurze Antwort da ich unterwegs bin.

Wegen die Übersetzungen wäre ich froh wenn die Community es bei Crowdin übernehmen könnte, ich bin zeitlich sehr begrenzt.

Diese Fehlermeldung hatte Rainer schon am WE erwähnt und ich habe heute geforscht : es liegt daran, dass ich die Infos zu schnell am Anfang der Session holen will. Aber Samba begrenzt die Anzahl von gleichzeitigen Verbindungen und sperrt den Zugang wenn es kein Credit mehr gibt. Entweder muss man die Anzahl von max credit in die smb.conf erhöhen, oder ich muss die Requests verlangsamen.

Gruß

Arnaud

Hallo Arnaud,
ok – gut, dass das schon lokalisiert ist. Ich würde aus dem Bauch heraus für einen höheren Wert in der smb.conf plädieren … dann muss nichts künstlich verlangsamt werden, was auch schneller laufen könnte – :thinking: :interrobang:

Viele Grüße,
Michael

P.S.: Hast Du das P.S. oben noch gesehen? Das kam nach Deiner Antwort…