diff options
| author | Andrew Bartlett <abartlet@samba.org> | 2008-04-04 12:25:19 +1100 | 
|---|---|---|
| committer | Andrew Bartlett <abartlet@samba.org> | 2008-04-04 12:25:19 +1100 | 
| commit | c764791100079ed447c07ca6b99d33f9695255c3 (patch) | |
| tree | 51d0c05d75b6f08be3f32ea97c2135d058974b74 /source4/scripting/python | |
| parent | c26387a473fd26ac51c74c001b520d7fd7d353ec (diff) | |
| download | samba-c764791100079ed447c07ca6b99d33f9695255c3.tar.gz samba-c764791100079ed447c07ca6b99d33f9695255c3.tar.bz2 samba-c764791100079ed447c07ca6b99d33f9695255c3.zip | |
Clean up provision and rootdse module to hard-code less stuff.
In particular, allow for the server DN to be in a different site
(possible outcome of a DRS replication).
Andrew Bartlett
(This used to be commit 9ee4e39fe178317f42fd9a0adceea24b55dfe0f1)
Diffstat (limited to 'source4/scripting/python')
| -rw-r--r-- | source4/scripting/python/samba/provision.py | 42 | 
1 files changed, 21 insertions, 21 deletions
| diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py index 6917aa1a54..02460070b4 100644 --- a/source4/scripting/python/samba/provision.py +++ b/source4/scripting/python/samba/provision.py @@ -265,7 +265,8 @@ def provision_paths_from_lp(lp, dnsdomain):      return paths  def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None, serverrole=None, -              rootdn=None, domaindn=None, configdn=None, schemadn=None, sitename=None): +                rootdn=None, domaindn=None, configdn=None, schemadn=None, serverdn=None,  +                sitename=None):      if hostname is None:          hostname = socket.gethostname().split(".")[0].lower() @@ -332,6 +333,7 @@ def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None, serverrole=      names.netbiosname = netbiosname      names.hostname = hostname      names.sitename = sitename +    names.serverdn = "CN=%s,CN=Servers,CN=%s,CN=Sites,%s" % (netbiosname, sitename, configdn)      return names @@ -543,9 +545,7 @@ def setup_samdb_partitions(samdb_path, setup_path, message, lp, session_info,          samdb.load_ldif_file_add(setup_path("provision_init.ldif"))          message("Setting up sam.ldb rootDSE") -        setup_samdb_rootdse(samdb, setup_path, names.schemadn, names.domaindn, names.hostname,  -                            names.dnsdomain, names.realm, names.rootdn, names.configdn, names.netbiosname, -                            names.sitename) +        setup_samdb_rootdse(samdb, setup_path, names)          if erase:              message("Erasing data from partitions") @@ -656,25 +656,22 @@ def setup_idmapdb(path, setup_path, session_info, credentials, lp):      idmap_ldb.load_ldif_file_add(setup_path("idmap_init.ldif"))      return idmap_ldb -def setup_samdb_rootdse(samdb, setup_path, schemadn, domaindn, hostname,  -                        dnsdomain, realm, rootdn, configdn, netbiosname, -                        sitename): +def setup_samdb_rootdse(samdb, setup_path, names):      """Setup the SamDB rootdse.      :param samdb: Sam Database handle      :param setup_path: Obtain setup path      """      setup_add_ldif(samdb, setup_path("provision_rootdse_add.ldif"), { -        "SCHEMADN": schemadn,  -        "NETBIOSNAME": netbiosname, -        "DNSDOMAIN": dnsdomain, -        "DEFAULTSITE": sitename, -        "REALM": realm, -        "DNSNAME": "%s.%s" % (hostname, dnsdomain), -        "DOMAINDN": domaindn, -        "ROOTDN": rootdn, -        "CONFIGDN": configdn, -        "VERSION": samba.version(), +        "SCHEMADN": names.schemadn,  +        "NETBIOSNAME": names.netbiosname, +        "DNSDOMAIN": names.dnsdomain, +        "REALM": names.realm, +        "DNSNAME": "%s.%s" % (names.hostname, names.dnsdomain), +        "DOMAINDN": names.domaindn, +        "ROOTDN": names.rootdn, +        "CONFIGDN": names.configdn, +        "SERVERDN": names.serverdn,          }) @@ -879,7 +876,8 @@ FILL_DRS = "DRS"  def provision(setup_dir, message, session_info,                 credentials, smbconf=None, targetdir=None, samdb_fill=FILL_FULL, realm=None,  -              rootdn=None, domaindn=None, schemadn=None, configdn=None, +              rootdn=None, domaindn=None, schemadn=None, configdn=None,  +              serverdn=None,                domain=None, hostname=None, hostip=None, hostip6=None,                 domainsid=None, adminpass=None, krbtgtpass=None, domainguid=None,                 policyguid=None, invocationid=None, machinepass=None,  @@ -932,7 +930,8 @@ def provision(setup_dir, message, session_info,      names = guess_names(lp=lp, hostname=hostname, domain=domain,                           dnsdomain=realm, serverrole=serverrole, sitename=sitename, -                        rootdn=rootdn, domaindn=domaindn, configdn=configdn, schemadn=schemadn) +                        rootdn=rootdn, domaindn=domaindn, configdn=configdn, schemadn=schemadn, +                        serverdn=serverdn)      paths = provision_paths_from_lp(lp, names.dnsdomain) @@ -1064,12 +1063,13 @@ def provision(setup_dir, message, session_info,  def provision_become_dc(setup_dir=None,                          smbconf=None, targetdir=None, realm=None,                           rootdn=None, domaindn=None, schemadn=None, configdn=None, +                        serverdn=None,                          domain=None, hostname=None, domainsid=None,                           adminpass=None, krbtgtpass=None, domainguid=None,                           policyguid=None, invocationid=None, machinepass=None,                           dnspass=None, root=None, nobody=None, nogroup=None, users=None,                           wheel=None, backup=None, aci=None, serverrole=None,  -                        ldap_backend=None, ldap_backend_type=None, sitename=DEFAULTSITE): +                        ldap_backend=None, ldap_backend_type=None, sitename=None):      def message(text):  	"""print a message if quiet is not set.""" @@ -1077,7 +1077,7 @@ def provision_become_dc(setup_dir=None,      provision(setup_dir, message, system_session(), None,                smbconf=smbconf, targetdir=targetdir, samdb_fill=FILL_DRS, realm=realm,  -              rootdn=rootdn, domaindn=domaindn, schemadn=schemadn, configdn=configdn,  +              rootdn=rootdn, domaindn=domaindn, schemadn=schemadn, configdn=configdn, serverdn=serverdn,                domain=domain, hostname=hostname, hostip="127.0.0.1", domainsid=domainsid, machinepass=machinepass, serverrole="domain controller", sitename=sitename); | 
