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