svn commit: samba r26562 - in branches/SAMBA_4_0: . source/scripting/python/samba source/setup

jelmer at samba.org jelmer at samba.org
Sat Dec 22 02:26:40 GMT 2007


Author: jelmer
Date: 2007-12-22 02:26:38 +0000 (Sat, 22 Dec 2007)
New Revision: 26562

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26562

Log:
Fix provisioning using Python.

Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/scripting/python/samba/provision.py
   branches/SAMBA_4_0/source/setup/provision.py


Changeset:

Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:file-ids
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...

Modified: branches/SAMBA_4_0/source/scripting/python/samba/provision.py
===================================================================
--- branches/SAMBA_4_0/source/scripting/python/samba/provision.py	2007-12-22 00:47:48 UTC (rev 26561)
+++ branches/SAMBA_4_0/source/scripting/python/samba/provision.py	2007-12-22 02:26:38 UTC (rev 26562)
@@ -354,6 +354,36 @@
         })
 
 
+def setup_self_join(samdb, configdn, schemadn, domaindn, 
+                    netbiosname, hostname, dnsdomain, machinepass, dnspass, 
+                    realm, domainname, domainsid, invocationid, setup_path,
+                    policyguid, hostguid=None):
+    if hostguid is not None:
+        hostguid_add = "objectGUID: %s" % hostguid
+    else:
+        hostguid_add = ""
+
+    setup_add_ldif(samdb, setup_path("provision_self_join.ldif"), { 
+              "CONFIGDN": configdn, 
+              "SCHEMADN": schemadn,
+              "DOMAINDN": domaindn,
+              "INVOCATIONID": invocationid,
+              "NETBIOSNAME": netbiosname,
+              "DEFAULTSITE": DEFAULTSITE,
+              "DNSNAME": "%s.%s" % (hostname, dnsdomain),
+              "MACHINEPASS_B64": b64encode(machinepass),
+              "DNSPASS_B64": b64encode(dnspass),
+              "REALM": realm,
+              "DOMAIN": domainname,
+              "HOSTGUID_ADD": hostguid_add,
+              "DNSDOMAIN": dnsdomain})
+    setup_add_ldif(samdb, setup_path("provision_group_policy.ldif"), { 
+              "POLICYGUID": policyguid,
+              "DNSDOMAIN": dnsdomain,
+              "DOMAINSID": str(domainsid),
+              "DOMAINDN": domaindn})
+
+
 def setup_samdb(path, setup_path, session_info, credentials, lp, 
                 schemadn, configdn, domaindn, dnsdomain, realm, 
                 netbiosname, message, hostname, rootdn, erase, 
@@ -506,31 +536,12 @@
 
             if lp.get("server role") == "domain controller":
                 message("Setting up self join")
-                if hostguid is not None:
-                    hostguid_add = "objectGUID: %s" % hostguid
-                else:
-                    hostguid_add = ""
+                setup_self_join(samdb, configdn=configdn, schemadn=schemadn, domaindn=domaindn, 
+                                invocationid=invocationid, dnspass=dnspass, netbiosname=netbiosname,
+                                dnsdomain=dnsdomain, realm=realm, machinepass=machinepass, 
+                                domainname=domainname, domainsid=domainsid, policyguid=policyguid,
+                                hostname=hostname, hostguid=hostguid, setup_path=setup_path)
 
-                setup_add_ldif(samdb, setup_path("provision_self_join.ldif"), { 
-                          "CONFIGDN": configdn, 
-                          "SCHEMADN": schemadn,
-                          "DOMAINDN": domaindn,
-                          "INVOCATIONID": invocationid,
-                          "NETBIOSNAME": netbiosname,
-                          "DEFAULTSITE": DEFAULTSITE,
-                          "DNSNAME": "%s.%s" % (hostname, dnsdomain),
-                          "MACHINEPASS_B64": b64encode(machinepass),
-                          "DNSPASS_B64": b64encode(dnspass),
-                          "REALM": realm,
-                          "DOMAIN": domainname,
-                          "HOSTGUID_ADD": hostguid_add,
-                          "DNSDOMAIN": dnsdomain})
-                setup_add_ldif(samdb, setup_path("provision_group_policy.ldif"), { 
-                          "POLICYGUID": policyguid,
-                          "DNSDOMAIN": dnsdomain,
-                          "DOMAINSID": str(domainsid),
-                          "DOMAINDN": domaindn})
-
         message("Setting up sam.ldb index")
         samdb.load_ldif_file_add(setup_path("provision_index.ldif"))
 
@@ -693,6 +704,7 @@
         os.makedirs(os.path.join(paths.sysvol, dnsdomain, "Policies", "{" + policyguid + "}", "User"), 0755)
         if not os.path.isdir(paths.netlogon):
             os.makedirs(paths.netlogon, 0755)
+        secrets_ldb = Ldb(paths.secrets, session_info=session_info, credentials=credentials, lp=lp)
         setup_ldb(secrets_ldb, setup_path("secrets_dc.ldif"), { 
             "MACHINEPASS_B64": b64encode(machinepass),
             "DOMAIN": domain,
@@ -728,12 +740,13 @@
             scope=SCOPE_SUBTREE)
     assert isinstance(hostguid, str)
 
-    message("Setting up DNS zone: %s" % dnsdomain)
-    create_zone_file(paths.dns, setup_path, samdb, 
-                  hostname=hostname, hostip=hostip, dnsdomain=dnsdomain,
-                  domaindn=domaindn, dnspass=dnspass, realm=realm, 
-                  domainguid=domainguid, hostguid=hostguid)
-    message("Please install the zone located in %s into your DNS server" % paths.dns)
+    if lp.get("server role") == "domain controller":
+        message("Setting up DNS zone: %s" % dnsdomain)
+        create_zone_file(paths.dns, setup_path, samdb, 
+                      hostname=hostname, hostip=hostip, dnsdomain=dnsdomain,
+                      domaindn=domaindn, dnspass=dnspass, realm=realm, 
+                      domainguid=domainguid, hostguid=hostguid)
+        message("Please install the zone located in %s into your DNS server" % paths.dns)
 
 def create_phplpapdadmin_config(path, setup_path, s4_ldapi_path):
     setup_file(setup_path("phpldapadmin-config.php"), 

Modified: branches/SAMBA_4_0/source/setup/provision.py
===================================================================
--- branches/SAMBA_4_0/source/setup/provision.py	2007-12-22 00:47:48 UTC (rev 26561)
+++ branches/SAMBA_4_0/source/setup/provision.py	2007-12-22 02:26:38 UTC (rev 26562)
@@ -77,7 +77,7 @@
 parser.add_option("--users", type="string", metavar="GROUPNAME", 
 		help="choose 'users' group")
 parser.add_option("--quiet", help="Be quiet", action="store_true")
-parser.add_option("--blank", 
+parser.add_option("--blank", action="store_true",
 		help="do not add users or groups, just the structure")
 parser.add_option("--ldap-base", 
 		help="output only an LDIF file, suitable for creating an LDAP baseDN",



More information about the samba-cvs mailing list