s4:provision - Added LDBBackend and ExistingBackend.
[samba.git] / source4 / scripting / python / samba / provision.py
index f803f588eb2d8f65496d2c8e27a324c7a10ad48d..86e7cec6ab3148833e0993095f69e3fd33518977 100644 (file)
@@ -52,7 +52,7 @@ import urllib
 from ldb import SCOPE_SUBTREE, SCOPE_ONELEVEL, SCOPE_BASE, LdbError
 from ms_display_specifiers import read_ms_ldif
 from schema import Schema
-from provisionbackend import ProvisionBackend, FDSBackend, OpenLDAPBackend
+from provisionbackend import LDBBackend, ExistingBackend, FDSBackend, OpenLDAPBackend
 from signal import SIGTERM
 from dcerpc.misc import SEC_CHAN_BDC, SEC_CHAN_WKSTA
 
@@ -1233,19 +1233,31 @@ def provision(setup_dir, message, session_info,
     
     schema = Schema(setup_path, domainsid, schemadn=names.schemadn, serverdn=names.serverdn)
     
-    if backend_type == "fedora-ds":
+    if backend_type == "ldb":
+        provision_backend = LDBBackend(backend_type,
+                                         paths=paths, setup_path=setup_path,
+                                         lp=lp, credentials=credentials, 
+                                         names=names,
+                                         message=message)
+    elif backend_type == "existing":
+        provision_backend = ExistingBackend(backend_type,
+                                         paths=paths, setup_path=setup_path,
+                                         lp=lp, credentials=credentials, 
+                                         names=names,
+                                         message=message)
+    elif backend_type == "fedora-ds":
         provision_backend = FDSBackend(backend_type,
                                          paths=paths, setup_path=setup_path,
                                          lp=lp, credentials=credentials, 
                                          names=names,
                                          message=message, hostname=hostname,
-                                         root=root, schema=schema,
+                                         schema=schema,
                                          ldapadminpass=ldapadminpass,
-                                         ldap_backend_extra_port=ldap_backend_extra_port,
-                                         ol_mmr_urls=ol_mmr_urls, 
                                          slapd_path=slapd_path,
-                                         setup_ds_path=setup_ds_path,
+                                         ldap_backend_extra_port=ldap_backend_extra_port,
                                          ldap_dryrun_mode=ldap_dryrun_mode,
+                                         root=root,
+                                         setup_ds_path=setup_ds_path,
                                          domainsid=domainsid)
     elif backend_type == "openldap":
         provision_backend = OpenLDAPBackend(backend_type,
@@ -1253,28 +1265,13 @@ def provision(setup_dir, message, session_info,
                                          lp=lp, credentials=credentials, 
                                          names=names,
                                          message=message, hostname=hostname,
-                                         root=root, schema=schema,
+                                         schema=schema,
                                          ldapadminpass=ldapadminpass,
-                                         ldap_backend_extra_port=ldap_backend_extra_port,
-                                         ol_mmr_urls=ol_mmr_urls, 
                                          slapd_path=slapd_path,
-                                         setup_ds_path=setup_ds_path,
-                                         ldap_dryrun_mode=ldap_dryrun_mode,
-                                         domainsid=domainsid)
-    elif backend_type == "ldb" or backend_type == "existing":
-        provision_backend = ProvisionBackend(backend_type,
-                                         paths=paths, setup_path=setup_path,
-                                         lp=lp, credentials=credentials, 
-                                         names=names,
-                                         message=message, hostname=hostname,
-                                         root=root, schema=schema,
-                                         ldapadminpass=ldapadminpass,
                                          ldap_backend_extra_port=ldap_backend_extra_port,
-                                         ol_mmr_urls=ol_mmr_urls, 
-                                         slapd_path=slapd_path,
-                                         setup_ds_path=setup_ds_path,
                                          ldap_dryrun_mode=ldap_dryrun_mode,
-                                         domainsid=domainsid)
+                                         ol_mmr_urls=ol_mmr_urls, 
+                                         nosync=nosync)
     else:
         raise ProvisioningError("Unknown LDAP backend type selected")