summaryrefslogtreecommitdiff
path: root/python
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
commitacd77283ccf3253bb7d5d048465bbf8e77a89982 (patch)
treebedcc1a3ed6d656dab5c7bbd7c0f9f509ac913e9 /python
parent76f195a2792d0c4cd86a337881d1ce01194113af (diff)
downloadsamba-acd77283ccf3253bb7d5d048465bbf8e77a89982.tar.gz
samba-acd77283ccf3253bb7d5d048465bbf8e77a89982.tar.bz2
samba-acd77283ccf3253bb7d5d048465bbf8e77a89982.zip
KCC: default to not loading new samdb when we already have one
This should make things simpler in the --import-ldif case. 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__.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/python/samba/kcc/__init__.py b/python/samba/kcc/__init__.py
index 120f001b54a..0e37611d7d8 100644
--- a/python/samba/kcc/__init__.py
+++ b/python/samba/kcc/__init__.py
@@ -2348,13 +2348,21 @@ class KCC(object):
for dsa in site.dsa_table.values()])
return dsas
- def load_samdb(self, dburl, lp, creds):
+ def load_samdb(self, dburl, lp, creds, force=False):
"""Load the database using an url, loadparm, and credentials
+ If force is False, the samdb won't be reloaded if it already
+ exists.
+
:param dburl: a database url.
:param lp: a loadparm object.
:param creds: a Credentials 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)
@@ -2411,15 +2419,12 @@ class KCC(object):
determine link availability (boolean, default False)
:return: 1 on error, 0 otherwise
"""
- # We may already have a samdb setup if we are
- # currently importing an ldif for a test run
- if self.samdb is None:
- try:
- self.load_samdb(dburl, lp, creds)
- except ldb.LdbError, (num, msg):
- logger.error("Unable to open sam database %s : %s" %
- (dburl, msg))
- return 1
+ try:
+ 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" %