Nach über einem Jahr Entwicklung freuen wir uns die neue opsi-Version 4.2 zu veröffentlichen.
Die Version 4.2 enthält unter anderem eine leistungsstärkere Serverkomponente und einen verbesserten Client mit neuen Features.
Den opsi-Kern haben wir von Grund auf überarbeitet, den Service opsiconfd in großen Teilen neu geschrieben und auf Python 3 portiert. opsi 4.2 nutzt moderne Technologien für eine bessere Performance, Skalierbarkeit und Erweiterbarkeit. opsi eignet sich damit ideal für den Einsatz in sehr großen Umgebungen an verteilten Standorten.
Als Basis für den neuen opsiconfd-Service dient der schnelle ASGI-Server Uvicorn. Die Web-Frameworks Starlette und FastAPI verbessern die Performance des opsi-Servers maßgeblich: Auf einem System können nun mehrere Workerprozesse laufen, die über Redis miteinander kommunizieren. Der opsi-Server ist damit nicht länger an eine einzelne Maschine gebunden, sondern kann parallel auf weiteren Instanzen betrieben werden (Stichwort: Lastverteilung).
Alle Serverkomponenten sind ab sofort in Docker-Containern lauffähig – eine gute Basis für die nächsten Jahre..
Version 4.2 integriert sich schneller und besser in vorhandene Domänen, denn die LDAP- bzw. AD-Authentifizierung läuft nun dank einer Erweiterung des Directory Connector direkt über den Webservice. Es ist nun möglich, einen LDAP- bzw. Samba/AD-Server in der Konfiguration anstelle von PAM anzugeben.
Auch in Sachen Security wurde gearbeitet. Mit opsi 4.2 wurde eine eigene opsi-CA implementiert. Diese wird automatisch gepflegt und eröffnet die Möglichkeit mittels moderner Technologien (TLS) eine sicherere Verifikation zwischen Server und Client zu nutzen.
Das Backend zur Datenhaltung ist bis auf ein paar Optimierungen weitgehend unverändert, was eine Abwärtskompatibilität zu opsi 4.1 sicherstellt. Anders als sonst läuft die Unterstützung für den Vorgänger Ende 2021 (30.11.2021) aus – bis dahin erhält opsi 4.1 Sicherheitsupdates und Patches.
Wir haben auch den Client überarbeitet und dabei einen neuen Build-Prozess integriert. Der Agent nutzt nun auch die aktuelle Python-Version 3. Die Linux-Version kann jetzt außer CIFS/SMB auch WebDAV-Freigaben mounten und dort arbeiten, was vor allem für Anbindung von Clients außerhalb des LAN wichtig ist.
Der Linux-Client hat jetzt genau wie das Windows-Pendant einen Notifier, der auf dem Desktop die opsiclientd-Statusmeldungen ausgibt.
Beim Implementieren der neuen Frameworks haben unsere Entwickler ausgiebig getestet und ein eigenes Tool zum Messen der Performance eingesetzt. Dabei haben wir immer wieder opsi 4.1 mit der neuen Version 4.2 verglichen. In einem Pilotprojekt mit rund 4.000 Clients hat opsi 4.2 bereits bei einem Kunden überzeugt.
Von den Performancetests und den dabei eingesetzten Werkzeugen profitiert auch die /opsiconfd/-Infopage. Wie erwähnt kommt Redis zum Protokollieren der Session-Daten zum Einsatz. Wir verwenden das Modul RedisTimeSeries, und alle opsi-Workerprozesse schreiben ihre
Performancedaten in eine TimeSeries-Datenbank. Grafana visualisiert das Ganze – fertige Dashboards liegen den opsi-Paketen bei, sodass
auch alle in den Genuss der grafischen Darstellung kommen.
Eine verbesserte Paketierung rundet die neue Version ab. Wir haben alle benötigten Python-Module gebündelt, sodass das aufwändige
Paketieren und Installieren einzelner Python-Pakete entfällt. opsi 4.2 kontrolliert die Abhängigkeiten zu anderen Komponenten besser.
Insgesamt wird die Installation und Einrichtung des Client-Management-Systems damit benutzerfreundlicher.
Fertige Pakete von opsi 4.2 stehen auf den Downloadseiten zur Verfügung; wie üblich gibt es auch eine virtuelle Appliance. Zusätzlich stellen die Entwickler ein Quick-Install zum schnellen Ausprobieren von opsi bereit.
Für detaillierte Informationen rund um opsi 4.2 inklusive Migrationsanleitung und Changelogs schauen Sie bitte in die Releasenotes:
Die übrige Dokumentation zu opsi 4.2 finden Sie unter:
https://download.uib.de/opsi4.2/documentation/