provision: Simplify make_smbconf a bit.
authorJelmer Vernooij <jelmer@samba.org>
Sun, 26 Feb 2012 21:23:27 +0000 (22:23 +0100)
committerJelmer Vernooij <jelmer@samba.org>
Sun, 26 Feb 2012 22:19:07 +0000 (23:19 +0100)
source4/scripting/python/samba/provision/__init__.py
source4/scripting/python/samba/tests/samdb.py

index df00fc09adf89fb862d468fa0837a19677a16988..fa686c31373fce926c57ae8817f5277a5149a76c 100644 (file)
@@ -586,28 +586,28 @@ def guess_names(lp=None, hostname=None, domain=None, dnsdomain=None,
     return names
 
 
-def make_smbconf(smbconf, hostname, domain, realm, serverrole,
-                 targetdir, sid_generator="internal", eadb=False, lp=None,
+def make_smbconf(smbconf, hostname, domain, realm, targetdir,
+                 serverrole=None, sid_generator=None, eadb=False, lp=None,
                  server_services=None):
     """Create a new smb.conf file based on a couple of basic settings.
     """
     assert smbconf is not None
+
     if hostname is None:
         hostname = socket.gethostname().split(".")[0]
-        netbiosname = determine_netbios_name(hostname)
-    else:
-        netbiosname = hostname.upper()
+
+    netbiosname = determine_netbios_name(hostname)
 
     if serverrole is None:
         serverrole = "standalone"
 
-    assert serverrole in ("domain controller", "member server", "standalone")
-    if serverrole == "domain controller":
-        smbconfsuffix = "dc"
-    elif serverrole == "member server":
-        smbconfsuffix = "member"
-    elif serverrole == "standalone":
-        smbconfsuffix = "standalone"
+    try:
+        smbconfsuffix = {
+            "domain controller": "dc",
+            "member server": "member",
+            "standalone": "standalone"}[serverrole]
+    except KeyError:
+        raise ValueError("server role %r invalid" % serverrole)
 
     if sid_generator is None:
         sid_generator = "internal"
@@ -1658,12 +1658,13 @@ def provision(logger, session_info, credentials, smbconf=None,
             f.close()
         if data is None or data == "":
             make_smbconf(smbconf, hostname, domain, realm,
-                         serverrole, targetdir, sid_generator, useeadb,
+                         targetdir, serverrole=serverrole,
+                         sid_generator=sid_generator, eadb=useeadb,
                          lp=lp, server_services=server_services)
     else:
-        make_smbconf(smbconf, hostname, domain, realm, serverrole,
-                     targetdir, sid_generator, useeadb, lp=lp,
-                     server_services=server_services)
+        make_smbconf(smbconf, hostname, domain, realm, targetdir,
+                     serverrole=serverrole, sid_generator=sid_generator,
+                     eadb=useeadb, lp=lp, server_services=server_services)
 
     if lp is None:
         lp = samba.param.LoadParm()
index 3df72b0840b714edbb45629c7711b917b02b6534..a60062d6b665019d6df6453fd00970193508f9de 100644 (file)
@@ -53,7 +53,7 @@ class SamDBTestCase(TestCaseInTempDir):
         domainsid = security.random_sid()
         path = os.path.join(self.tempdir, "samdb.ldb")
         session_info = system_session()
-        
+
         hostname="foo"
         domain="EXAMPLE"
         dnsdomain="example.com" 
@@ -62,7 +62,7 @@ class SamDBTestCase(TestCaseInTempDir):
 
         smbconf = os.path.join(self.tempdir, "smb.conf")
         make_smbconf(smbconf, hostname, domain, dnsdomain,
-                     serverrole, self.tempdir)
+                     self.tempdir, serverrole=serverrole)
 
         self.lp = param.LoadParm()
         self.lp.load(smbconf)