Testumgebung
Zielgruppe: Technische Administration, alle, die oPBWeb ausprobieren wollen
Überblick
Die Testumgebung startet oPBWeb zusammen mit zwei nachgebauten opsi-Servern (opsiconfd-Mocks). Damit probierst du den Editor und den ganzen Ablauf aus, vom Import aus der Workbench über das Bauen bis zur Übernahme von Test nach Produktion, ohne einen echten opsi-Server.
| Configserver in oPBWeb | Stufe | Depots | Mock-Container |
|---|---|---|---|
opsi-test | Test | opsi-test.mock (Configserver), depot-test.mock | opbweb-opsi-mock-test |
opsi-prod | Produktion | opsi-prod.mock (Configserver), depot-prod.mock | opbweb-opsi-mock-prod |
Die Mocks laufen mit dem Backend-Image von oPBWeb, ihr Code kommt aus tools/opsi-mock/opsi_mock.py. Beides liegt im Klon des Repositorys und im Stack-ZIP
. Die Kurzfassung dieser Anleitung steht als START-TEST-ENVIRONMENT_de.md daneben.
Die Testumgebung verwendet dieselben Containernamen und Volumes wie eine normale Installation (Compose-Projekt opbweb). Richte sie auf einem Host ohne andere oPBWeb-Installation ein, etwa einer VM oder dem eigenen Rechner. Auf einem Host mit einer produktiven Installation würde sie deren Container ersetzen.
Voraussetzungen
- Docker mit dem Compose-Plugin und
openssl, siehe Voraussetzungen . Ein Zugang zu einem opsi-Server ist nicht nötig. - Die Dateien von oPBWeb, ein Klon oder das Stack-ZIP, siehe Installation .
Einrichten und starten
Wechsle in das Verzeichnis mit den Dateien und führe das Setup aus:
./setup-opbweb.shDie Vorgaben passen für einen Test, Enter übernimmt sie. Bei der Frage nach den Images wählst du
r(Registry) oder im Klonl(lokal bauen). Im Stack-ZIP stellt das Setup die Registry-Images ausversions.envein. Am Ende zeigt das Setup das Passwort des ersten Administratorsadmin; es steht auch insecrets/admin_password.txt.Starte den Stack mit den Mocks:
./start.sh --test # Images aus der Registry ./start.sh --test --build # im Klon mit lokal gebauten Images--testnimmtdocker-compose.test.ymlhinzu. Beim ersten Start legt die API die beiden Mocks als Configserver an, solange noch kein opsi-Server eingerichtet ist (VariableOPSI_MOCK_SERVERSim Overlay). Technischer Benutzer istopsiadmmit dem Passwortmock, die TLS-Prüfung ist aus.Öffne
https://localhost/(bzw. den Port aus dem Setup) und melde dich alsadminan. Ohne eigenes Zertifikat hat das Setup ein self-signed erzeugt; bestätige die Warnung des Browsers.Öffne Depots. Links stehen
opsi-prod(Produktion) undopsi-test(Test). Klick aufopsi-testund dann auf Verbindung testen; oPBWeb liest die Depots des Servers ein. Mach dasselbe füropsi-prod. Ohne diesen Schritt kommen die Depots mit der nächsten opsi-Prüfung, spätestens nach 5 Minuten.
Ablauf ausprobieren
- Klick in Pakete auf Workbench … und wähl den Configserver
opsi-test. Die Workbench des Mocks enthält das Projektmock-demound den Ordnerkein-paket(kein gültiges Projekt, zum Ausprobieren der Fehlermeldung). Wählmock-demoaus und klick auf Ausgewählte importieren (1), siehe Pakete . - Öffne
mock-demomit Im Editor öffnen, ändere etwas, zum Beispiel inCLIENT_DATA/setup.opsiscriptim Scripteditor , und speichere. - Klick auf Bauen und danach auf Installieren …. Wähl die beiden Depots von
opsi-test(Stufe Test) und klick auf Installieren. Die Version ist danach freigegeben, siehe Bauen und Verteilen . - Klick in Pakete auf Übernehmen …, stell Von Test nach Produktion ein und klick auf Übernehmen (1). oPBWeb installiert denselben Build auf den Depots von
opsi-prod, siehe Auf andere Stufe übernehmen . - Unter Depots siehst du je Depot die installierten Produkte, die Dateien und das Repository, unter Jobs die Protokolle aller Schritte.
Was die Mocks können
- Nachgebildet: Anmeldung, Workbench, Repository und Depot per WebDAV, Installieren und Deinstallieren (das hochgeladene Paket wird gelesen und die
.md5geprüft), installierte Produkte je Depot, vier Beispiel-Clients (client1.mockbisclient4.mock) für „Setup auf allen Clients anfordern, auf denen das Produkt installiert ist“. Das Produkthwauditist auf den Depots außer dem Configserver gesperrt, zum Ausprobieren von Entsperren. - Zustand im Speicher: Ein Neustart der Mocks (oder des Stacks) setzt sie zurück, mit frischer Workbench und ohne die installierten Pakete. Die Datenbank von oPBWeb behält Pakete, Versionen und Benutzer; die Depotstände gleicht der nächste Abgleich an.
- Kein Ersatz für einen echten Server: Rechte,
admin-networks, Zertifikate und das Verhalten entfernter Depots zeigt nur ein echter opsi-Server.
Beenden, weiterarbeiten, entfernen
| Ziel | Vorgehen |
|---|---|
| Beenden | ./stop.sh (stoppt auch die Mocks; die Daten bleiben) |
| Wieder starten | ./start.sh --test |
| Mit einem echten opsi-Server weiterarbeiten | den echten Configserver unter Depots anlegen (Ersteinrichtung
), die beiden Mock-Server entfernen und künftig ohne --test starten |
| Alles entfernen, auch alle Daten | docker compose -f docker-compose.yml -f docker-compose.test.yml down -v, danach das Verzeichnis löschen |