summaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)AuthorFilesLines
2015-06-12KCC: shift tests/ldif_utils.py to tests/kcc/ldif_import_export.pyDouglas Bagnall1-0/+0
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-12KCC: shift tests/graph_utils.py to tests/kcc/graph_utils.pyDouglas Bagnall1-0/+0
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-12kcc: Allow RODC to be included in intersite topologyGarming Sam2-1/+9
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>
2015-06-12KCC: remove a condition dependant on non-IP transportDouglas Bagnall1-5/+0
Because it is in a loop that ignores non-IP transports 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-12KCC: Add fake transport EDGE_TYPE_ALL at most onceDouglas Bagnall1-3/+3
It was being added in a loop which only ever looped once (because we only do one transport, IP), so this makes no actual difference but it is the correct thing. 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-12KCC: simplify repsfrom pruning in KCC.translate_ntdsconn()Douglas Bagnall1-27/+10
This section is actually quite simple -- we don't want a repsFrom if there is no DRS connection -- but the existing comments and code had managed to cause us hours of confusion and much gnashing teeth, the evidence of which will hopefully have been squashed out of the git history by the time you read this. 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-12KCC: improve docstring for KCC.plot_all_connections()Douglas Bagnall1-0/+5
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-12KCC: improve docstring for KCC.run()Douglas Bagnall1-3/+13
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-12KCC: add multi-site ldif to ldif_import_export test suiteDouglas Bagnall1-0/+56
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-12KCC: test stub for KCC objectDouglas Bagnall1-0/+80
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-12KCC: write dot files in a deterministic, user specified placeDouglas Bagnall3-41/+46
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-12KCC: remove unnecessary debug message in KCC.get_all_bridgeheads()Douglas Bagnall1-6/+0
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-12KCC: don't generate dot/verify graph edges unless necessaryDouglas Bagnall1-10/+11
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-12KCC: clarify a comment in is_stale_link_connection()Douglas Bagnall1-1/+3
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-12KCC: explicit None check in refresh_failed_links_connections()Douglas Bagnall1-1/+1
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-12KCC: remove commented out code in KCC.refresh_failed_links_connections()Douglas Bagnall1-4/+0
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-12KCC: remove unused method KCC.should_be_present_test()Douglas Bagnall1-10/+0
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-12KCC: remove an unused variable in KCC.remove_unneeded_ntdsconn()Douglas Bagnall1-4/+0
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-12KCC: rename is_repsFrom_implied to get_dsa_for_implied_replica, simplifyDouglas Bagnall1-18/+21
KCC.is_repsFrom_implied() did more than it sounded like -- it returned a tuple of (implied, dsa), where the dsa was None if and only if implied was False, and a DSA object if implied was True. Thus the implied flag was strictly reduntant and the only caller really only wanted the DSA. Now it just gets the DSA, or None. 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-12KCC: tidy up a missed keystroke in a commentDouglas Bagnall1-1/+1
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-12KCC: remove unused variable from KCC.modify_repsFrom()Douglas Bagnall1-3/+0
It looks as if this update bitfield was meant to be returned. It isn't, and none of the callers expect it. Good riddance. 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-12KCC: move functions used in kcc.graph into kcc.graphDouglas Bagnall3-65/+64
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-12KCC: add a warning about side-effects in RepsFromTo.__setattr__Douglas Bagnall1-0/+4
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-12KCC: fix combine_repl_infoDouglas Bagnall1-12/+4
Previous the supposedly combined repl_info was always the default, all 0x11, 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-12KCC: clarify a couple of comments in graph.pyDouglas Bagnall1-4/+4
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-12KCC: KCC object keeps lp and creds for live pingsDouglas Bagnall1-17/+30
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-12KCC improve docstring for KCC.load_samdb()Douglas Bagnall1-1/+1
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-12KCC improve docstring for KCC.construct_intrasite_graph()Douglas Bagnall1-1/+15
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-12KCC improve docstring for update_rodc_connection()Douglas Bagnall1-5/+6
Also make a short-cut early exit visually shorter and earlier. 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-12KCC improve docstring for KCC.create_intersite_connections()Douglas Bagnall1-3/+5
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-12KCC improve docstring for refresh_failed_links_connections()Douglas Bagnall1-4/+3
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-12KCC: shift samba.ldif_utils to samba.kcc.ldif_import_exportDouglas Bagnall3-12/+11
These functions are really only of use for KCC, and they only import and export rather than be general utils. 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-12KCC: remove remnants of script from samba/kcc/__init__Douglas Bagnall1-28/+6
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-12KCC: shift samba.kcc intersite functions to samba.kcc.graphDouglas Bagnall2-435/+454
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-12KCC: split kcc_utils into samba.kcc.{kcc_utils,graph}Douglas Bagnall3-146/+184
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-12KCC: rearrange 3 functions in samba.kcc __init__Douglas Bagnall1-40/+39
This module still isn't actually used. 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-12KCC: split and shift samba.graph_utils -> samba.kcc.{graph_utils,debug}Douglas Bagnall3-23/+76
The debug module contains debug functions and colours. Graph_utils keeps the DOT file generation and graph verification 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>
2015-06-12KCC: Reduce brokenness of samba.kcc moduleDouglas Bagnall1-381/+119
This module is still not being used, and is being fixed slowly to make it clear what is happening. Here we remove references to globals in the samba_kcc script (notably opts), and instead add the various options as KCC.__init__ arguments. There is more to come. 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-12KCC: Copy KCC core out of samba_kcc into samba.kcc moduleDouglas Bagnall1-0/+3399
The "module" is not actually used at this point, which is just as well as it would be utterly broken. This copy is just to show that the eventual move is really a move and not a complete rewrite. Note that if this file is not executable (and it really shouldn't be), this commit causes the samba.tests.source test to fail with "Files with shebang line that are not executable". 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-05-30KCC: tests/ldif_utils tests ldif importDouglas Bagnall1-5/+30
Thanks as usual to Andrew Bartlett for his help. 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-05-30KCC: ldif_utils: ldif_to_samdb doesn't need creds; begin selftestDouglas Bagnall2-3/+101
The tests are based on the testdata/ldif-utils-test-multisite.ldif which describes a multisite windows network. It was constructed by Garming Sam. 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-05-30kcc: prevent non-determinism when running translationGarming Sam1-5/+14
RODC connections could appear first some runs while not always. This would mean that repsFrom could accidentally be deleted. 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>
2015-05-29KCC: test suite for the graph_utilsDouglas Bagnall2-7/+174
This found a few bugs in the tests which were fixed. 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> Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Fri May 29 13:55:54 CEST 2015 on sn-devel-104
2015-05-29KCC: remove print statements from kcc_utilsDouglas Bagnall1-3/+0
debug noise should not go to stdout 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-05-29KCC: more pep8 for kcc_utilsDouglas Bagnall1-17/+15
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-05-29KCC: pep8 pass over graph_utils.pyDouglas Bagnall1-47/+54
Using the `flake8` tool, which also spots e.g. unused imports. 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-05-29KCC: add graph tests of robustness against edge and vertex failureDouglas Bagnall1-3/+24
These tests are themselves tested in a later patch. 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-05-29KCC: improve directed_double_ring graph checkDouglas Bagnall1-46/+73
The previous test assumed there would be only a double directed ring but in fact there could be other edges. In large graphs there are certain to be more edges. Now we want to be sure there is a complete ring apart from any other connections. This is called the Hamiltonian path problem and takes exponential time in general, so now our test is that it looks *quite* a lot like a complete ring. 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-05-29KCC: slight rewrite for the sake of pep8Douglas Bagnall1-6/+4
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-05-29KCC: more pep8, using temp variables in placesDouglas Bagnall1-31/+34
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>