Hallo,
ich stehe da vor einem kleinen Problem :
das Update Plugin läuft erst mal nur wenn die Python Runtime im Agenten enthalten ist,
RobotMK läuft nicht mit der Python Runtime, sondern nur mit einer kompletten Python Installation…
Was muss ich den in der kompletten Python Installation an Modulen für den Updater installieren, und was muss eventuell sonst noch angepasst werden ?
CheckMK 2.1.0p32
RobotMK 1.4.2
auf der betroffenen Maschine Python 3.11.4
den Interpreter vom CMK-Agenten würde ich nicht mit libs aufbohren. Denn Du müsstest dazu nicht nur die Packages für Robotmk reinbasteln, sondern auch die für Deine RobotFramewor-Tests.
Besser per Regel dafür sorgen, dass der Interpreter auf diesem Host einfach nicht verwendet wird:
Für alle Plugins, die auf den CMK-Interpreter setzen, ist das kein Problem, weil die auch ohne weiteres mit “Deiner” Python-Installation laufen sollten.
Hallo Simon,
das war die Idee, die installierte Python Umgebung für den Updater zu nutzen.
Dazu fehlen aber noch Module, die request z.B.
Soweit ich Python bis jetzt verstanden habe bräuchte ich sowas wie eine requirements.txt für den Updater
Reicht es die Imports aus der “cmk_update_agent.checkmk” aufzulösen und zu installieren ?
installier diese Module zunächst einfach über pip nach, um zu sehen ob es geht.
(Wenn Du neben robot framework auch noch selenium und andere libs installiert hat, ist die Wahrscheinlichkeit sehr groß, dass die vom Updater benötigten Module ohnehin schon huckepack mitgekommen sind.
Du könntest diese Module dann zusammen mit den von Robotmk benötigten in ein eigenes requirements.txt file aufnehmen. Das macht die INstallation ein wenig handlicher.
Nachtrag:
Registrierung mit dem integrierten Python geht, danach Update auf die Einstellungen für das auf dem Rechner isntallierte Python auch, ob die automatischen Updates dann auch laufen muss ich mal noch schauen…
ich gehe davon aus, dass das nun ebenfalls nun funktionieren muss.
Ich habe das eben mit @PhilippL debugged und gesehen, dass ich hier selbst immer falsch gewickelt war: das Updater-Plugin (py) wird immer über den Agenten-Internen Interpreter aufgerufen, das ist im Binary check_mk_agent.exe so hinterlegt.
Mit dieser Einstellung
regelst Du ausschließlich, welcher Interpreter für Plugins verwendet wird.
warum backst Du 2x?
Es müsste auch so funktionieren, dass Du die Regel zum Ignorieren des Python-Interpreters gleich im ersten Schritt konfigurierst. Der updater nimmt ja immer den CMK-internen Interpreter, da über die .exe gestartet.
vg
Simon
Hi Simon,
ich hatte dann auch “Installation” auf never gesetzt, und dann kommt die Meldung das die Runtime benötigt wird.
Ich habe jetzt nicht alle Kombinationen von “Installation” und “Usage” ausprobiert, vielleicht geht das einfacher, mit zweimal backen hat es bei mir funktioniert