s4 provision: DNS backend should be set by caller
authorKai Blin <kai@samba.org>
Sat, 15 Oct 2011 11:54:45 +0000 (13:54 +0200)
committerKai Blin <kai@samba.org>
Mon, 17 Oct 2011 07:51:12 +0000 (09:51 +0200)
Autobuild-User: Kai Blin <kai@samba.org>
Autobuild-Date: Mon Oct 17 09:51:12 CEST 2011 on sn-devel-104

source4/scripting/python/samba/join.py
source4/scripting/python/samba/provision/__init__.py
source4/scripting/python/samba/upgrade.py
source4/scripting/python/samba/upgradehelpers.py

index 731f0b501bc48197621a962ce5ca91e38ad04312..6a8ac97f1c3ebcd11c92e5ab63c56d0d3d47cbf4 100644 (file)
@@ -584,7 +584,8 @@ class dc_join(object):
                             serverdn=ctx.server_dn, domain=ctx.domain_name,
                             hostname=ctx.myname, domainsid=ctx.domsid,
                             machinepass=ctx.acct_pass, serverrole="domain controller",
-                            sitename=ctx.site, lp=ctx.lp, ntdsguid=ctx.ntds_guid)
+                            sitename=ctx.site, lp=ctx.lp, ntdsguid=ctx.ntds_guid,
+                            dns_backend="NONE")
         print "Provision OK for domain DN %s" % presult.domaindn
         ctx.local_samdb = presult.samdb
         ctx.lp          = presult.lp
@@ -622,7 +623,8 @@ class dc_join(object):
                                  domainguid=domguid,
                                  targetdir=ctx.targetdir, samdb_fill=FILL_SUBDOMAIN,
                                  machinepass=ctx.acct_pass, serverrole="domain controller",
-                                 lp=ctx.lp, hostip=ctx.names.hostip, hostip6=ctx.names.hostip6)
+                                 lp=ctx.lp, hostip=ctx.names.hostip, hostip6=ctx.names.hostip6,
+                                 dns_backend="BIND9_FLATFILE")
         print("Provision OK for domain %s" % ctx.names.dnsdomain)
 
 
index 6594e39cb3b021b88e12e45d2334b4140768e55c..5e7e374ab9e0da0296bbd1b791eaa692c2d78743 100644 (file)
@@ -1625,10 +1625,6 @@ def provision_fill(samdb, secrets_ldb, logger, names, paths,
                             dnsdomain=names.dnsdomain,
                             dns_keytab_path=paths.dns_keytab, dnspass=dnspass)
 
-        # Default DNS backend is BIND9_FLATFILE using txt files for zone information
-        if not dns_backend:
-            dns_backend = "BIND9_FLATFILE"
-
         setup_ad_dns(samdb, names, logger, hostip=hostip, hostip6=hostip6,
                      dns_backend=dns_backend, os_level=dom_for_fun_level)
 
index b41ab77eb23b9ee5c89aaf1a4c34e3fffafd36bf..07cb720f88953946a658c00db8603a8995ee1d7c 100644 (file)
@@ -621,14 +621,20 @@ Please fix this account before attempting to upgrade again
             logger.error("   %s" % str(sid))
         raise ProvisioningError("Please remove duplicate sid entries before upgrade.")
 
+    if serverrole == "domain controller":
+        dns_backend = "BIND9_FLATFILE"
+    else:
+        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, machinepass=machinepass,
                        serverrole=serverrole, samdb_fill=FILL_FULL,
-                       useeadb=useeadb)
+                       useeadb=useeadb, dns_backend=dns_backend)
 
     # Import WINS database
     logger.info("Importing WINS database")
index 9034140195b0dabd692b65d8757e8e8260e56530..043f629ce537d5bb913f61895f0879701a36e999 100755 (executable)
@@ -256,6 +256,7 @@ def newprovision(names, creds, session, smbconf, provdir, logger):
         shutil.rmtree(provdir)
     os.mkdir(provdir)
     logger.info("Provision stored in %s", provdir)
+    dns_backend="BIND9_FLATFILE"
     provision(logger, session, creds, smbconf=smbconf,
             targetdir=provdir, samdb_fill=FILL_FULL, realm=names.realm,
             domain=names.domain, domainguid=names.domainguid,
@@ -268,7 +269,7 @@ def newprovision(names, creds, session, smbconf, provdir, logger):
             serverrole="domain controller", ldap_backend_extra_port=None,
             backend_type=None, ldapadminpass=None, ol_mmr_urls=None,
             slapd_path=None, setup_ds_path=None, nosync=None,
-            dom_for_fun_level=names.domainlevel,
+            dom_for_fun_level=names.domainlevel, dns_backend=dns_backend,
             ldap_dryrun_mode=None, useeadb=True)