Seite 1 von 1
Zugriff auf Host Parameter aus WInst-Skript?
Verfasst: 09 Jul 2014, 15:58
von embl-structures
Hallo zusammen,
wie kann man aus einem WInst-Skript auf die Host-Parameter zugreifen?
Gruss
Frank
Re: Zugriff auf Host Parameter aus WInst-Skript?
Verfasst: 10 Jul 2014, 11:21
von n.wenselowski
Hallo Frank,
das geht über eine opsiservicecall-Sektion.
Die Methode, die du aufrufen willst ist an der Stelle configState_getHashes.
Wenn du die Standard-Settings auch haben willst, musst du zuvor mittels backend_setOptions den Wert addConfigStateDefaults auf True setzen - und später am besten wieder als False.
Gruß
Niko
Re: Zugriff auf Host Parameter aus WInst-Skript?
Verfasst: 10 Jul 2014, 12:24
von embl-structures
n.wenselowski hat geschrieben:das geht über eine opsiservicecall-Sektion.
Die Methode, die du aufrufen willst ist an der Stelle configState_getHashes.
Wenn du die Standard-Settings auch haben willst, musst du zuvor mittels backend_setOptions den Wert addConfigStateDefaults auf True setzen - und später am besten wieder als False.
Mit "Standard-Settings haben" ist wahrscheinlich gemeint, dass auch dann Werte ausgegehen werden, wenn sie noch dem Default entsprechen?
Code: Alles auswählen
pcpatch@opsi-admin> method configState_getHashes [] {"objectId":"vm-drosera-04.embl.de"}
[
{
"configId" : "embl.silentrun",
"values" :
[
false
],
"objectId" : "vm-drosera-04.embl.de",
"type" : "ConfigState"
}
]
pcpatch@opsi-admin>
vm-drosera-04.embl.de hat einen Wert fuer
embl.silentrun, welcher vom Default (
false) abweicht, aber
Code: Alles auswählen
pcpatch@opsi-admin> method configState_getHashes [] {"objectId":"vm-drosera-03.embl.de"}
pcpatch@opsi-admin>
vm-drosera-03.embl.de hat fuer
embl.silentrun den Defaultwert. Wird er deshalb nicht angezeigt?
Allerdings schaffe ich es nicht,
addConfigStateDefaults auf
True zu setzen, diese Methoden und deren Anwendung sind einfach schlecht oder gar nicht dokumentiert. Im Handbuch findet man einige Beispiele fuer Get-Funktionen, aber ich finde nichts fuer Set-Funktionen. Ich habe es mit folgenden Kommandos versucht:
Code: Alles auswählen
pcpatch@opsi-admin> method backend_setOptions addConfigStateDefaults true
ERROR: Failed to execute 'method backend_setOptions addConfigStateDefaults true'
: backend_setOptions() takes exactly 2 arguments (3 given)
pcpatch@opsi-admin> method backend_setOptions addConfigStateDefaults=true
ERROR: Failed to execute 'method backend_setOptions addConfigStateDefaults=true'
: Not a dict 'addConfigStateDefaults=true' (error on server)
pcpatch@opsi-admin> method backend_setOptions {"addConfigStateDefault":"true"}
pcpatch@opsi-admin>
Aber auch letzteres hat nichts genuetzt:
Code: Alles auswählen
pcpatch@opsi-admin> method configState_getHashes [] {"objectId":"vm-drosera-03.embl.de"}
pcpatch@opsi-admin>
Der Wert fuer
embl.silentrun fuer
vm-drosera-03.embl.de wird leider immer noch nicht angezeigt.
Frank
Re: Zugriff auf Host Parameter aus WInst-Skript?
Verfasst: 11 Jul 2014, 12:01
von n.wenselowski
Hallo Frank,
embl-structures hat geschrieben:Mit "Standard-Settings haben" ist wahrscheinlich gemeint, dass auch dann Werte ausgegehen werden, wenn sie noch dem Default entsprechen?
Genau das ist damit gemeint.
embl-structures hat geschrieben:Allerdings schaffe ich es nicht, addConfigStateDefaults auf True zu setzen, diese Methoden und deren Anwendung sind einfach schlecht oder gar nicht dokumentiert. Im Handbuch findet man einige Beispiele fuer Get-Funktionen, aber ich finde nichts fuer Set-Funktionen.
Ich kenne diese Funktionen auch nur durch die Arbeit direkt am Server - und dort muss ich zugeben, dass die Art sie aufzurufen sehr gewöhnungsbedürftig für einen Python-Programmierer ist
Ich habe die Standard-Backend-Erweiterungen durchsucht und kam dabei auf
getGeneralConfig_hash /
setGeneralConfig und
getGeneralConfigValue /
setGeneralConfigValue (alle aus
20_legacy.conf). Ich denke, das sollte das machen, was du willst bzw. dir zeigen, wie man die backend_setOptions-Methoden im Backend-Context verwendet, um dir gegebenenfalls eine eigene Variante zu bauen.
Code: Alles auswählen
opsi-admin -d method getGeneralConfig_hash testclient.uib.local
Ich hoffe, das hilft dir weiter
Viele Grüße
Niko
Re: Zugriff auf Host Parameter aus WInst-Skript?
Verfasst: 11 Jul 2014, 15:51
von embl-structures
Vielen Dank. Deine Hinweise haben mich auf den richtigen Weg gebracht. Schlussendlich hat es mit
Code: Alles auswählen
method getGeneralConfigValue "embl.silentrun" mein.host.domain
am einfachsten funktionert. Das werde ich jetzt in einen OPSIServiceCall einbauen.
Frank
Re: Zugriff auf Host Parameter aus WInst-Skript?
Verfasst: 11 Jul 2014, 15:55
von embl-structures
Und sorry dafuer, dass dieser Thread in diesem Forum gepostet worden ist (Fehltipper). Er gehoerte natuerlich in "Freier Support".
f.