diff options
| author | Douglas Bagnall <douglas.bagnall@catalyst.net.nz> | 2015-06-22 16:38:29 +1200 |
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2015-10-29 05:08:15 +0100 |
| commit | 8fe9992cffed82e9e26ebe8185f372c8a1dfb3a9 (patch) | |
| tree | a9ef08c1f0f3d98c2801c3f680f53212b1bb33f4 /python | |
| parent | 47b3334f48f21118ba1f61e841eb95920f384ee4 (diff) | |
| download | samba-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__.py | 21 |
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" % |
