1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-23 17:34:34 +03:00

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>
This commit is contained in:
Douglas Bagnall 2015-06-17 16:38:29 +12:00 committed by Andrew Bartlett
parent 76f195a279
commit acd77283cc
2 changed files with 16 additions and 11 deletions

View File

@ -2348,13 +2348,21 @@ class KCC(object):
for dsa in site.dsa_table.values()]) for dsa in site.dsa_table.values()])
return dsas 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 """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 dburl: a database url.
:param lp: a loadparm object. :param lp: a loadparm object.
:param creds: a Credentials 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, self.samdb = SamDB(url=dburl,
session_info=system_session(), session_info=system_session(),
credentials=creds, lp=lp) credentials=creds, lp=lp)
@ -2411,15 +2419,12 @@ class KCC(object):
determine link availability (boolean, default False) determine link availability (boolean, default False)
:return: 1 on error, 0 otherwise :return: 1 on error, 0 otherwise
""" """
# We may already have a samdb setup if we are try:
# currently importing an ldif for a test run self.load_samdb(dburl, lp, creds, force=False)
if self.samdb is None: except ldb.LdbError, (num, msg):
try: logger.error("Unable to open sam database %s : %s" %
self.load_samdb(dburl, lp, creds) (dburl, msg))
except ldb.LdbError, (num, msg): return 1
logger.error("Unable to open sam database %s : %s" %
(dburl, msg))
return 1
if forced_local_dsa: if forced_local_dsa:
self.samdb.set_ntds_settings_dn("CN=NTDS Settings,%s" % self.samdb.set_ntds_settings_dn("CN=NTDS Settings,%s" %

View File

@ -301,7 +301,7 @@ if opts.importldif:
sys.exit(rc) sys.exit(rc)
if opts.list_valid_dsas: if opts.list_valid_dsas:
kcc.load_samdb(opts.dburl, lp, creds) kcc.load_samdb(opts.dburl, lp, creds, force=False)
print '\n'.join(kcc.list_dsas()) print '\n'.join(kcc.list_dsas())
sys.exit() sys.exit()