1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

kcc: Allow RODC to be included in intersite topology

This creates behaviour not described by ADTS. RODC are now treated as
RED, however they are demoted to the equivalent of WHITE when running
the first half of the algorithm.

The change implies that RED does in fact refer to full-replicas, not
writable replicas.

Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Garming Sam 2015-04-30 11:26:18 +12:00 committed by Andrew Bartlett
parent 7c6a6f2bd8
commit a0b0a0f91a
2 changed files with 9 additions and 1 deletions

View File

@ -1633,7 +1633,10 @@ class KCC(object):
bh = self.get_bridgehead(vertex.site, vertex.part, transport, bh = self.get_bridgehead(vertex.site, vertex.part, transport,
partial_replica_okay, detect_failed) partial_replica_okay, detect_failed)
if bh is None: if bh is None:
found_failed = True if vertex.site.is_rodc_site():
vertex.accept_red_red.append(t_guid)
else:
found_failed = True
continue continue
vertex.accept_red_red.append(t_guid) vertex.accept_red_red.append(t_guid)

View File

@ -1651,6 +1651,11 @@ class Site(object):
return True return True
return False return False
def is_rodc_site(self):
if len(self.dsa_table) > 0 and len(self.rw_dsa_table) == 0:
return True
return False
def __str__(self): def __str__(self):
'''Debug dump string output of class''' '''Debug dump string output of class'''
text = "%s:" % self.__class__.__name__ text = "%s:" % self.__class__.__name__