Script auf OPSI-Server während Packetinstallation
Script auf OPSI-Server während Packetinstallation
Hallo,
ich möchte ein paar Parameter aus einer SQL Datenbank auslesen und diese während einer Packetinstallation benutzen.
Kann man Scripte auf dem OPSI Server (nicht auf dem Zielhost) innerhalb einer Packetinstallation aufrufen?
Vielen Dank und viele Grüße
Markus
ich möchte ein paar Parameter aus einer SQL Datenbank auslesen und diese während einer Packetinstallation benutzen.
Kann man Scripte auf dem OPSI Server (nicht auf dem Zielhost) innerhalb einer Packetinstallation aufrufen?
Vielen Dank und viele Grüße
Markus
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: Script auf OPSI-Server während Packetinstallation
Hi Markus,
du kannst sowas über eine Erweiterung realisieren.
Darin stehen die alle Möglichkeiten von Python zur Verfügung.
Viele Grüße
Niko
du kannst sowas über eine Erweiterung realisieren.
Darin stehen die alle Möglichkeiten von Python zur Verfügung.
Viele Grüße
Niko
Code: Alles auswählen
import OPSI
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: Script auf OPSI-Server während Packetinstallation
Hi,
da war ich zu voreilig. Eigentlich gibt es zwei Parts: das erste ist die Methode zu schaffen, welche ein Script ausführt. Das ist das aus meinem ersten Post.
Der andere Teil ist das Aufrufen dieser Methode mittels opsiServiceCall in deinem Installationsscript.
Gruß
Niko
da war ich zu voreilig. Eigentlich gibt es zwei Parts: das erste ist die Methode zu schaffen, welche ein Script ausführt. Das ist das aus meinem ersten Post.
Der andere Teil ist das Aufrufen dieser Methode mittels opsiServiceCall in deinem Installationsscript.
Gruß
Niko
Code: Alles auswählen
import OPSI
- SisterOfMercy
- Beiträge: 1523
- Registriert: 22 Jun 2012, 19:18
Re: Script auf OPSI-Server während Packetinstallation
Isn't there a small SQL client for windows that you can use by grabbing its output during the package installation?
Bitte schreiben Sie Deutsch, when I'm responding in the German-speaking part of the forum!
Re: Script auf OPSI-Server während Packetinstallation
Moin Niko,
prima, Danke!
Ich sehe im Webinterface auch schon meine Methode.
Allerdings bekomme ich beim Aufruf
"{"result": null, "id": null, "error": {"message": "Opsi bad rpc error: Failed to decode rpc: No JSON object could be decoded", "class": "OpsiBadRpcError"}}"
Was mache ich falsch?
def MARKUSsqlquery(self, clientId, value=""):
value = "moin"
return value
Viele Grüße
Markus
prima, Danke!
Ich sehe im Webinterface auch schon meine Methode.
Allerdings bekomme ich beim Aufruf
"{"result": null, "id": null, "error": {"message": "Opsi bad rpc error: Failed to decode rpc: No JSON object could be decoded", "class": "OpsiBadRpcError"}}"
Was mache ich falsch?
def MARKUSsqlquery(self, clientId, value=""):
value = "moin"
return value
Viele Grüße
Markus
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: Script auf OPSI-Server während Packetinstallation
Hi,
wie rufst du es auf?
Ich würde mal darauf tippen, dass dein erster Parameter nicht in doppelten Anführungszeichen ist.
Gruß
Niko
wie rufst du es auf?
Ich würde mal darauf tippen, dass dein erster Parameter nicht in doppelten Anführungszeichen ist.
Gruß
Niko
Code: Alles auswählen
import OPSI
Re: Script auf OPSI-Server während Packetinstallation
Hallo Nils,
danke, danke, danke! Und schon geht's . . .
Magst Du einem OPSI Anfänger auch noch sagen wie ich es in mein Installationsscript einbaue?
..........................
[Actions]
..
DefVar $theoneparameter$
opsiServiceCall_MARKUSsqlquery
..
[opsiServiceCall_MARKUSsqlquery]
"method": "MARKUSsqlquery"
"params": [
"%HostID%",
"$theoneparameter$"
]
................................
Vielen Dank und viele Grüße
Markus
danke, danke, danke! Und schon geht's . . .
Magst Du einem OPSI Anfänger auch noch sagen wie ich es in mein Installationsscript einbaue?
..........................
[Actions]
..
DefVar $theoneparameter$
opsiServiceCall_MARKUSsqlquery
..
[opsiServiceCall_MARKUSsqlquery]
"method": "MARKUSsqlquery"
"params": [
"%HostID%",
"$theoneparameter$"
]
................................
Vielen Dank und viele Grüße
Markus
Re: Script auf OPSI-Server während Packetinstallation
Moin,
etwas weiter bin ich nun gekommen.
Ich habe meine Python Methode in eine Datei /etc/opsi/backendManager/extend.d/80_custom.conf verschoben.
Nun erscheint die Methode im Webinterface unter dem Pfad interface.
Wenn ich mein Paket installiere steht im opsi-script.log
[6] [Feb 17 13:02:34:164] [test-echo] Calling opsi service at https://192.168.10.101:4447
[6] [Feb 17 13:02:34:164] [test-echo] JSON service request https://192.168.10.101:4447/rpc MARKUSsqlquery
[6] [Feb 17 13:02:34:242] [test-echo] JSON Bench for MARKUSsqlquery "params":["ahw626.xxxx.de",""],"id":1} Start: 13:02:34:164 Time: 00:00:00:078
[6] [Feb 17 13:02:34:340] [test-echo] JSON result: moin
[5] [Feb 17 13:02:34:341] [test-echo]
Aber warum wird nicht "moin" in die Variable $theoneparameter$ geschrieben?
Viele Grüße
Markus
etwas weiter bin ich nun gekommen.
Ich habe meine Python Methode in eine Datei /etc/opsi/backendManager/extend.d/80_custom.conf verschoben.
Nun erscheint die Methode im Webinterface unter dem Pfad interface.
Wenn ich mein Paket installiere steht im opsi-script.log
[6] [Feb 17 13:02:34:164] [test-echo] Calling opsi service at https://192.168.10.101:4447
[6] [Feb 17 13:02:34:164] [test-echo] JSON service request https://192.168.10.101:4447/rpc MARKUSsqlquery
[6] [Feb 17 13:02:34:242] [test-echo] JSON Bench for MARKUSsqlquery "params":["ahw626.xxxx.de",""],"id":1} Start: 13:02:34:164 Time: 00:00:00:078
[6] [Feb 17 13:02:34:340] [test-echo] JSON result: moin
[5] [Feb 17 13:02:34:341] [test-echo]
Aber warum wird nicht "moin" in die Variable $theoneparameter$ geschrieben?
Viele Grüße
Markus
- n.wenselowski
- Ex-uib-Team
- Beiträge: 3194
- Registriert: 04 Apr 2013, 12:15
Re: Script auf OPSI-Server während Packetinstallation
Hi,
Du musst den Rückgabewert deiner Funktion auslesen. Wie das geht steht bspw. in den Beispielen im Handbuch
Gruß
Niko
Weil hier die Python-Variable nichts mit der Winst-Variable zu tun hat.mawasse hat geschrieben:Aber warum wird nicht "moin" in die Variable $theoneparameter$ geschrieben?
Du musst den Rückgabewert deiner Funktion auslesen. Wie das geht steht bspw. in den Beispielen im Handbuch
Gruß
Niko
Code: Alles auswählen
import OPSI