Client-Connect zu Server nach Client-Neustart klappt nicht mehr

Antworten
obstesser
Beiträge: 31
Registriert: 23 Feb 2017, 11:39

Client-Connect zu Server nach Client-Neustart klappt nicht mehr

Beitrag von obstesser »

Was sollte passieren?
Nach Neustart des Clients auf dem Client: Verbindung des OPSI-Client-Agent zum OPSI-Server, Überprüfung auf Aktionen und ggf. Ausführung, falls Aktionen gesetzt.
Was ist passiert?
Nach Neustart des Clients kann sich der Client-Agent nicht mit dem Server verbinden und läuft in den Timeout (30 Sekunden sind gesetzt).
Sind im Log Fehlermeldungen zu sehen?
Das Verhalten ist im Log des opsiclientd auf den Clients zu erkennen. Es sind mehrere Punkte im Log enthalten, die evtl. interessant sein könnten. Leider ist der Log zu lang, um ihn hier komplett anzufügen. Auf Wunsch sende ich den Log gerne per Mail zu. Hier sind die letzten Zeilen des Logs:

Code: Alles auswählen

[6] [2021-02-17 14:55:26.342] [control server                          ] Client connection lost: <NotificationServerProtocol #1 on 44000> ([Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionLost'>: Connection to the other side was lost in a non-clean fashion.
]), 1 client(s) connected   (Message.py:509)
[6] [2021-02-17 14:55:26.343] [control server                          ] Client connection lost: <NotificationServerProtocol #0 on 44000> ([Failure instance: Traceback (failure with no frames): <class 'twisted.internet.error.ConnectionLost'>: Connection to the other side was lost in a non-clean fashion.
]), 0 client(s) connected   (Message.py:509)
[6] [2021-02-17 14:55:27.851] [control server                          ] Notification server stopped   (Message.py:710)
[3] [2021-02-17 14:55:27.852] [event processing gui_startup{installation_pending}] Failed to process event <opsiclientd.Events.Windows.GUIStartup.GUIStartupEvent object at 0x049F1BF0>: Failed to connect to config service 'https://opsiserver.domain.tl:4447/rpc': timed out after 30 seconds   (EventProcessing.py:1544)
Traceback (most recent call last):
  File "opsiclientd\EventProcessing.py", line 1476, in run
  File "opsiclientd\OpsiService.py", line 197, in connectConfigService
  File "opsiclientd\EventProcessing.py", line 161, in connectionTimedOut
  File "opsiclientd\OpsiService.py", line 114, in connectionTimedOut
Exception: Failed to connect to config service 'https://opsiserver.domain.tl:4447/rpc': timed out after 30 seconds
[5] [2021-02-17 14:55:27.855] [event processing gui_startup{installation_pending}] Block login now set to 'False'   (Opsiclientd.py:207)
[5] [2021-02-17 14:55:27.855] [event processing gui_startup{installation_pending}] ============= EventProcessingThread for event 'gui_startup{installation_pending}' ended =============   (EventProcessing.py:1556)
[5] [2021-02-17 14:55:27.856] [event generator gui_startup{installation_pending}] Done processing event <opsiclientd.Events.Windows.GUIStartup.GUIStartupEvent object at 0x049F1BF0>   (Opsiclientd.py:552)
[5] [2021-02-17 15:01:50.525] [control pipe                            ] Client connected to \\.\pipe\opsiclientd   (ControlPipe.py:483)
[6] [2021-02-17 15:01:50.526] [control pipe                            ] Received request '{"id": 1, "method": "isRebootRequested", "params": []}' from <NTPipeClientConnection #61>   (ControlPipe.py:89)
[5] [2021-02-17 15:01:50.526] [control pipe                            ] -----> Executing: isRebootRequested()   (JsonRpc.py:131)
[6] [2021-02-17 15:01:50.527] [control pipe                            ] Got result for isRebootRequested   (JsonRpc.py:139)
[6] [2021-02-17 15:01:50.527] [control pipe                            ] Sending response '{"id": 1, "error": null, "result": false}' to <NTPipeClientConnection #61>   (ControlPipe.py:91)
[5] [2021-02-17 15:01:50.827] [control pipe                            ] Client connected to \\.\pipe\opsiclientd   (ControlPipe.py:483)
[6] [2021-02-17 15:01:50.827] [control pipe                            ] Received request '{"id": 1, "method": "isShutdownRequested", "params": []}' from <NTPipeClientConnection #62>   (ControlPipe.py:89)
[5] [2021-02-17 15:01:50.828] [control pipe                            ] -----> Executing: isShutdownRequested()   (JsonRpc.py:131)
[6] [2021-02-17 15:01:50.828] [control pipe                            ] Got result for isShutdownRequested   (JsonRpc.py:139)
[6] [2021-02-17 15:01:50.828] [control pipe                            ] Sending response '{"id": 1, "error": null, "result": false}' to <NTPipeClientConnection #62>   (ControlPipe.py:91)
[5] [2021-02-17 15:01:51.127] [control pipe                            ] Client connected to \\.\pipe\opsiclientd   (ControlPipe.py:483)
[6] [2021-02-17 15:01:51.129] [control pipe                            ] Received request '{"id": 1, "method": "getBlockLogin", "params": []}' from <NTPipeClientConnection #63>   (ControlPipe.py:89)
[5] [2021-02-17 15:01:51.131] [control pipe                            ] -----> Executing: getBlockLogin()   (JsonRpc.py:131)
[6] [2021-02-17 15:01:51.132] [control pipe                            ] Got result for getBlockLogin   (JsonRpc.py:139)
[6] [2021-02-17 15:01:51.132] [control pipe                            ] Sending response '{"id": 1, "error": null, "result": false}' to <NTPipeClientConnection #63>   (ControlPipe.py:91)
[6] [2021-02-17 15:01:51.328] [control pipe                            ] Client <NTPipeClientConnection #61> disconnected   (ControlPipe.py:247)
[6] [2021-02-17 15:01:51.628] [control pipe                            ] Client <NTPipeClientConnection #62> disconnected   (ControlPipe.py:247)
[6] [2021-02-17 15:01:51.929] [control pipe                            ] Client <NTPipeClientConnection #63> disconnected   (ControlPipe.py:247)
Mit welchen Schritten kann das Problem nachgestellt werden?
Neustart eines Clients. Es tritt nicht bei jedem Mal auf. Jedoch recht häufig. Weiterhin wurde vereinzelt berichtet, dass die Startup-GUI mit dem Bild "Verbunden mit Config-Server 'https://opsi-server.domain.tl:4447/rpc'" hängen geblieben ist. Darüber gibt es bisher keine Logs.
Bei welche Versionen der beteiligten Komponenten tritt das Problem auf?
Es ist OPSI 4.1 im Einsatz, alles letzte Versionen aus stable. Opsi-Client Agent ist der aktuelle 4.1.1.29 Client-OS ist Windows 10 1909.
Ergänzend ist festzustellen, dass ein Ausführen "on-demand" immer gestartet wird und die Aktion dann auch durchgeführt wird. Getestet wurde auch eine Neuinstallation, wo es immer wieder zwischen den Neustarts bei der Installation der Localboot-Pakete zu o.g. Effekt kam und man immer wieder händisch ein "on-demand"-Event abfeuern musste, damit die Installationen dann weiter laufen.

Sollten Logs oder weitere Infos benötigt werden, stelle ich diese gerne zur Verfügung.

LG, obstesser
obstesser
Beiträge: 31
Registriert: 23 Feb 2017, 11:39

Re: Client-Connect zu Server nach Client-Neustart klappt nicht mehr

Beitrag von obstesser »

Hi,

vorsichtige Rückmeldung:
Mit dem neuen opsi-client-agent 4.1.1.30-1 aus "experimental" (mit opsiclientd 4.2.0.68) sind die beschriebenen Probleme bisher nicht mehr aufgetreten. Direkt vor der Installation der neuen Version konnte ich das Problem an einigen Clients beobachten, danach bis jetzt nicht mehr.

Nur als Rückinfo für uib und für evtl. Betroffene.

Konnte jemand (User oder uib) die Probleme nachvollziehen? Im neuen opsi-client-agent wurde anscheinend eine ganze Menge "angefasst", u.a. der Login-Blocker, der clientd, Python-Libraries(?)...

LG und Danke für das Release!
obstesser
Beiträge: 31
Registriert: 23 Feb 2017, 11:39

Re: Client-Connect zu Server nach Client-Neustart klappt nicht mehr

Beitrag von obstesser »

Hallo,

ich muss leider wieder etwas zurückrudern. Ich habe es nun mit einer größeren Anzahl Clients getestet. Das Hängenbleiben im Startup-Bild ist leider an einigen Clients (ca. 20%-30%, jedoch nicht immer die gleichen) aufgetreten. Trotzdem habe ich die Rückmeldung von Anwendern, dass es seit der Installation des opsi-client-agent 4.1.1.30-1 aus "experimental" nicht mehr so häufig zum Hängenbleiben nach dem Start eines Clients kommt.

Wenn es auftritt, dann sieht es meist so aus: An der Stelle, wo normalerweise der Timer für den Timeout läuft, steht die Anzeige bei "Timeout: 30s", ohne dass weiter heruntergezählt wird. Netzwerkerreichbarkeit (zugewiesene IP durch DHCP und Namensauflösung/Erreichbarkeit Client <-> Server über DNS) ist gegeben. Der Dienst ist in diesem Fall nicht über ein On-Demand-Ereignis vom Server/aus dem Configed erreichbar bzw. lässt sich nicht ansprechen. Damit ist gemeint: Ich fordere ein On-Demand-Event über den Configed für diesen Client an und es passiert nichts. Es gibt keine Rückmeldung, dass der Client nicht erreichbar ist, da er ja netzwerkmäßig erreichbar ist. Es wird jedoch auch kein neues Event am Client ausgelöst, da dort bereits das Startup-Event läuft, welches in diesem Fall hängen geblieben ist.

Wenn der betreffende PC neu gestartet wird, läuft es beim nächsten Mal fast immer (Connect des Clients zum Server, Prüfen auf Aktionen, ggf. Ausführen der Aktionen), was jedoch nicht heißt, jedoch kann es bei jedem der nächsten Starts erneut auftreten. Das lässt sich nicht auf einzelne Clients festlegen, sondern scheint eher zufällig über alle verteilt aufzutreten. Für mich sieht das nach irgend einem Problem auf der Clientseite aus, denn normalerweise sollte der Timer doch in jedem Fall herunterzählen, selbst wenn der Server überhaupt nicht antwortet.

LG, obstesser
Benutzeravatar
wolfbardo
uib-Team
Beiträge: 1354
Registriert: 01 Jul 2008, 12:10

Re: Client-Connect zu Server nach Client-Neustart klappt nicht mehr

Beitrag von wolfbardo »

Eventuell ein Lastproblem.

Reagiert der opsi-server zu diesen Zeiten?

Wie gross ist die Umgebung / Was sagt die Infopage des Servers?

Gruss
Bardo Wolf


OPSICONF 2024
https://opsi.org/en/opsiconf/

opsi-Basisworkshops:

22. - 25. 04. 2024


opsi support - uib gmbh
For productive opsi installations we recommend maintainance + support contracts which are the base of opsi development.

http://www.uib.de
obstesser
Beiträge: 31
Registriert: 23 Feb 2017, 11:39

Re: Client-Connect zu Server nach Client-Neustart klappt nicht mehr

Beitrag von obstesser »

Hallo,

die Umgebung umfasst gut 100 Clients. Diese werden jedoch nicht alle zur gleichen Zeit gestartet. Ich habe gestern eine Paketinstallation durchgeführt und dazu 30 Clients per WOL mit Verzögerung zwischen den einzelnen Clients von 5s gestartet. Die anderen Clients später in kleineren Gruppen zeitlich versetzt (zwischen jew. 3 und jew. 15). Der Server ist ein einzelner Opsi-Server inkl. Depot. Es gibt keine anderen Depotserver.

Wenn mit der Frage nach der Erreichbarkeit des Servers gemeint ist, ob der die ganze Zeit im Netz erreichbar war: Ja, da ja auch zeitgleich andere Clients verbunden waren und Installationen durchgeführt haben.

Die Infopage (für gestern) sagt:

Bild

LG, obstesser
Antworten