opsiclientd unter Linux geht regelmäßig down

SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

opsiclientd unter Linux geht regelmäßig down

Beitrag von SirTux »

Hallo,

auf einem System geht der opsiclientd regelmäßig down. Anscheinend immer, wenn die DHCP-Lease-Time abläuft. Nach einem Reboot ist der opsiclientd auch immer down.

Auf dem System (UCC 3) ist KDE Neon installiert, weshalb zunächst nur der opsi-script-starter installiert wurde. Erst danach habe ich die /etc/lasb_release abgeändert, wodurch dann der opsiclientd installiert wurde. Bei allen anderen Systemen habe ich diese Änderung direkt vorgenommen und dort funktioniert der opsiclientd ordnungsgemäß.

Wie kann ich opsi auf dem Client ganz entfernen und noch mal ganz neuinstallieren?

Viele Grüße,
SirTux
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: opsiclientd unter Linux geht regelmäßig down

Beitrag von n.wenselowski »

Hallo SirTux,

du Hacker :D 8-)

Ist der Unterbau bei UCC3 schon mit systemd?
Welches OS hast du ihm vorgegaukelt?

Falls es um eines mit systemd und opsiclientd geht, dann ist die Kiste einfach:
Service stoppen, deaktivieren und gegebenenfalls löschen.
/usr/share/opsi-client-agent & /usr/share/opsiclientd beinhaltet die benötigten Programme, das löschen.
Es gibt noch ein /usr/bin/opsiclientd, welches auf die benötigten Programme linkt.
Und in /var/lib/opsi-client-agent/opsiclientd können sich auch noch einige Daten gesammelt haben.
Außerdem findest du unter /etc/opsi-client-agent die Konfiguration.

Ich hoffe das hilft weiter!

Für eine einfache Neuninstallation würde ich einfach den Agent nochmal auf dem Client deployen ;)


Gruß

Niko

Code: Alles auswählen

import OPSI
SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

Re: opsiclientd unter Linux geht regelmäßig down

Beitrag von SirTux »

Hallo Niko D:

UCC 3 ist ja im wesentlichen ein Ubuntu 16.04 mit Addons für den Betrieb in einer UCS-Domain und verwendet daher auch SystemD. Seitens UCC war daher nichts anzupassen, daher der Identifier nicht geändert wird. Problem war nur KDE Neon, denn dieses ändert diesen, weshalb ich die /etc/lsb_release doch zurückändern mußte. Vielleicht könnte in Zukunft das Script auch DISTRIB_ID=neon akzeptieren ;)

Danke für den Hinweis. Er kommt leider etwas spät, da die Freischaltung am Sonntag ausläuft ;)

Ich habs übrigens zwischenzeitlich schon mal mit dem Uninstall-Script probiert gehabt. Das hatte leider nichts gebracht (d.h. nach der Neuinstallation war das Problem immer noch da).
SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

Re: opsiclientd unter Linux geht regelmäßig down

Beitrag von SirTux »

Ich habs leider noch nicht getestet.

Ich wollte aber mal anmerken, daß es ganz gut wäre, wenn wie unter Windows ein Property Dienste angeben kann, auf die der opsiclientd warten soll, damit sich unter UCC der UCC-Updatedienst und opsi nicht gegenseitig in die Quere kommen.
SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

Re: opsiclientd unter Linux geht regelmäßig down

Beitrag von SirTux »

Ich bin etwas weitergekommen: Nach jedem Logout wurde nach maximal 15 Minuten der opsiclientd beendet. Schuld war wohl SystemD. Seitens KDE neon wurde KillUserProcesses=0 gesetzt und der opsiclientd wurde wohl mit aufgeräumt, was aber ja eigentlich nicht sein sollte.

Ganz erledigt ist das Problem aber immer noch nicht. Heute morgen war der opsiclientd dennoch down.
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: opsiclientd unter Linux geht regelmäßig down

Beitrag von n.wenselowski »

Hi SirTux,
SirTux hat geschrieben:UCC 3 ist ja im wesentlichen ein Ubuntu 16.04 mit Addons für den Betrieb in einer UCS-Domain und verwendet daher auch SystemD. Seitens UCC war daher nichts anzupassen, daher der Identifier nicht geändert wird. Problem war nur KDE Neon, denn dieses ändert diesen, weshalb ich die /etc/lsb_release doch zurückändern mußte. Vielleicht könnte in Zukunft das Script auch DISTRIB_ID=neon akzeptieren ;)
Ich tue mich an der Stelle noch etwas schwer den Support dafür offiziell reinzuschreiben.
Bleiben die Versionsnummern für Neon gleich wie die von Ubuntu?
SirTux hat geschrieben:Ich habs übrigens zwischenzeitlich schon mal mit dem Uninstall-Script probiert gehabt. Das hatte leider nichts gebracht (d.h. nach der Neuinstallation war das Problem immer noch da).
Schreibt der opsiclientd dazu irgendein Log?
Ich kann mir vorstellen, dass das Erneuern der Adresse irgendeinen Seiteneffekt beim opsiclientd hat.
Mein Ansatz wäre hier die Unit so anzupassen, dass der opsiclientd immer oben bleibt. (Restart=always)
SirTux hat geschrieben:Ich wollte aber mal anmerken, daß es ganz gut wäre, wenn wie unter Windows ein Property Dienste angeben kann, auf die der opsiclientd warten soll, damit sich unter UCC der UCC-Updatedienst und opsi nicht gegenseitig in die Quere kommen.
Ein entsprechendes Property will ich eigentlich nicht einführen, weil man unter systemd
  1. die Default-Unit mit einer Custom-Unit ersetzen kann
  2. weiche Abhängigkeiten definiert werden können
Besonders den letzten Punkt will ich angehen, weil ich schon von Problemen in schlecht aufgesetzten Umgebungen (bspw. nicht erreichbare mounts) zu Problemen mit dem opsiclientd gibt, weil seine Abhängigkeiten ihn am Starten hindern.
SirTux hat geschrieben:Ich bin etwas weitergekommen: Nach jedem Logout wurde nach maximal 15 Minuten der opsiclientd beendet. Schuld war wohl SystemD. Seitens KDE neon wurde KillUserProcesses=0 gesetzt und der opsiclientd wurde wohl mit aufgeräumt, was aber ja eigentlich nicht sein sollte.
15 Minuten erscheint mir hier seeeehr lange zu sein. Der Timeout dürfte nicht ganz so lange sein.
Weißt du noch den Zeitpuntk des Shutdowns? Siehst du im Log des opsiclientd von dieser Zeit, dass er was zum Shutdown loggt?
Vermutlich musst du hier den Loglevel hochdrehen, meine Empfehlung wäre auf 7 zum Debug.


Wirf die kommenden Tage mal einen Blick nach experimental, ich werde versuchen bald einen neuen opsi-linux-client-agent mit neuem Service-File bereit zu stellen.

Viele Grüße

Niko

Code: Alles auswählen

import OPSI
SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

Re: opsiclientd unter Linux geht regelmäßig down

Beitrag von SirTux »

n.wenselowski hat geschrieben:Hi SirTux,
Ich tue mich an der Stelle noch etwas schwer den Support dafür offiziell reinzuschreiben.
Bleiben die Versionsnummern für Neon gleich wie die von Ubuntu?
Ja, es gilt weiterhin DISTRIB_RELEASE=16.04
n.wenselowski hat geschrieben: Schreibt der opsiclientd dazu irgendein Log?
Ich kann mir vorstellen, dass das Erneuern der Adresse irgendeinen Seiteneffekt beim opsiclientd hat.
Mein Ansatz wäre hier die Unit so anzupassen, dass der opsiclientd immer oben bleibt. (Restart=always)
Ich hab leider keine Logs mehr. Restart=always kann ich mal ausprobieren, wenn das Problem wieder auftritt
n.wenselowski hat geschrieben: Ein entsprechendes Property will ich eigentlich nicht einführen, weil man unter systemd
  1. die Default-Unit mit einer Custom-Unit ersetzen kann
  2. weiche Abhängigkeiten definiert werden können
Besonders den letzten Punkt will ich angehen, weil ich schon von Problemen in schlecht aufgesetzten Umgebungen (bspw. nicht erreichbare mounts) zu Problemen mit dem opsiclientd gibt, weil seine Abhängigkeiten ihn am Starten hindern.
Ok dann werd ich mich mal schlau machen, wie ich eine solche Abhängigkeit definieren kann.
n.wenselowski hat geschrieben:
SirTux hat geschrieben:Ich bin etwas weitergekommen: Nach jedem Logout wurde nach maximal 15 Minuten der opsiclientd beendet. Schuld war wohl SystemD. Seitens KDE neon wurde KillUserProcesses=0 gesetzt und der opsiclientd wurde wohl mit aufgeräumt, was aber ja eigentlich nicht sein sollte.
15 Minuten erscheint mir hier seeeehr lange zu sein. Der Timeout dürfte nicht ganz so lange sein.
Weißt du noch den Zeitpuntk des Shutdowns? Siehst du im Log des opsiclientd von dieser Zeit, dass er was zum Shutdown loggt?
Vermutlich musst du hier den Loglevel hochdrehen, meine Empfehlung wäre auf 7 zum Debug.
15 Minuten sind auch eine konservativ geschätzte absolute Obergrenze. Die Zeit schien jedenfalls zu variieren. Und seit dem letzten Status-Update hat es auch kein Shutdown des opsiclientd mehr gegeben. Ich hab ihn seitdem nur einmal wegen der neuen Version in Testing neugestartet.

Die Logs sahen teilweise nach einem normalen Shutdown aus. Manchmal gabs aber aber auch einen Traceback, der nach einem Shutdownversuch aussah, bei dem ein Shutdown schon zuvor erfolgt war. Leider habe ich die Logs nicht mehr.
n.wenselowski hat geschrieben: Wirf die kommenden Tage mal einen Blick nach experimental, ich werde versuchen bald einen neuen opsi-linux-client-agent mit neuem Service-File bereit zu stellen.
Das werd ich machen. Mal sehen wie er sich mit KillUserProcesses=1 schlägt und was er mit Loglevel 7 ausgibt.
SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

Re: opsiclientd unter Linux geht regelmäßig down

Beitrag von SirTux »

Nach mehreren notwendigen Reboots habe ich das Problem mal wieder gehabt:

Code: Alles auswählen

Mai 20 15:22:20 opsi-client opsiclientd[12478]: ERROR:tornado.application:Exception in callback <functools.partial object at 0x7fef8460a7e0>
Mai 20 15:22:20 opsi-client opsiclientd[12478]: Traceback (most recent call last):
Mai 20 15:22:20 opsi-client opsiclientd[12478]:   File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 600, in _run_callback
Mai 20 15:22:20 opsi-client opsiclientd[12478]:   File "/usr/local/lib/python2.7/dist-packages/tornado/stack_context.py", line 275, in null_wrapper
Mai 20 15:22:20 opsi-client opsiclientd[12478]:   File "/usr/local/lib/python2.7/dist-packages/tornado/platform/twisted.py", line 292, in stop
Mai 20 15:22:20 opsi-client opsiclientd[12478]:   File "/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 581, in stop
Mai 20 15:22:20 opsi-client opsiclientd[12478]:     "Can't stop reactor that isn't running.")
Mai 20 15:22:20 opsi-client opsiclientd[12478]: ReactorNotRunning: Can't stop reactor that isn't running.
Mai 20 15:22:20 opsi-client opsiclientd[12478]: [5] [May 20 15:22:20] [ control server                ] Control server exiting   (ControlServer.py|408)
Mai 20 15:22:20 opsi-client systemd[1]: Stopped Opsi Linux Client Agent.
SirTux
Beiträge: 558
Registriert: 05 Feb 2011, 18:37

Re: opsiclientd unter Linux geht regelmäßig down

Beitrag von SirTux »

Hier mit Log-Level 7:

Code: Alles auswählen

[7] [May 20 16:21:39] [ opsiclientd                   ] Received signal 15. Stopping opsiclientd.   (Posix.py|121)
[5] [May 20 16:21:39] [ opsiclientd                   ] Stopping <OpsiclientdPosix(Thread-1, started 139945859188480)>...   (Opsiclientd.py|429)
[5] [May 20 16:21:39] [ opsiclientd                   ] opsiclientd is going down   (Opsiclientd.py|387)
[6] [May 20 16:21:39] [ opsiclientd                   ] Stopping timeline   (Opsiclientd.py|395)
[6] [May 20 16:21:39] [ opsiclientd                   ] Stopping event generator <CustomEventGenerator on_demand>   (Opsiclientd.py|325)
[7] [May 20 16:21:39] [ event generator on_demand     ] Trying to fire event None   (Events.py|297)
[7] [May 20 16:21:39] [ event generator on_demand     ] <CustomEventGenerator on_demand> is stopped, not firing event.   (Events.py|299)
[6] [May 20 16:21:39] [ event generator on_demand     ] Event generator '<CustomEventGenerator on_demand>' now deactivated after 1 event occurrences   (Events.py|360)
[6] [May 20 16:21:39] [ event generator on_demand     ] Event generator '<CustomEventGenerator on_demand>' exiting    (Events.py|370)
[6] [May 20 16:21:39] [ opsiclientd                   ] Stopping event generator <CustomEventGenerator silent_install>   (Opsiclientd.py|325)
[7] [May 20 16:21:39] [ event generator silent_install] Trying to fire event None   (Events.py|297)
[7] [May 20 16:21:39] [ event generator silent_install] <CustomEventGenerator silent_install> is stopped, not firing event.   (Events.py|299)
[6] [May 20 16:21:39] [ event generator silent_install] Event generator '<CustomEventGenerator silent_install>' now deactivated after 1 event occurrences   (Events.py|360)
[6] [May 20 16:21:39] [ event generator silent_install] Event generator '<CustomEventGenerator silent_install>' exiting    (Events.py|370)
[6] [May 20 16:21:39] [ opsiclientd                   ] Stopping event generator <DaemonStartupEventGenerator opsiclientd_start>   (Opsiclientd.py|325)
[7] [May 20 16:21:39] [ event generator opsiclientd_start] Trying to fire event None   (Events.py|297)
[7] [May 20 16:21:39] [ event generator opsiclientd_start] <DaemonStartupEventGenerator opsiclientd_start> is stopped, not firing event.   (Events.py|299)
[6] [May 20 16:21:39] [ event generator opsiclientd_start] Event generator '<DaemonStartupEventGenerator opsiclientd_start>' now deactivated after 1 event occurrences   (Events.py|360)
[6] [May 20 16:21:39] [ event generator opsiclientd_start] Event generator '<DaemonStartupEventGenerator opsiclientd_start>' exiting    (Events.py|370)
[6] [May 20 16:21:39] [ opsiclientd                   ] Stopping event generator <SyncCompletedEventGenerator sync_completed>   (Opsiclientd.py|325)
[7] [May 20 16:21:39] [ event generator sync_completed] Trying to fire event None   (Events.py|297)
[7] [May 20 16:21:39] [ event generator sync_completed] <SyncCompletedEventGenerator sync_completed> is stopped, not firing event.   (Events.py|299)
[6] [May 20 16:21:39] [ event generator sync_completed] Event generator '<SyncCompletedEventGenerator sync_completed>' now deactivated after 1 event occurrences   (Events.py|360)
[6] [May 20 16:21:39] [ event generator sync_completed] Event generator '<SyncCompletedEventGenerator sync_completed>' exiting    (Events.py|370)
[6] [May 20 16:21:39] [ opsiclientd                   ] Stopping event generator <SwOnDemandEventGenerator software_on_demand>   (Opsiclientd.py|325)
[7] [May 20 16:21:39] [ event generator software_on_demand] Trying to fire event None   (Events.py|297)
[7] [May 20 16:21:39] [ event generator software_on_demand] <SwOnDemandEventGenerator software_on_demand> is stopped, not firing event.   (Events.py|299)
[6] [May 20 16:21:39] [ event generator software_on_demand] Event generator '<SwOnDemandEventGenerator software_on_demand>' now deactivated after 1 event occurrences   (Events.py|360)
[6] [May 20 16:21:39] [ event generator software_on_demand] Event generator '<SwOnDemandEventGenerator software_on_demand>' exiting    (Events.py|370)
[6] [May 20 16:21:39] [ opsiclientd                   ] Stopping event generator <PanicEventGenerator panic>   (Opsiclientd.py|325)
[7] [May 20 16:21:39] [ event generator panic         ] Trying to fire event None   (Events.py|297)
[7] [May 20 16:21:39] [ event generator panic         ] <PanicEventGenerator panic> is stopped, not firing event.   (Events.py|299)
[6] [May 20 16:21:39] [ event generator panic         ] Event generator '<PanicEventGenerator panic>' now deactivated after 1 event occurrences   (Events.py|360)
[6] [May 20 16:21:39] [ event generator panic         ] Event generator '<PanicEventGenerator panic>' exiting    (Events.py|370)
[6] [May 20 16:21:39] [ opsiclientd                   ] Stopping cache service   (Opsiclientd.py|300)
[6] [May 20 16:21:39] [ opsiclientd                   ] Stopping control server   (Opsiclientd.py|279)
[6] [May 20 16:21:41] [ opsiclientd                   ] Stopping control pipe   (Opsiclientd.py|247)
[7] [May 20 16:21:41] [ control pipe                  ] Stopping <PosixControlPipe(Thread-2, started daemon 139945850533632)>   (ControlPipe.py|100)
[6] [May 20 16:21:43] [ opsiclientd                   ] Stopping reactor   (Opsiclientd.py|404)
[7] [May 20 16:21:43] [ control server                ] Reactor run ended.   (ControlServer.py|395)
[5] [May 20 16:21:43] [ control server                ] Control server exiting   (ControlServer.py|408)
[6] [May 20 16:21:43] [ opsiclientd                   ] Stopping tornado IOLoop   (Opsiclientd.py|420)
[6] [May 20 16:21:43] [ opsiclientd                   ] Exiting opsiclientd thread   (Opsiclientd.py|426)
[7] [May 20 16:21:44] [ opsiclientd                   ] Stopping opsiclientd...   (Posix.py|105)
[7] [May 20 16:21:44] [ opsiclientd                   ] Stopped.   (Posix.py|107)
EDIT: Log-Level 9 verrät leider auch nicht, woher Signal 15 kommt.
Benutzeravatar
n.wenselowski
Ex-uib-Team
Beiträge: 3194
Registriert: 04 Apr 2013, 12:15

Re: opsiclientd unter Linux geht regelmäßig down

Beitrag von n.wenselowski »

Hi,

in opsi-linux-client-agent 4.0.7.7 gibt es eine neues .service-File, welches automatischen Restart triggern sollte.
Kannst du es mal damit probieren, ob dieses bei deinem Problem zumindest wieder den opsiclientd ordentlich hoch bringt?


Gruß

Niko

Code: Alles auswählen

import OPSI
Antworten