mirror of
https://github.com/samba-team/samba.git
synced 2025-07-27 07:42:04 +03:00
s4-classicupgrade: Do all the queries of data before the provision()
This allows provision to change the s3 smb.conf settings if required. Andrew Bartlett
This commit is contained in:
@ -769,41 +769,6 @@ Please fix this account before attempting to upgrade again
|
||||
logger.error(" %s" % str(sid))
|
||||
raise ProvisioningError("Please remove duplicate sid entries before upgrade.")
|
||||
|
||||
if not (serverrole == "ROLE_DOMAIN_BDC" or serverrole == "ROLE_DOMAIN_PDC"):
|
||||
dns_backend = "NONE"
|
||||
|
||||
# Do full provision
|
||||
result = provision(logger, session_info, None,
|
||||
targetdir=targetdir, realm=realm, domain=domainname,
|
||||
domainsid=str(domainsid), next_rid=next_rid,
|
||||
dc_rid=machinerid,
|
||||
dom_for_fun_level=dsdb.DS_DOMAIN_FUNCTION_2003,
|
||||
hostname=netbiosname.lower(), machinepass=machinepass,
|
||||
serverrole=serverrole, samdb_fill=FILL_FULL,
|
||||
useeadb=useeadb, dns_backend=dns_backend, use_rfc2307=True,
|
||||
use_ntvfs=use_ntvfs)
|
||||
result.report_logger(logger)
|
||||
|
||||
# Import WINS database
|
||||
logger.info("Importing WINS database")
|
||||
|
||||
samba3_winsdb = None
|
||||
try:
|
||||
samba3_winsdb = samba3.get_wins_db()
|
||||
except IOError, e:
|
||||
logger.warn('Cannot open wins database, Ignoring: %s', str(e))
|
||||
|
||||
if samba3_winsdb:
|
||||
import_wins(Ldb(result.paths.winsdb), samba3_winsdb)
|
||||
|
||||
# Set Account policy
|
||||
logger.info("Importing Account policy")
|
||||
import_sam_policy(result.samdb, policy, logger)
|
||||
|
||||
# Migrate IDMAP database
|
||||
logger.info("Importing idmap database")
|
||||
import_idmap(result.idmap, samba3, logger)
|
||||
|
||||
# Get posix attributes from ldap or the os
|
||||
homes = {}
|
||||
shells = {}
|
||||
@ -844,6 +809,41 @@ Please fix this account before attempting to upgrade again
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
if not (serverrole == "ROLE_DOMAIN_BDC" or serverrole == "ROLE_DOMAIN_PDC"):
|
||||
dns_backend = "NONE"
|
||||
|
||||
# Do full provision
|
||||
result = provision(logger, session_info, None,
|
||||
targetdir=targetdir, realm=realm, domain=domainname,
|
||||
domainsid=str(domainsid), next_rid=next_rid,
|
||||
dc_rid=machinerid,
|
||||
dom_for_fun_level=dsdb.DS_DOMAIN_FUNCTION_2003,
|
||||
hostname=netbiosname.lower(), machinepass=machinepass,
|
||||
serverrole=serverrole, samdb_fill=FILL_FULL,
|
||||
useeadb=useeadb, dns_backend=dns_backend, use_rfc2307=True,
|
||||
use_ntvfs=use_ntvfs)
|
||||
result.report_logger(logger)
|
||||
|
||||
# Import WINS database
|
||||
logger.info("Importing WINS database")
|
||||
|
||||
samba3_winsdb = None
|
||||
try:
|
||||
samba3_winsdb = samba3.get_wins_db()
|
||||
except IOError, e:
|
||||
logger.warn('Cannot open wins database, Ignoring: %s', str(e))
|
||||
|
||||
if samba3_winsdb:
|
||||
import_wins(Ldb(result.paths.winsdb), samba3_winsdb)
|
||||
|
||||
# Set Account policy
|
||||
logger.info("Importing Account policy")
|
||||
import_sam_policy(result.samdb, policy, logger)
|
||||
|
||||
# Migrate IDMAP database
|
||||
logger.info("Importing idmap database")
|
||||
import_idmap(result.idmap, samba3, logger)
|
||||
|
||||
# Set the s3 context for samba4 configuration
|
||||
new_lp_ctx = s3param.get_context()
|
||||
new_lp_ctx.load(result.lp.configfile)
|
||||
|
Reference in New Issue
Block a user