Bug 33388 - DC Slave \0ACNF: object after joining via DC Backup
DC Slave \0ACNF: object after joining via DC Backup
Status: RESOLVED WORKSFORME
Product: UCS
Classification: Unclassified
Component: Samba4
UCS 3.2
Other Linux
: P5 normal (vote)
: ---
Assigned To: Samba maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-14 17:30 CET by Arvid Requate
Modified: 2016-10-21 06:28 CEST (History)
2 users (show)

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
Short overview of the essential timestamps. (4.53 KB, text/plain)
2013-11-14 17:30 CET, Arvid Requate
Details
s4slave-join.log (49.75 KB, text/plain)
2013-11-14 17:31 CET, Arvid Requate
Details
connector-s4.log (90.80 KB, text/plain)
2013-11-14 17:31 CET, Arvid Requate
Details
s4search outputs for the objects collected from s4master and s4-backup. (66.38 KB, text/plain)
2013-11-14 17:32 CET, Arvid Requate
Details
Timestamps of the s4slave and s4-backup LDAP objects (1.89 KB, text/plain)
2013-11-14 18:26 CET, Arvid Requate
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arvid Requate univentionstaff 2013-11-14 17:30:41 CET
Created attachment 5632 [details]
Short overview of the essential timestamps.

In a test domain the following situation led to a \0ACNF: object for the DC Slave account after the DC Slave joined via the DC Backup:

1. DC Master with Samba4
2. DC Backup installation/join started
3. DC Slave installation/join started (maybe before DC Backup join finished).

The join.log on the DC Slave shows that samba-tool decided to join against the DC Backup. Accordingly object timesamps show that the original DC account object for the DC Slave was created in the Samba4 diectory of the DC Backup.

Some minutes later (assuming the clocks of master and backup have been in sync), the connector-s4.log on the DC Master shows a "modification" (I guess it's an add?) of the DC Slave account object coming from UCS LDAP. Accordingly there is a second DC Slave account created at that time.

And then a DRS replication confliced occurred, renaming the "older" Samba4 object to \0ACNF:.

Maybe there is something we can learn from this case to avoid this.
Comment 1 Arvid Requate univentionstaff 2013-11-14 17:31:08 CET
Created attachment 5633 [details]
s4slave-join.log
Comment 2 Arvid Requate univentionstaff 2013-11-14 17:31:33 CET
Created attachment 5634 [details]
connector-s4.log
Comment 3 Arvid Requate univentionstaff 2013-11-14 17:32:39 CET
Created attachment 5635 [details]
s4search outputs for the objects collected from s4master and s4-backup.
Comment 4 Arvid Requate univentionstaff 2013-11-14 18:26:25 CET
Created attachment 5640 [details]
Timestamps of the s4slave and s4-backup LDAP objects

The timestamps show that the DC Backup account was created in UCS LDAP just 1 minute 21 seconds before the account of the DC Slave.

Then, the sync of the DC Backup account from LDAP to Samba4 took about 2:42
but the sync of the DC Slave account then took about 8:29.
So I guess S4 Connector sync delay / load plays a considerable role here.
Comment 5 Erik Damrose univentionstaff 2013-11-14 19:28:04 CET
Just some quick notes, maybe it helps to reproduce this one day. The test setup had been created with virtualized systems, setup with the appliance setup. The DC backup and slave system were running their installation procedure simultaneously.
Comment 6 Arvid Requate univentionstaff 2013-11-18 13:23:56 CET
IMHO the most straight forward solution to avoid this situation would be to always let systems join against the System which runs the S4 Connector (UCS@school Bug 32187 should be borne in mind while designing this solution).

The second, more complicated solution might be to change the UDM machine account creation process during join (univention-server-join?) to create machine accounts always without samba option and let this option be added at a later stage via the following three possible samba machine account creation mechanisms:
1. by letting the S4-Connector do this (in the UCS default Samba4 domain)
2. by umc_module_selective_udm (in UCS@school)
3. by the Samba 3 LDAP passdb backend
Comment 7 Arvid Requate univentionstaff 2013-11-18 17:08:04 CET
See also Bug 32257.
Comment 8 Stefan Gohmann univentionstaff 2016-10-05 14:54:59 CEST
Can it still happen? I  didn't see it again.
Comment 9 Stefan Gohmann univentionstaff 2016-10-21 06:28:48 CEST
(In reply to Stefan Gohmann from comment #8)
> Can it still happen? I  didn't see it again.

Works for me.