udpate-ldap backend error

Antworten
Jujios
Beiträge: 5
Registriert: 09 Jan 2012, 14:23

udpate-ldap backend error

Beitrag von Jujios »

Hallo,
ich bin gerade dabei eine opsi3.4 umgebung nach 4.0 zu migrieren. dabei befolge ich, soweit vorhanden, die anleitung der handbücher.
hat auch alles soweit gut geklappt, nur jetzt bekomme ich einen backendfehler, wo ich nicht weiß woran das liegt.

ich habe die backend-files kapiert und angepasst, anmeldung an das ldap klappt, wenn ich jedoch jetzt opsi-setup --update-ldap ausführe bekomme ich folgenden ausgabefehler

Code: Alles auswählen

root@opsi-test:/etc/opsi/backends# opsi-setup --update-ldap
[5] [Jan 09 14:17:49] Creating ldap backend instance (opsi-setup|592)
[5] [Jan 09 14:17:49] Testing ldap schema (opsi-setup|598)
[5] [Jan 09 14:17:49] Deleting container: cn=configs,o=DAI (opsi-setup|615)
[5] [Jan 09 14:17:49] Deleting container: cn=configStates,o=DAI (opsi-setup|615)
[5] [Jan 09 14:17:49] Deleting container: cn=productOnClients,o=DAI (opsi-setup|615)
[5] [Jan 09 14:17:49] Deleting container: cn=productOnDepots,o=DAI (opsi-setup|615)
[5] [Jan 09 14:17:49] Deleting container: cn=productPropertyStates,o=DAI (opsi-setup|615)
[5] [Jan 09 14:17:50] Converting opsiHost (opsi-setup|620)
[5] [Jan 09 14:17:52] Converting opsiGeneralConfig (opsi-setup|682)
[5] [Jan 09 14:17:52] Converting opsiNetworkConfig (opsi-setup|703)
[5] [Jan 09 14:17:52] Converting opsiGroup (opsi-setup|753)
[5] [Jan 09 14:17:52] Converting opsiLocalBootProduct (opsi-setup|793)
[5] [Jan 09 14:17:52] Converting opsiNetBootProduct (opsi-setup|793)
[5] [Jan 09 14:17:52] Converting opsiProductPropertyDefinition (opsi-setup|849)
[5] [Jan 09 14:17:52] Converting opsiProductDependency (opsi-setup|892)
[5] [Jan 09 14:17:52] Converting opsiProductState (opsi-setup|935)
[2] [Jan 09 14:17:52] Traceback: (Logger.py|742)
[2] [Jan 09 14:17:52]      line 3068 in '<module>' in file '/usr/bin/opsi-setup' (Logger.py|742)
[2] [Jan 09 14:17:52]      line 3038 in 'main' in file '/usr/bin/opsi-setup' (Logger.py|742)
[2] [Jan 09 14:17:52]      line 936 in 'updateLDAPBackend' in file '/usr/bin/opsi-setup' (Logger.py|742)
[2] [Jan 09 14:17:52]      line 1738 in '__init__' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/LDAP.py' (Logger.py|742)
[2] [Jan 09 14:17:52]      line 1883 in 'search' in file '/usr/lib/pymodules/python2.6/OPSI/Backend/LDAP.py' (Logger.py|742)
[2] [Jan 09 14:17:52]      ==>>> Backend missing data error: No results for search in baseDn:[b] 'cn=productStates,o={unwichtig}[/b]', filter: '(objectClass=organizationalRole)', scope: 1 (opsi-setup|3076)
folgendes besagt meine /etc/opsi/backends/ldap.conf

Code: Alles auswählen

root@opsi-test:/etc/opsi/backends# cat ldap.conf
''' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-     LDAP backend                                                        -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '''
global BACKEND_LDAP
BACKEND_LDAP = 'LDAP'
module = 'LDAP'

	
#self.backends[BACKEND_LDAP] = {
#        'load': True
#}

baseDn = "o={unwichtig}"
config = {
       "address":                          u"10.128.5.145",
       "username":                         u"cn=Manager,%s" % baseDn,
       "password":                         u"secret",
       "baseDn":                           baseDn,
       "referrals":                        True,
#       "productStatesContainerDn":         "cn=productStates,dc=admin,o=DAI,%s",
       "opsiBaseDn":                       u"%s" % baseDn,
#       "hostsContainerDn":                 baseDn,
       "hostsContainerDn":                 u"cn=productStates,dc=admin,%s" % baseDn,
       "hostAttributeDescription":         u"description",
       "hostAttributeNotes":               u"opsiNotes",
       "hostAttributeHardwareAddress":     u"opsiHardwareAddress",
       "clientObjectSearchFilter":         u"(& (objectClass=dhcpHost) (cn=%name%))",
       "serverObjectSearchFilter":         u"(& (objectClass=dhcpHost) (cn=%name%))",
#       "createClientCommand":              u"/usr/local/bin/createclient.sh %name% %domain% %mac% %ip% '%description%' '%notes%'",
       "deleteClient":                     True,
#       "deleteClientCommand":              u"/usr/local/bin/deleteclientfile.sh %name% %domain%",
       "createServerCommand":              u"",
       "deleteServer":                     False,
       "deleteServerCommand":              u"",
}
meine frage ist, wo die informationen stehen das er sich genau dort hin 'cn=productStates,o={unwichtig}[/b]', verbinden will.
im ldap gibt es diesen order aber jedoch unter cn=productStates,dc=admin,%s" % baseDn. das steht ja auch genauso in der ldap.conf.

Gruß
Christian
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: udpate-ldap backend error

Beitrag von ueluekmen »

Also:
Jujios hat geschrieben:# "productStatesContainerDn": "cn=productStates,dc=admin,o=DAI,%s",
1. ist diese Zeile auskommentiert
2. müsste es eigentlich so aussehen:

Code: Alles auswählen

"productStatesContainerDn":         "cn=productStates,dc=admin,o=DAI,%s" % baseDn,
Das LDAP- Backend ist jetzt aber futsch, Backup einspielen und nochmal von vorn.

3. Support einkaufen, Schulung besuchen.
4. News-Bereich beachten: viewtopic.php?f=1&t=3033


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


Jujios
Beiträge: 5
Registriert: 09 Jan 2012, 14:23

Re: udpate-ldap backend error

Beitrag von Jujios »

das problem war genau dieser eintrag, den musste ich nach meinen wünschen nochmal anpassen.
nun kommt aber das problem das opsi mehr einträge im ldap macht als ich eigentlich will.
ich möchte nur cn=productStates und nicht noch nebenbei cn=configs, cn=configStates, ...
oder ist dies neu in opsi 4?
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: udpate-ldap backend error

Beitrag von ueluekmen »

Mal die

Code: Alles auswählen

/etc/opsi/backendManager/dispatch.conf
posten.


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


Jujios
Beiträge: 5
Registriert: 09 Jan 2012, 14:23

Re: udpate-ldap backend error

Beitrag von Jujios »

Code: Alles auswählen

backend_.*         : ldap, mysql, opsipxeconfd, dhcpd
host_.*            : file, opsipxeconfd, dhcpd
productOnClient_.* : file, opsipxeconfd
configState_.*     : file, opsipxeconfd
license.*          : mysql
softwareLicense.*  : mysql
audit.*            : mysql
.*                 : file
Jujios
Beiträge: 5
Registriert: 09 Jan 2012, 14:23

Re: udpate-ldap backend error

Beitrag von Jujios »

und hier mal die 30_vars aus dem opsi 3.4

Code: Alles auswählen

global SYSTEM_ADMIN_GROUP
SYSTEM_ADMIN_GROUP = 'opsiadmin'

self._pamService = 'passwd'
self._sshRSAPublicKeyFile = '/etc/ssh/ssh_host_rsa_key.pub'

self.defaultBackend        = BACKEND_FILE31
self.clientManagingBackend = BACKEND_LDAP
self.pxebootconfBackend    = BACKEND_OPSIPXECONFD
self.passwordBackend       = BACKEND_FILE31
self.pckeyBackend          = BACKEND_FILE31
self.swinventBackend       = BACKEND_MYSQL
self.hwinventBackend       = BACKEND_MYSQL
self.licenseBackend        = BACKEND_MYSQL
self.loggingBackend        = BACKEND_FILE31
Benutzeravatar
ueluekmen
uib-Team
Beiträge: 1940
Registriert: 28 Mai 2008, 10:53

Re: udpate-ldap backend error

Beitrag von ueluekmen »

Ok jetzt verstehe ich das Problem. Du bringst die Objektstruktur von opsi 4.0.1 mit opsi 3.4 durcheinander. Es gibt keine productStates in opsi 4.0. Die Objektstrukur sieht nun ganz anders aus.

Ich würde vorschlagen du beschreibst erst einmal genau was du in welches Backend schreiben willst. Mit deiner jetzigen dispatch.conf wird nichts ins ldap geschrieben oder gelesen. Da du aber ein update-ldap machst, wird nur die Konvertierung durchgeführt.

Aber zur Vollständigkeit zitiere ich mich selbst gerne nochmal: 8-)
ueluekmen hat geschrieben:4. News-Bereich beachten: viewtopic.php?f=1&t=3033


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


Jujios
Beiträge: 5
Registriert: 09 Jan 2012, 14:23

Re: udpate-ldap backend error

Beitrag von Jujios »

Dringend nötig ist das LDAP nicht jedoch wird aktuell, mir dem 3.4, ein Eintrag in den oben genannten Baum gemacht um dem Client eine DHCP Adresse zu geben.
Dies ist auch der einzige Eintrag der dort gemacht wird.
Im Handbuch habe ich nix gefunden was mir ermöglicht ein Script, beim erstellen eines neues Clients, zu starten welches diesen Eintrag macht wenn kein LDAP vorhanden ist.
Einzig über die das ldap backend war es mir ersichtlich das ein script ausgeführt werden kann.

Deinen Link habe ich mir angesehen und damit auch den entschluss getroffen kein ldap als backend benutzen zu müssen, vorraussetzung ist natürlich die Möglichkeit ein Script zu starten bzw automatisch starten zu lassen.
Ansonsten können natürlich die Daten ins file backend geschrieben werden.
Antworten