1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-12 09:18:10 +03:00

KCC: intrasite double_directed_ring test shouldn't include RODCs

RODCs don't belong in the ring. In practice, they don't really belong
in the same site as a ring, but that is another matter.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Douglas Bagnall 2015-05-27 18:04:15 +12:00 committed by Andrew Bartlett
parent c45007953b
commit bbe90840b9

View File

@ -2145,7 +2145,7 @@ class KCC(object):
dot_edges.append((v2, v1.dsa_dnstr))
dot_vertices.add(v2)
verify_properties = ('connected', 'directed_double_ring_or_small')
verify_properties = ('connected',)
verify_and_dot('intrasite_pre_ntdscon', dot_edges, dot_vertices,
label='%s__%s__%s' % (site_local.site_dnstr,
nctype_lut[nc_x.nc_type],
@ -2155,6 +2155,23 @@ class KCC(object):
dot_file_dir=self.dot_file_dir,
directed=True)
rw_dot_vertices = set(x for x in dot_vertices
if not self.get_dsa(x).is_ro())
rw_dot_edges = [(a, b) for a, b in dot_edges if
a in rw_dot_vertices and b in rw_dot_vertices]
print rw_dot_edges, rw_dot_vertices
rw_verify_properties = ('connected',
'directed_double_ring_or_small')
verify_and_dot('intrasite_rw_pre_ntdscon', rw_dot_edges,
rw_dot_vertices,
label='%s__%s__%s' % (site_local.site_dnstr,
nctype_lut[nc_x.nc_type],
nc_x.nc_dnstr),
properties=rw_verify_properties, debug=DEBUG,
verify=self.verify,
dot_file_dir=self.dot_file_dir,
directed=True)
# For each existing nTDSConnection object implying an edge
# from rj of R to ri such that j != i, an edge from rj to ri
# is not already in the graph, and the total edges directed
@ -2224,7 +2241,7 @@ class KCC(object):
dot_edges.append((v2, v1.dsa_dnstr))
dot_vertices.add(v2)
verify_properties = ('connected', 'directed_double_ring_or_small')
verify_properties = ('connected',)
verify_and_dot('intrasite_post_ntdscon', dot_edges, dot_vertices,
label='%s__%s__%s' % (site_local.site_dnstr,
nctype_lut[nc_x.nc_type],
@ -2234,6 +2251,23 @@ class KCC(object):
dot_file_dir=self.dot_file_dir,
directed=True)
rw_dot_vertices = set(x for x in dot_vertices
if not self.get_dsa(x).is_ro())
rw_dot_edges = [(a, b) for a, b in dot_edges if
a in rw_dot_vertices and b in rw_dot_vertices]
print rw_dot_edges, rw_dot_vertices
rw_verify_properties = ('connected',
'directed_double_ring_or_small')
verify_and_dot('intrasite_rw_post_ntdscon', rw_dot_edges,
rw_dot_vertices,
label='%s__%s__%s' % (site_local.site_dnstr,
nctype_lut[nc_x.nc_type],
nc_x.nc_dnstr),
properties=rw_verify_properties, debug=DEBUG,
verify=self.verify,
dot_file_dir=self.dot_file_dir,
directed=True)
def intrasite(self):
"""Generate the intrasite KCC connections