1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-12 20:58:37 +03:00

provision: Leave result reporting up to caller.

This commit is contained in:
Jelmer Vernooij 2012-02-26 15:44:40 +01:00
parent 02ba9095e2
commit 21f443eb82
7 changed files with 22 additions and 13 deletions

View File

@ -1782,8 +1782,9 @@ if __name__ == '__main__':
message(SIMPLE, "Creating a reference provision")
provisiondir = tempfile.mkdtemp(dir=paths.private_dir,
prefix="referenceprovision")
newprovision(names, creds, session, smbconf, provisiondir,
result = newprovision(names, creds, session, smbconf, provisiondir,
provision_logger)
result.report_logger(provision_logger)
# TODO
# 6) and 7)

View File

@ -599,6 +599,7 @@ class dc_join(object):
machinepass=ctx.acct_pass, serverrole="domain controller",
sitename=ctx.site, lp=ctx.lp, ntdsguid=ctx.ntds_guid,
dns_backend="NONE")
presult.report_logger(logger)
print "Provision OK for domain DN %s" % presult.domaindn
ctx.local_samdb = presult.samdb
ctx.lp = presult.lp

View File

@ -118,6 +118,7 @@ class ProvisionPaths(object):
self.dns = None
self.winsdb = None
self.private_dir = None
self.phpldapadminconfig = None
class ProvisionNames(object):
@ -379,11 +380,16 @@ class ProvisionResult(object):
def report_logger(self, logger):
"""Report this provision result to a logger."""
logger.info("Server Role: %s" % self.server_role)
logger.info("Hostname: %s" % self.names.hostname)
logger.info("NetBIOS Domain: %s" % self.names.domain)
logger.info("DNS Domain: %s" % self.names.dnsdomain)
logger.info("DOMAIN SID: %s" % self.domainsid)
logger.info("Server Role: %s", self.server_role)
logger.info("Hostname: %s", self.names.hostname)
logger.info("NetBIOS Domain: %s", self.names.domain)
logger.info("DNS Domain: %s", self.names.dnsdomain)
logger.info("DOMAIN SID: %s", self.domainsid)
if self.paths.phpldapadminconfig is not None:
logger.info(
"A phpLDAPadmin configuration file suitable for administering the Samba 4 LDAP server has been created in %s .",
self.paths.phpldapadminconfig)
def check_install(lp, session_info, credentials):
@ -1837,9 +1843,6 @@ def provision(logger, session_info, credentials, smbconf=None,
result.samdb = samdb
result.idmap = idmap
result.domainsid = str(domainsid)
result.report_logger(logger)
logger.info("A phpLDAPadmin configuration file suitable for administering the Samba 4 LDAP server has been created in %s .",
paths.phpldapadminconfig)
if samdb_fill == FILL_FULL:
if adminpass_generated:

View File

@ -141,8 +141,8 @@ class DummyLogger(object):
def __init__(self):
self.entries = []
def info(self, text):
self.entries.append(("INFO", text))
def info(self, text, *args):
self.entries.append(("INFO", text % args))
class ProvisionResultTests(TestCase):
@ -156,6 +156,7 @@ class ProvisionResultTests(TestCase):
result.names.domain = "DOMEIN"
result.names.dnsdomain = "dnsdomein"
result.domainsid = "S1-1-1"
result.paths = ProvisionPaths()
result.report_logger(logger)
self.assertEquals(logger.entries, [
('INFO', 'Server Role: domain controller'),

View File

@ -643,6 +643,7 @@ Please fix this account before attempting to upgrade again
hostname=netbiosname.lower(), machinepass=machinepass,
serverrole=serverrole, samdb_fill=FILL_FULL,
useeadb=useeadb, dns_backend=dns_backend)
result.report_logger(logger)
# Import WINS database
logger.info("Importing WINS database")

View File

@ -259,7 +259,7 @@ def newprovision(names, creds, session, smbconf, provdir, logger):
os.mkdir(provdir)
logger.info("Provision stored in %s", provdir)
dns_backend="BIND9_DLZ"
provision(logger, session, creds, smbconf=smbconf,
return provision(logger, session, creds, smbconf=smbconf,
targetdir=provdir, samdb_fill=FILL_FULL, realm=names.realm,
domain=names.domain, domainguid=names.domainguid,
domainsid=str(names.domainsid), ntdsguid=names.ntdsguid,

View File

@ -243,7 +243,7 @@ elif opts.use_xattrs == "auto" and not lp.get("posix:eadb"):
session = system_session()
try:
provision(logger,
result = provision(logger,
session, creds, smbconf=smbconf, targetdir=opts.targetdir,
samdb_fill=samdb_fill, realm=opts.realm, domain=opts.domain,
domainguid=opts.domain_guid, domainsid=opts.domain_sid,
@ -263,3 +263,5 @@ try:
except ProvisioningError, e:
print str(e)
sys.exit(1)
result.report_logger(logger)