Univention Bugzilla – Bug 24074
Samba4 Bind-Anbindung per "Dynamically Loadable Zones" (DLZ)
Last modified: 2011-12-13 15:50:51 CET
Das S4 Bind Backend sollte default sein auf S4 DCs. +++ This bug was initially created as a clone of Bug #23168 +++ Im Kontext von Samba4 wurde bind9.8 so erweitert, dass es für "Dynamically Loadable Zones" (DLZ) einen dlopen Aufruf auf eine Samba4-Modul verwenden kann. Konfigurationsbeispiel analog zu http://lists.samba.org/archive/samba/2011-February/160896.html : dlz "The univention.qa Zone" { database "dlopen /usr/lib/samba/libdlz_bind9.so"; }; Ich nehme an, dass dies ein alternative Methode zu Bug #23161 darstellt. Man sollte hier abwarten, bis die Anpassungen an dem Samba4-Provisioning konvergiert sind, siehe http://samba.2283325.n4.nabble.com/samba4-and-libdlz-bind9-so-td3647985.html#a3650761
Problematisch ist die Reihenfolge. Die DNS Daten kommen aus dem UCS LDAP, das bedeutet, damit das S4 Backend genutzt werden kann, müssen diese Daten per S4 Connector synchronisiert wird. Wenn der S4 Connector am Ende des Joins gestartet wird, dann ist im UCS LDAP der Administrator noch nicht angelegt und kann später nicht angelegt werden, da dieser dann noch synchronisiert wird. Als sinnvollste Lösung erscheint mir den Administrator und die anderen LDAP Objekte nicht aus dem Installer Skript anzulegen, sondern im LDAP Server Joinskript.
Administrator und das Default Netzwerk werden jetzt im Join Skript von univention-ldap-server angelegt.
(In reply to comment #2) > Administrator und das Default Netzwerk werden jetzt im Join Skript von > univention-ldap-server angelegt. Zusätzlich wird auch auf dem DC Master die stderr-Ausgabe der Joinskripte in die join.log umgelenkt.
Verified: * univention-installer/scripts/80_ldap.sh wurde entfernt * Der Code wurde nach 10univention-ldap-server.inst übernommen * Der Code wird nur beim ersten Join ausgeführt ($JS_LAST_EXECUTED_VERSION = 0) * Statt interfaces/eth0/network wird jetzt get_default_network verwendet * Die temporäre Datei zur Übergabe der Administrator-Credentials an das Joinscript wird nach dem initialen Join wieder gelöscht. * Keine Fehlermeldungen aus univention-installer-scripts.d/75_join.sh im installation.log * Korrekte Meldungen aus 10univention-ldap-server im join.log * Changelog OK
Im Joinscript 98univention-samba4-dns wird dns/backend=samba4 gesetzt falls es (mindestens) einen UCS DC gibt der den service "S4 Connector" liefert. Dies geschieht auch nur einmalig beim ersten durchlauf dieses Joinscripts. Das Joinscript 98univention-samba4-dns wird *nicht* automatisch im postinst von univention-samba4 aufgerufen. * Bei Neuinstallationen wird es durch das initiale 75_join.sh ausgeführt * Bei Updates wird der äquivalente Code in 97univention-s4-connector ausgeführt, falls das System das erste System ist, dass den service "S4 Connector" liefert. * Bei Updates von sekundären Samba4-DCs muss nach dem Update univention-run-joinscripts ausgeführt werden.
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"