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:
parent
76f195a279
commit
acd77283cc
@ -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" %
|
||||||
|
@ -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()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user