Hallo Zusammen,
meine jüngst als vergangen betrachtete Erkrankung hat mich leider wieder eingeholt. Deshalb der große Delay. Entschuldigung!
Also ich habe jetzt wie im Getting Started beschrieben einmal die Nutzer-Konfiguration nachgeschaut, und habe alles so eingerichtet wie im PDF beschrieben. Sofern ich das Script über den User root oder auch opsiconfd aufrufe, funktioniert alles... Um sicher zu gehen, habe ich testweise (! ^^) auch den Nutzer www-data in sämtliche relevanten Gruppen gesteckt... Das schafft leider auch keine Abhilfe.
Nachdem ich dann mal mein Skript mit dem korrekten Logging angepasst habe, findet sich nun ganz am Ende des Logs (der einzige ersichtliche Fehler, der Rest sieht gut aus)
Updating pxe boot configuration for client 'einClient.eine.domäne'
Sending command 'update einClient.eine.domäne'
Creating unix socket '/var/run/opsipxeconfd/opsipxeconfd.socket'
Failed to update PXE boot configuration for client 'einClient.eine.Domäne': Failed to connect to socket '/var/run/opsipxeconfd/opsipxeconfd.socket': [Errno 13] Permission denied
Das sind die letzten Zeilen... Ich tippe sehr sehr stark auf ein Berechtigungsproblem, wenn es mit nahezu allen relevanten Nutzern funktioniert bis auf den www-data Benutzer. Aber welche Berechtigung für was genau fehlt noch bzgl. des Sockets? Die "Datei" als solches wird erstellt, ist aber leer, sofern man sie mit VIM versucht zu öffnen... Hat das seine Richtigkeit, oder hat er hier schon Probleme beim schreiben/erstellen des Sockets?
Im opsipxeconfd.log sind alle das Opsipxeconfd-Backend betreffende Geschichten, die auf jenes Backend dispatchen wollen, mit bereits erwähntem
[Timestamp] Ignoring backend u'opsipxeconfd': backend not available (BackendManager.py|468)
verzeichnet, zusammen mit der Meldung, dass nun deshalb Methoden überschrieben werden und das File-Backend genutzt wird... Deshalb funktioniert es ja auch glaub ich, wenn ich den Dienst nach dem Anlegen durch das Skript neustarte... dass er dann die Backends "synchronisiert" oder so?
Bin bald echt verzweifelt..
Vielen Dank, wie immer, im Voraus, und viele Grüße!
Luckystriker
EDIT:
Vllt wäre auch noch die Information hilfreich, dass generell nach einem Neustart des opsipxeconfd-services folgendes im Log ausgegeben wird:
[Timestamp] Starting opsipxeconfd main thread (opsipxeconfd|168)
[Timestamp] Creating backend instance (opsipxeconfd|112)
[Timestamp] * BackendManager is creating BackendDispatcher (BackendManager.py|264)
[Timestamp] Backend context was set to <BackendManager()> (BackendManager.py|195)
[Timestamp] Loading dispatch config file '/etc/opsi/backendManager/dispatch.conf' (BackendManager.py|371)
[Timestamp] Trying to lock file '/etc/opsi/backendManager/dispatch.conf' (0/2000) (__init__.py|216)
[Timestamp] File '/etc/opsi/backendManager/dispatch.conf' locked after 0 millis (__init__.py|237)
[Timestamp] Trying to lock file '/etc/opsi/backendManager/dispatch.conf' (0/2000) (__init__.py|216)
[Timestamp] File '/etc/opsi/backendManager/dispatch.conf' locked after 0 millis (__init__.py|237)
[Timestamp] Read dispatch config from file u'/etc/opsi/backendManager/dispatch.conf': [[u'backend_.*', [u'file', u'mysql', u'opsipxeconfd', u'dhcpd']], [u'host_.*', [u'file', u'opsipxeconfd', u'dhcpd']], [u'productOnClient_.*', [u'file', u'opsipxeconfd']], [u'configState_.*', [u'file', u'opsipxeconfd']], [u'license.*', [u'mysql']], [u'softwareLicense.*', [u'mysql']], [u'audit.*', [u'mysql']], [u'.*', [u'file']]] (BackendManager.py|408)
[Timestamp] Loading backend config '/etc/opsi/backends/opsipxeconfd.conf' (BackendManager.py|433)
[Timestamp] Ignoring module 'OpsiPXEConfd', backend 'opsipxeconfd' (BackendManager.py|438)
[Timestamp] Loading backend config '/etc/opsi/backends/dhcpd.conf' (BackendManager.py|433)
[Timestamp] Backend context was set to <BackendDispatcher(dispatchIgnoreModules=['OpsiPXEConfd'], dispatchConfigFile=u'/etc/opsi/backendManager/dispatch-conf', context=<BackendManager()>)> (Backend.py|195)
[........]
Also schon bevor irgendetwas geschieht, scheint er sich schon vom Backend zu verabschieden, sofern ich den Log richtig interpretiere...