summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>2015-06-22 16:38:29 +1200
committerAndrew Bartlett <abartlet@samba.org>2015-10-29 05:08:15 +0100
commit8fe9992cffed82e9e26ebe8185f372c8a1dfb3a9 (patch)
treea9ef08c1f0f3d98c2801c3f680f53212b1bb33f4 /python
parent47b3334f48f21118ba1f61e841eb95920f384ee4 (diff)
downloadsamba-8fe9992cffed82e9e26ebe8185f372c8a1dfb3a9.tar.gz
samba-8fe9992cffed82e9e26ebe8185f372c8a1dfb3a9.tar.bz2
samba-8fe9992cffed82e9e26ebe8185f372c8a1dfb3a9.zip
KCC: load samdb before calling kcc.run()
kcc.run() is a mega-function that does nearly everything, including loading the database. The --list-valid-dsas and --test-all-reps-from tasks also want to load the database, but not do all that other run() stuff, so it makes sense to pull it out. When the samdb has not been loaded, run() will still load it -- this avoids having to change all the tests. 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 'python')
-rw-r--r--python/samba/kcc/__init__.py21
1 files changed, 10 insertions, 11 deletions
diff --git a/python/samba/kcc/__init__.py b/python/samba/kcc/__init__.py
index 458af39b373..d9c47c61720 100644
--- a/python/samba/kcc/__init__.py
+++ b/python/samba/kcc/__init__.py
@@ -2361,12 +2361,14 @@ class KCC(object):
:param force: a boolean indicating whether to overwrite.
"""
- if self.samdb is not None and not force:
- return
-
- self.samdb = SamDB(url=dburl,
- session_info=system_session(),
- credentials=creds, lp=lp)
+ if force or self.samdb is None:
+ try:
+ self.samdb = SamDB(url=dburl,
+ session_info=system_session(),
+ credentials=creds, lp=lp)
+ except ldb.LdbError, (num, msg):
+ raise KCCError("Unable to open sam database %s : %s" %
+ (dburl, msg))
def plot_all_connections(self, basename, verify_properties=()):
"""Helper function to plot and verify NTDSConnections
@@ -2420,12 +2422,9 @@ class KCC(object):
determine link availability (boolean, default False)
:return: 1 on error, 0 otherwise
"""
- try:
+ if self.samdb is None:
+ DEBUG_FN("samdb is None; let's load it from %s" % (dburl,))
self.load_samdb(dburl, lp, creds, force=False)
- except ldb.LdbError, (num, msg):
- logger.error("Unable to open sam database %s : %s" %
- (dburl, msg))
- return 1
if forced_local_dsa:
self.samdb.set_ntds_settings_dn("CN=NTDS Settings,%s" %