diff options
Diffstat (limited to 'source4/scripting/python/samba/provision')
-rw-r--r-- | source4/scripting/python/samba/provision/__init__.py | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/source4/scripting/python/samba/provision/__init__.py b/source4/scripting/python/samba/provision/__init__.py index c00c2e8481..d0e6461930 100644 --- a/source4/scripting/python/samba/provision/__init__.py +++ b/source4/scripting/python/samba/provision/__init__.py @@ -1651,6 +1651,22 @@ def provision(logger, session_info, credentials, smbconf=None, :note: caution, this wipes all existing data! """ + roles = {} + roles["ROLE_STANDALONE"] = "standalone" + roles["ROLE_DOMAIN_MEMBER"] = "member server" + roles["ROLE_DOMAIN_BDC"] = "domain controller" + roles["ROLE_DOMAIN_PDC"] = "domain controller" + roles["dc"] = "domain controller" + roles["member"] = "member server" + roles["domain controller"] = "domain controller" + roles["member server"] = "member server" + roles["standalone"] = "standalone" + + try: + serverrole = roles[serverrole] + except KeyError: + raise ProvisioningError('server role (%s) should be one of "domain controller", "member server", "standalone"' % serverrole) + if ldapadminpass is None: # Make a new, random password between Samba and it's LDAP server ldapadminpass=samba.generate_random_password(128, 255) @@ -1742,8 +1758,6 @@ def provision(logger, session_info, credentials, smbconf=None, if serverrole is None: serverrole = lp.get("server role") - assert serverrole in ("domain controller", "member server", "standalone") - if not os.path.exists(paths.private_dir): os.mkdir(paths.private_dir) if not os.path.exists(os.path.join(paths.private_dir, "tls")): |