1ca5bf32ad
python/kcc/graph: import KCCError, which is used somewhere
...
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz >
Reviewed-by: Noel Power <noel.power@suse.com >
2018-11-01 05:08:13 +01:00
7a07d42230
PEP8: fix E265: block comment should start with '# '
...
Signed-off-by: Joe Guo <joeg@catalyst.net.nz >
Reviewed-by: Andrew Bartlett <abartlet@samba.org >
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz >
2018-08-24 07:49:29 +02:00
e62cc29b47
kcc graph verifier: use __doc__ description for error explanation
...
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz >
Reviewed-by: Andrew Bartlett <abartlet@samba.org >
2018-05-31 01:57:16 +02:00
03bd7c20f0
kcc graphs: site edges in colour, labeled with DNs
...
This makes it easy to see where the site edges objects are, and
what sites they refer too.
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz >
Reviewed-by: Andrew Bartlett <abartlet@samba.org >
2018-05-31 01:57:16 +02:00
e5d092ea54
kcc.graph_utils: shift debug noise out of verify()
...
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz >
Reviewed-by: Andrew Bartlett <abartlet@samba.org >
2018-05-31 01:57:16 +02:00
6eb3391cc2
kcc/graph: add __hash__ to InternalEdge for py3
...
In py3, if a class defines `__eq__()` but not `__hash__()`, its instances will
not be usable as items in hashable collections, e.g.: set.
Add `__hash__()` to InternalEdge, so it can be added to a set in py3.
Signed-off-by: Joe Guo <joeg@catalyst.net.nz >
Reviewed-by: Andrew Bartlett <abartlet@samba.org >
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz >
2018-04-13 07:27:13 +02:00
65fb95eda1
KCC: remove unused create_edge_set() function
...
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 >
2015-06-12 06:57:17 +02:00
dcf582ae31
KCC: ignore the bridges_required option
...
At least until we have SiteLinkBridges to test against.
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 >
2015-06-12 06:57:17 +02:00
229165553a
KCC: remove a TODO with seemingly no basis in specification
...
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 >
2015-06-12 06:57:17 +02:00
534dfb08fb
KCC: clarify setup-vertices docstring, remove TODO
...
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 >
2015-06-12 06:57:17 +02:00
218baa67ca
KCC: note about the meaning of None in schedule types
...
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 >
2015-06-12 06:57:17 +02:00
957e9b0278
KCC: combine_repl_info() returns the combined replinfo
...
Previously it returned False if there was no intersections (i.e,
the new repl_info duration was 0). Now the same check can be performed
by checking the duration directly.
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 >
Conflicts:
python/samba/kcc/graph.py
2015-06-12 06:57:17 +02:00
b5a294eb50
KCC: let kcc.graph.ReplInfo know its duration
...
This is going to lead to a few simplifications.
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 >
2015-06-12 06:57:17 +02:00
27e08cdead
KCC: docstring for kcc.graph.InternalEdge
...
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 >
2015-06-12 06:57:17 +02:00
0f438acd8c
KCC: docstring for kcc.graph.MultiEdge
...
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 >
2015-06-12 06:57:17 +02:00
5a3cb71d0b
KCC: docstring for kcc.graph.Vertex
...
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 >
2015-06-12 06:57:16 +02:00
ea48c8f2b6
KCC: docstring for kcc.graph.VertexColour()
...
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 >
2015-06-12 06:57:16 +02:00
7663951112
KCC: docstring for kcc.graph.setup_graph()
...
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 >
2015-06-12 06:57:16 +02:00
2331161a4a
KCC: docstring for kcc.graph.add_edge_out()
...
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 >
2015-06-12 06:57:16 +02:00
3a5a516ce3
KCC: docstring for kcc.graph.find_component()
...
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 >
2015-06-12 06:57:16 +02:00
f019fea947
KCC: some rearrangement in kcc.graph.add_int_edge()
...
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 >
2015-06-12 06:57:16 +02:00
6c760c1a0d
KCC: docstring for kcc.graph.kruskal()
...
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 >
2015-06-12 06:57:16 +02:00
84fb4afe87
KCC: docstring for kcc.graph.add_int_edge()
...
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 >
2015-06-12 06:57:16 +02:00
61c1d8ad39
KCC: docstring for kcc.graph.process_edge()
...
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 >
2015-06-12 06:57:16 +02:00
a75b874902
KCC: docstring for kcc.graph.process_edge_set()
...
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 >
2015-06-12 06:57:16 +02:00
7c62a85851
KCC: docstring for kcc.graph.undemote_vertex()
...
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 >
2015-06-12 06:57:16 +02:00
90aa7f12e1
KCC: docstring for kcc.graph.check_demote_vertex()
...
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 >
2015-06-12 06:57:16 +02:00
68a0f131fb
KCC: remove XXX scare comments around guid comparisons.
...
The guid comparisons are settled. We use ndrpack.
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 >
2015-06-12 06:57:16 +02:00
af1a307f8d
KCC: setup_dijkstra() creates its own empty queue
...
It needs to operate on an empty list, which is something the caller
really shouldn't have to worry about.
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 >
2015-06-12 06:57:16 +02:00
4a9b9b23f0
KCC: Add graph.InternalEdge.__lt__ docstring
...
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 >
2015-06-12 06:57:16 +02:00
b59666c36d
KCC: Add graph.try_new_path docstring
...
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 >
2015-06-12 06:57:16 +02:00
3069fba6e5
KCC: Add graph.dijkstra and setup_dijkstra() docstrings
...
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 >
2015-06-12 06:57:16 +02:00
a0fea23811
KCC: Add graph.setup_vertices() docstring
...
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 >
2015-06-12 06:57:16 +02:00
aeda7f4c61
KCC: don't pretend graph.create_edge_set() is useful
...
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 >
2015-06-12 06:57:15 +02:00
a49cd69642
KCC: Add s.k.g.create_auto_edge_set() docstring, improve variable name
...
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 >
2015-06-12 06:57:15 +02:00
f86620edc7
KCC: Add samba.kcc.graph.create_edge() docstring
...
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 >
2015-06-12 06:57:15 +02:00
86004daff5
KCC: improve samba.kcc.graph.get_spanning_tree_edges() docstring
...
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 >
2015-06-12 06:57:15 +02:00
79f2c71709
KCC: Add ReplInfo docstring
...
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 >
2015-06-12 06:57:15 +02:00
004a9ba6b1
KCC: shift ReplInfo, MAX_DWORD from kcc.kcc_utils to kcc.graph
...
They are only used in graph.py.
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 >
2015-06-12 06:57:15 +02:00
a6b7a9abc3
KCC: Don't pretend to "load_all_transports"
...
Samba doesn't do SMTP, so nor does Samba KCC. Because we were
following the spec, we have had special cases for non-IP transports
in numerous places. This removes a few more of those.
The gains are a loss of complexity and the removal of untestable code.
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 >
Conflicts:
python/samba/kcc/__init__.py
2015-06-12 06:57:15 +02:00
f8a68af6ff
KCC: improve docstring for kcc.graph.get_spanning_tree_edges()
...
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 >
2015-06-12 06:57:15 +02:00
9af0a067f0
KCC: improve docstring for kcc.graph.combine_repl_info()
...
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 >
2015-06-12 06:57:15 +02:00
eba852cc98
KCC: write dot files in a deterministic, user specified place
...
We were using randomised tempfile names in /tmp, initially to avoid
overwriting previous runs so as to track progress. Now we hardly ever
care about the old versions, and a user-specified name will be handy
for testing.
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 >
2015-06-12 06:57:14 +02:00
b845e29b26
KCC: move functions used in kcc.graph into kcc.graph
...
This should have happened when graph.py was split off from kcc_utils,
and we *would* merge it there, but too many things have happened to
these functions in the meantime.
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 >
2015-06-12 06:57:13 +02:00
ff7a0902dd
KCC: clarify a couple of comments in graph.py
...
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 >
2015-06-12 06:57:13 +02:00
427d05d1ac
KCC: shift samba.kcc intersite functions to samba.kcc.graph
...
So samba.kcc.graph is the place to look for everything intersite.
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 >
2015-06-12 06:57:13 +02:00
b0e6a74362
KCC: split kcc_utils into samba.kcc.{kcc_utils,graph}
...
graph.py has the intersite graph stuff.
kcc_utils does intrasite, namespace, &cetera.
The wildcard imports are tidied up, so samba_kcc imports unix2nttime
directly rather than letting it fall out of kcc_utils.
Intersite graph functions samba/kcc/__init__.py are also shifted into
graph.py.
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 >
2015-06-12 06:57:13 +02:00