summaryrefslogtreecommitdiff
path: root/source4/scripting
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2015-06-17 16:38:29 +1200
committerAndrew Bartlett <abartlet@samba.org>2015-10-29 05:08:15 +0100
commitad009be3297ec9343fd07ea86a197dc11ab8890f (patch)
tree531a2753f06d4e5e78421735a68cd5cff860b1e9 /source4/scripting
parenta9ddca042c51de5c95327f41e3a31c178f5ab85b (diff)
downloadsamba-ad009be3297ec9343fd07ea86a197dc11ab8890f.tar.gz
KCC: shift --test-all-reps-from call to after kcc loading
This is in an effort to allow --test-all-reps-from to work with --import-ldif (though so far it doesn't for other reasons). Rather than replicate all the ldif loading logic within test_all_reps_from, we just wait delay the test_all_reps_from() call. 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>
Diffstat (limited to 'source4/scripting')
-rwxr-xr-xsource4/scripting/bin/samba_kcc22
1 files changed, 11 insertions, 11 deletions
diff --git a/source4/scripting/bin/samba_kcc b/source4/scripting/bin/samba_kcc
index 0caba79758c..449edda4c48 100755
--- a/source4/scripting/bin/samba_kcc
+++ b/source4/scripting/bin/samba_kcc
@@ -54,7 +54,7 @@ from samba.kcc import KCC
# If DEFAULT_RNG_SEED is None, /dev/urandom or system time is used.
DEFAULT_RNG_SEED = None
-def test_all_reps_from(lp, creds, unix_now, rng_seed=None):
+def test_all_reps_from(kcc, lp, creds, unix_now, rng_seed=None):
"""Run the KCC from all DSAs in read-only mode
The behaviour depends on the global opts variable which contains
@@ -69,11 +69,8 @@ def test_all_reps_from(lp, creds, unix_now, rng_seed=None):
:return None:
"""
# This implies readonly and attempt_live_connections
- kcc = KCC(unix_now, readonly=True,
- verify=opts.verify, debug=opts.debug,
- dot_file_dir=opts.dot_file_dir)
- kcc.load_samdb(opts.dburl, lp, creds)
dsas = kcc.list_dsas()
+ samdb = kcc.samdb
needed_parts = {}
current_parts = {}
@@ -93,6 +90,7 @@ def test_all_reps_from(lp, creds, unix_now, rng_seed=None):
kcc = KCC(unix_now, readonly=True,
verify=opts.verify, debug=opts.debug,
dot_file_dir=opts.dot_file_dir)
+ kcc.samdb = samdb
kcc.run(opts.dburl, lp, creds, forced_local_dsa=dsa_dn,
forget_local_links=opts.forget_local_links,
forget_intersite_links=opts.forget_intersite_links,
@@ -243,6 +241,9 @@ if opts.list_verify_tests:
list_verify_tests()
sys.exit(0)
+if opts.test_all_reps_from:
+ opts.readonly = True
+
if opts.debug:
logger.setLevel(logging.DEBUG)
elif opts.readonly:
@@ -273,16 +274,10 @@ creds = credopts.get_credentials(lp, fallback_machine=True)
if opts.dburl is None:
opts.dburl = lp.samdb_url()
-if opts.test_all_reps_from:
- opts.readonly = True
- test_all_reps_from(kcc, lp, creds, unix_now, rng_seed=opts.seed)
- sys.exit()
-
# Instantiate Knowledge Consistency Checker and perform run
kcc = KCC(unix_now, readonly=opts.readonly, verify=opts.verify,
debug=opts.debug, dot_file_dir=opts.dot_file_dir)
-
if opts.exportldif:
rc = kcc.export_ldif(opts.dburl, lp, creds, opts.exportldif)
sys.exit(rc)
@@ -297,6 +292,11 @@ if opts.importldif:
if rc != 0:
sys.exit(rc)
+if opts.test_all_reps_from:
+ kcc.load_samdb(opts.dburl, lp, creds, force=False)
+ test_all_reps_from(kcc, lp, creds, unix_now, rng_seed=opts.seed)
+ sys.exit()
+
if opts.list_valid_dsas:
kcc.load_samdb(opts.dburl, lp, creds, force=False)
print '\n'.join(kcc.list_dsas())