opsi-deploy-client-agent als OPSI-Methode !

Antworten
Benutzeravatar
tobias
Beiträge: 1294
Registriert: 20 Aug 2008, 12:36
Wohnort: Braunschweig
Kontaktdaten:

opsi-deploy-client-agent als OPSI-Methode !

Beitrag von tobias »

Hi,

immer wieder kommen Fragen auf ob man nicht den opsi-client auch über OPSI Direkt verteilen könnte.
Ich habe mal ein paar Codeschnipsel zusammengebastelt die es ermöglichen den OPSI-Client über eine OPSI-Methode zu verteilen:
Das ganze hat weder ein Anrecht auch Richtigkeit, Vollständigkeit oder sonst etwas ;) Wenn ich mal Lust hab mich weiter mit Python zu beschäftigen erweitere ich das vielleicht nochmal. Aber erstmal tut es genau das was es soll ;)

Es werden keine Fehler zurückgegeben und die Parameter -o (start opsiclientd service after installation) und -c (use fqdn instead of hostname for smb/cifs connection) habe ich festeingebaut und die Parameter der Methode auf ClientID, Username und Password begrenzt.

Code: Alles auswählen

def deployClientAgent (self, ExtClientId, ExtUser, ExtPassword):
        import os
        def getch():
                os.environ['user'] = ExtUser
                os.environ['password'] = ExtPassword
                os.environ['clientID'] = ExtClientId
                os.system('/opt/pcbin/install/opsi-client-agent/opsi-deploy-client-agent -u $user -p $password -o -c $clientID')
        getch()
Anleitung:
Unter /etc/opsi/backendManager/extent.d/12_deployAgent.conf anlegen und den Code von oben reinkopieren, opsi-setup --set-rights /etc/opsi ausführen.
Anschließend den configserver mit /etc/init.d/opsiconfd restart neustarten.
Die Methode ist dann direkt via opsi-admin / interface verfügbar.

Parameter: method deployClientAgent ClientId username password

Was lässt sich damit nun anfangen?
Über externe Anwendungen (z.B. PHP Scripte) lassen sich nun einfach neue Clients zu OPSI Hinzufügen und direkt mit dem OPSI-Client versorgen
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: opsi-deploy-client-agent als OPSI-Methode !

Beitrag von ueluekmen »

Hallo Tobias,

interessanter Ansatz. Ich will den Ansatz auch gar nicht kritisieren, aber du solltest vermeiden /opt/pcbin/install zu verwenden, verwende bitte, wenn du volle Pfade verwendest: /var/lib/opsi/depot.

Ich spare mir jetzt eine Vereinfachung dieser Methode, wenn Sie tut was es soll, ist es ja gut, nur das System-Environment zu setzen ist an der Stelle nicht nötig, du kannst auch einfach folgendes schreiben:

Code: Alles auswählen

os.system('/var/lib/opsi/depot/opsi-client-agent/opsi-deploy-client-agent -u %s -p %s -o -c %s' % (ExtUser,ExtPassword,ExtClientId))
Grüße


Vielen Dank für die Nutzung von opsi. Im Forum ist unser Support begrenzt.

Für den professionellen Einsatz und individuelle Beratung empfehlen wir einen Support-Vertrag und eine Schulung.
Gerne informieren wir Sie zu unserem Angebot.

uib GmbH
Telefon: +49 6131 27561 0
E-Mail: sales@uib.de


Antworten