Bug 23360 - Samba 4 auf nicht DC Master
Samba 4 auf nicht DC Master
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: Samba4
UCS 3.0
Other Linux
: P5 enhancement (vote)
: UCS 3.0 - MS2
Assigned To: Arvid Requate
Stefan Gohmann
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-08-18 15:18 CEST by Stefan Gohmann
Modified: 2011-12-13 15:49 CET (History)
0 users

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-08-18 15:18:54 CEST
Samba 4 auf nicht DC Master Systemen sollte der S4 Domäne beitreten.
Comment 1 Stefan Gohmann univentionstaff 2011-09-18 09:13:41 CEST
Aus der join.log eines DCs:

Finding a writeable DC for domain 'deadlock51.local'
Found DC master51.deadlock51.local
workgroup is DEADLOCK51
realm is deadlock51.local
checking samaccountname
Adding CN=SLAVE52,OU=Domain Controllers,DC=deadlock51,DC=local
Join failed - cleaning up
checking samaccountname
ERROR(ldb): uncaught exception - LDAP error 68 LDAP_ENTRY_ALREADY_EXISTS -  <Entry CN=SLAVE52,OU=Domain Controllers,DC=deadlock51,DC=local already exists> <>
  File "/usr/lib/python2.6/dist-packages/samba/netcmd/__init__.py", line 135, in _run
    return self.run(*args, **kwargs)
  File "/usr/lib/python2.6/dist-packages/samba/netcmd/join.py", line 71, in run
    site=site, netbios_name=netbios_name, targetdir=targetdir)
  File "/usr/lib/python2.6/dist-packages/samba/join.py", line 592, in join_DC
    ctx.do_join()
  File "/usr/lib/python2.6/dist-packages/samba/join.py", line 524, in do_join
    ctx.join_add_objects()
  File "/usr/lib/python2.6/dist-packages/samba/join.py", line 333, in join_add_objects
    ctx.samdb.add(rec)
Samba4 does not seem to be provisioned, exiting /usr/share/univention-samba4/scripts/setup-dns-in-ucsldap.sh
Object modified: zoneName=deadlock51.local,cn=dns,dc=deadlock51,dc=local

Ein Problem könnte sein, dass der S4 Connector auf dem Master das Objekt schon repliziert in das S4 LDAP repliziert hat.
Comment 2 Arvid Requate univentionstaff 2011-09-19 17:00:44 CEST
Das vorgesehene Verhalten in /usr/share/pyshared/samba/join.py ist, vor dem Join schon existierende Objekte zu entfernen, die mit dem neuen Rechner-Account zusammenhängen. Dazu wird dort zuerst die Methode cleanup_old_join aufgrufen. Allerdings findet sie in dem aktuellen Fall das Rechnerobjekt nicht über die Suche nach "samaccountname=SLAVE$", da der Accountname an dem Rechnerobjekt zu dem Zeitpunkt nicht korrekt ist:

dn: CN=slave,OU=Domain Controllers,DC=arucs3ms1i1,DC=qa
sAMAccountName: $26A3561B-7CBB942DB835569F

Ursache ist noch unklar.
Comment 3 Arvid Requate univentionstaff 2011-09-21 19:09:32 CEST
Der Join eines DC Slave ging jetzt wieder, vermutlich wegen Bug 23162 Comment 3.

Im join.log sah man noch eine Menge tracebacks, weil univention-dnsedit auf einem Slave die Credentials fehlten. Ich übergebe diese jetzt im Join-Script und dadurch treten die tracebacks auf dem Slave nicht mehr auf, ich hoffe das macht jetzt nicht wieder etwas kaputt. Ggf. können die dnsedit-Aufrufe auch kompltee entfallen, ich habe das als Vorschlag an Bug #23168 notiert.
Comment 4 Arvid Requate univentionstaff 2011-09-26 12:31:30 CEST
Folgende Warning im Joinlog habe ich gerade gefixt:

Warning: Missing value for config registry variable 'set'
Create connector/s4/autostart
Comment 5 Stefan Gohmann univentionstaff 2011-09-28 08:43:07 CEST
Im Moment registrieren sich alle DCs bei allen SRV Records, beispielsweise auch für den _gc.

http://msdn.microsoft.com/en-us/library/cc223809%28v=prot.10%29.aspx
Comment 6 Arvid Requate univentionstaff 2011-09-28 16:31:51 CEST
Super Hinweis, danke! Ich habe das Skript entsprechend um Optionen erweitert, sodass man jetzt DNS-Objekte für DC, RODC, GC, ROGC und PDC Emulator anlegen kann (ROGC := GC auf RODC).

Der erste mit samba4/role=DC installierte Samba 4 Server registriert sich als DC, GC und PDC Emulator.

Alle weiteren Samba 4 DC registrieren sich als DC und PDC Emulator (Das ist nicht Standard-konform, da die FSMO-Rolle "PDC Emulator" laut MS Doku nur einmal pro Domäne existieren sollte).

Samba 4 Server, die mit samba4/role=DC installiert wurden registrieren sich als RODC.
Comment 7 Stefan Gohmann univentionstaff 2011-09-29 21:10:20 CEST
(In reply to comment #6)
> Alle weiteren Samba 4 DC registrieren sich als DC und PDC Emulator (Das ist
> nicht Standard-konform, da die FSMO-Rolle "PDC Emulator" laut MS Doku nur
> einmal pro Domäne existieren sollte).

Das wird über Bug #23874 behoben.

Der Rest ist OK.
Comment 8 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:49:56 CET
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"