Seite 1 von 1

[GELÖST] Neuer OPSI-Client-Agent verhindert automatische Einrichtung von per opsi-bootcd installierten PCs

Verfasst: 13 Dez 2021, 16:12
von CSI
Hallo OPSI-Freunde!

Ausgangsszenario: Wir benutzen die opsi bootcd um neue Windows 10 Rechner aufzusetzen. Bisher wurde der OPSI Client Agent nach der OS Installation automatisch draufgespielt.

Jetzt: Das opsi-client-agent Paket hat irgendein Update bekommen und unser Setup etwas durcheinander gebracht. Was sich außerdem verändert hat: Normalerweise kopierte die service_setup.cmd die Installationdateien von opsi-client-agent auf den Rechner und startete dann die Client-Installation. In der neuen service_setup.cmd findet sich nur noch dieser "Einzeiler":

Code: Alles auswählen

call %~dp0\oca-installation-helper.exe
Die CMD-Datei öffnet einfach nur eine exe. Ähnliches gilt für die silent_setup.cmd.

Mit einer exe haben wir bisher noch gar nicht gearbeitet, wenn ich mich richtig erinnere. Auch eine erneute Eingabe des Adminzugangs war mit der bisherigen automatischen Installation des Agents auf den Clients nicht erforderlich.

Im Handbuch und im Getting Started Guide sind zu dieser Thematik leider auch relativ wenig Informationen hinterlegt.
Wenn ich eine Ankündigung zu einem Client Agent Update verpasst habe bitte ich dies zu entschuldigen und mir selbige bitte in diesem Thread zu verlinken.

Dieses Problem stört uns erheblich bei der Arbeit, weshalb wir für jegliche Hilfe dankbar wären.

Re: Neuer OPSI-Client-Agent verhindert automatische Einrichtung von per opsi-bootcd installierten PCs

Verfasst: 14 Dez 2021, 14:57
von j.schneider
Hallo,

mit dem neuen opsi-client-agent 4.2 hat sich der Installationsmechanismus tatsächlich stark geändert.
Wir überarbeiten aktuell noch die Dokumentation.
Hier schon mal die wichtigsten Infos:

Der opsi-client-agent kann in vielen unterschiedlichen Modi installiert werden:
  • Im Rahmen einer Betriebssysteminstallation
  • Manuell aus einem (Depot-)Verzeichnis (Start von ca-installation-helper.exe / service_setup.cmd / silent_setup.cmd)
  • Per Push vom Server aus (opsi-deploy-client-agent)
  • Über den neuen Installer (opsi-client-agent-installer.exe)
  • Über das neue MSI-Paket (opsi-client-agent.msi)
  • Im opsi-Service-Kontext (opsi-client-agent aktualisiert sich selbst)
Außer beim Upgrade im opsi-Service-Kontext kommt hierbei immer die neue oca-installation-helper.exe zum Einsatz.
Diese erfüllt im wesentlichen die folgenden Zwecke:
  • Die Installationsdateien werden, wenn notwendig, in ein lokales Temp-Verzeichnis kopiert (z.B. Aufruf per UNC-Pfad).
  • Es wird ein Dialog-Fenster angezeigt, in dem Parameter zur Installations-Steuerung eingegeben werden können.
  • Der Client wird am opsi-Service erzeugt, falls er noch nicht existiert.
  • opsi-script wird gestartet und führt die eigentliche Installation durch.
Die Installation erfolgt in jedem Fall mit einer funktionierenden Service-Verbindung.
Das heißt, dass, unabhängig vom Installations-Modus, auch immer die Product-Properties vom Server verwendet werden.

Die oca-installation-helper.exe kennt die folgenden Parameter (--help):

Code: Alles auswählen

usage: oca-installation-helper.exe [-h] [--version] [--log-file LOG_FILE]
                                   [--log-level {none,debug,info,warning,error,critical}]
                                   [--service-address SERVICE_ADDRESS]
                                   [--service-username SERVICE_USERNAME]
                                   [--service-password SERVICE_PASSWORD]
                                   [--client-id CLIENT_ID] [--non-interactive]
                                   [--no-gui] [--gui]
                                   [--encode-password PASSWORD]

optional arguments:
  -h, --help            show this help message and exit
  --version             show program's version number and exit
  --log-file LOG_FILE
  --log-level {none,debug,info,warning,error,critical}
  --service-address SERVICE_ADDRESS
                        Service address to use.
  --service-username SERVICE_USERNAME
                        Username to use for service connection.
  --service-password SERVICE_PASSWORD
                        Password to use for service connection.
  --client-id CLIENT_ID
                        Client id to use.
  --non-interactive     Do not ask questions.
  --no-gui              Do not use gui.
  --gui                 Use gui.
  --encode-password PASSWORD
                        Encode PASSWORD.
Mittels dieser Parameter kann die Installation auch automatisiert werden.
Z.B.:

Code: Alles auswählen

oca-installation-helper.exe --service-address https://10.1.2.3:4447 --service-username adminuser --service-password secret --non-interactive
Auch die opsi-client-agent-installer.exe nimmt die gleichen Parameter entgegen.
Der Installer kann von einem opsi 4.2 Server ohne Authentifizierung über die folgende Adresse heruntergeladen werden:

https://<opsi-server>:4447/public/opsi-client-agent/opsi-client-agent-installer.exe

Das ist bei einer manuellen Installation in der Regel einfacher als auf den Depot-Share zuzugreifen.

Bei Verwendung des MSI-Pakets können die Parameter über das Property "INSTALL_PARAMS" übergeben werden.
Z.B.:

Code: Alles auswählen

msiexec /i opsi-client-agent.msi INSTALL_PARAMS="--non-interactive --service-address=https://opsiserver.domain.tld:4447 --service-username=msi --service-password=secret"
Das "service-password" kann auch verschlüsselt verwendet werden.
Z.B.:

Code: Alles auswählen

oca-installation-helper.exe --service-password {crypt}w5TDjcOQw5PDjsOr
Die Verschlüsselung erfolgt dabei über:

Code: Alles auswählen

oca-installation-helper.exe --encode-password <Klartext-Passwort>
Beim Start wertet die oca-installation-helper.exe zusätzlich folgende Konfigurations-Dateien mit absteigender Priorität aus um die Parameter zu befüllen:
  • .\custom\install.conf
  • .\install.conf
  • .\files\opsi\cfg\config.ini (nicht verwenden, wird bald entfernt)
  • %PROGRAMFILES%\opsi.org\opsi-client-agent\opsiclientd\opsiclientd.conf
Kommandozeilen-Parameter haben immer Vorrang.

Sollte keine opsi-Service-URL angegeben werden, wird versucht diese über Zeroconf zu ermitteln.

Hier noch ein Beispiel für eine install.conf zur Automatisierung der Installation:

Code: Alles auswählen

client_id =
service_address = opsiserver.domain.tld
service_username = adminuser
service_password = {crypt}w5TDjcOQw5PDjsOr
interactive = false
Standardmäßig erstellt die oca-installation-helper.exe immer eine Log-Datei (oca-installation-helper.log) im Temp-Verzeichnis des Benutzers.

Die Dateien service_setup.cmd / silent_setup.cmd dienen nur noch zur Abwärtskompatibilität.

Ich hoffe, ich konnte die wichtigsten Dinge klären.
Weitere Fragen gerne hier.

Grüße
Jan Schneider

Re: Neuer OPSI-Client-Agent verhindert automatische Einrichtung von per opsi-bootcd installierten PCs

Verfasst: 15 Dez 2021, 13:54
von CSI
Hallo,

gute und schlechte Neuigkeiten:
Der opsi-client-agent wird halb-erfolgreich installiert. (vgl. Anhang)
Leider scheint der opsiclientd Dienst nicht richtig installiert zu werden, was wiederum dazu führt, dass der Client Agent nicht startet. (vgl. Anhang)

Dies passiert nur bei der Installation zusammen mit dem Betriebssystem (dieses Verfahren benutzen wir am häufigsten). Wenn wir den Client-Agent manuell installieren, funktioniert der opsiclientd Dienst korrekt.

Folgender Logeintrag ist uns bei der Installation des Client-Agents zusammen mit dem Betriebssystem ins Auge gefallen; da wir aber nicht wissen wie der opsiclientd arbeitet können wir leider keinen Schluss daraus ziehen:

Code: Alles auswählen

[5] [2021-12-15 10:00:16.289] [opsi-client-agent] ShellCall Executing: "C:\Windows\system32\\cmd.exe" /C ""C:\Program Files (x86)\opsi.org\opsi-client-agent\opsiclientd_bin\opsiclientd.exe" setup --client-id "notebook.our-domain.de" --service-address "https://localhost:4441/rpc" --service-username "notebook.our-domain.de" --service-password "***(confidential)***""
[6] [2021-12-15 10:00:21.533] [opsi-client-agent] ExitCode 0
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] output:
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] --------------
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [5] [2021-12-15 10:00:17.310] [ ] Running opsiclientd setup (setup.py:356)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [5] [2021-12-15 10:00:17.310] [ ] Trying to read config from file: 'C:\Program Files (x86)\opsi.org\opsi-client-agent\opsiclientd\opsiclientd.conf' (Config.py:475)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [4] [2021-12-15 10:00:17.318] [ ] Refusing to set empty value config global.host_id (Config.py:368)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [4] [2021-12-15 10:00:17.319] [ ] Refusing to set empty value config global.opsi_host_key (Config.py:368)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [4] [2021-12-15 10:00:17.319] [ ] Refusing to set empty value config config_service.url (Config.py:368)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [4] [2021-12-15 10:00:17.320] [ ] Refusing to set empty value config depot_server.depot_id (Config.py:368)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [4] [2021-12-15 10:00:17.320] [ ] Refusing to set empty value config depot_server.url (Config.py:368)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [4] [2021-12-15 10:00:17.320] [ ] Refusing to set empty value config depot_server.drive (Config.py:368)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [4] [2021-12-15 10:00:17.321] [ ] Refusing to set empty value config event_default.depot_protocol (Config.py:368)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [4] [2021-12-15 10:00:17.326] [ ] Refusing to set empty value config depot_server.master_depot_id (Config.py:368)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [5] [2021-12-15 10:00:17.326] [ ] Config read (Config.py:501)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [5] [2021-12-15 10:00:17.327] [ ] Connecting to 'https://localhost:4441/rpc' as 'notebook.our-domain.de' (setup.py:261)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] [2] [2021-12-15 10:00:21.391] [ ] HTTPSConnectionPool(host='localhost', port=4441): Max retries exceeded with url: /rpc (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x053382B0>: Failed to establish a new connection: [WinError 10061] Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte')) (__main__.py:43)
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] Traceback (most recent call last):
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] File "urllib3\connection.py", line 170, in _new_conn
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] File "urllib3\util\connection.py", line 96, in create_connection
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] File "urllib3\util\connection.py", line 86, in create_connection
[7] [2021-12-15 10:00:21.533] [opsi-client-agent] ConnectionRefusedError: [WinError 10061] Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte

Re: Neuer OPSI-Client-Agent verhindert automatische Einrichtung von per opsi-bootcd installierten PCs

Verfasst: 15 Dez 2021, 14:18
von wolfbardo
sieht so aus, als haett der Client keine Netzverbindung zum opsi-server und landet daher im Fallback

Connecting to 'https://localhost:4441/rpc' as 'notebook.our-domain.de' (setup.py:261)

der hier nicht funktioniert.

Gruss
Bardo Wolf

Re: Neuer OPSI-Client-Agent verhindert automatische Einrichtung von per opsi-bootcd installierten PCs

Verfasst: 15 Dez 2021, 14:23
von j.schneider
Hallo,

das Problem ist, dass die opsi-Service-URL auf https://localhost:4441/rpc gesetzt ist.
Bei der OS-Installation werden in der Regel noch die Werte aus der opsi-client-agent/files/opsi/cfg/config.ini verwendet.
Da müsste man mal in der bootimage-Log schauen warum dort die falsche Service-URL landet.

Grüße
Jan Schneider

Re: Neuer OPSI-Client-Agent verhindert automatische Einrichtung von per opsi-bootcd installierten PCs

Verfasst: 15 Dez 2021, 15:33
von n.doerrer
Das könnte ein Bug sein, der in Bootimage-Version cd_20211210 gefixt wurde.

Vermutlich lohnt sich ein Versuch mit https://download.uib.de/opsi4.2/boot-cd ... 211214.iso

Re: Neuer OPSI-Client-Agent verhindert automatische Einrichtung von per opsi-bootcd installierten PCs

Verfasst: 16 Dez 2021, 11:00
von CSI
n.doerrer hat geschrieben: 15 Dez 2021, 15:33 Das könnte ein Bug sein, der in Bootimage-Version cd_20211210 gefixt wurde.

Vermutlich lohnt sich ein Versuch mit https://download.uib.de/opsi4.2/boot-cd ... 211214.iso
Hallo,

das war die goldrichtige Lösung.

In diesem Sinne: Frohe Weihnachten an alle bei uib und guten Rutsch!