summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Beale <timbeale@catalyst.net.nz>2017-10-05 09:53:28 +1300
committerAndrew Bartlett <abartlet@samba.org>2017-12-14 08:20:16 +0100
commitea9cde92fb57d6b65581b0fb48b8f3f253cadc55 (patch)
tree3cb4312407cda8df54921d9a38dadb232ff91f2a
parent1f60f5b51a8f510461f218ee1a5fc2ebbc9ac625 (diff)
downloadsamba-ea9cde92fb57d6b65581b0fb48b8f3f253cadc55.tar.gz
domain.py: Add base-schema option to samba-tool provision
Allow a different base-schema to be used when provisioning a new domain. This allows us to test the new 2012 schema without committing Samba to using it by default. If, in future, we change the default to use the 2012 schema, some existing Samba tests (like upgradeprovision) rely on the 2012 schema. So making the base-schema optional allows these tests to continue using the older schema. Signed-off-by: Tim Beale <timbeale@catalyst.net.nz> Reviewed-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
-rw-r--r--python/samba/netcmd/domain.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/python/samba/netcmd/domain.py b/python/samba/netcmd/domain.py
index 6ec16e51967..790c33a943d 100644
--- a/python/samba/netcmd/domain.py
+++ b/python/samba/netcmd/domain.py
@@ -233,6 +233,10 @@ class cmd_domain_provision(Command):
choices=["2000", "2003", "2008", "2008_R2"],
help="The domain and forest function level (2000 | 2003 | 2008 | 2008_R2 - always native). Default is (Windows) 2008_R2 Native.",
default="2008_R2"),
+ Option("--base-schema", type="choice", metavar="BASE-SCHEMA",
+ choices=["2008_R2", "2012", "2012_R2"],
+ help="The base schema files to use. Default is (Windows) 2008_R2.",
+ default="2008_R2"),
Option("--next-rid", type="int", metavar="NEXTRID", default=1000,
help="The initial nextRid value (only needed for upgrades). Default is 1000."),
Option("--partitions-only",
@@ -310,7 +314,8 @@ class cmd_domain_provision(Command):
ldap_backend_nosync=None,
ldap_backend_extra_port=None,
ldap_backend_forced_uri=None,
- ldap_dryrun_mode=None):
+ ldap_dryrun_mode=None,
+ base_schema=None):
self.logger = self.get_logger("provision")
if quiet:
@@ -478,7 +483,8 @@ class cmd_domain_provision(Command):
use_rfc2307=use_rfc2307, skip_sysvolacl=False,
ldap_backend_extra_port=ldap_backend_extra_port,
ldap_backend_forced_uri=ldap_backend_forced_uri,
- nosync=ldap_backend_nosync, ldap_dryrun_mode=ldap_dryrun_mode)
+ nosync=ldap_backend_nosync, ldap_dryrun_mode=ldap_dryrun_mode,
+ base_schema=base_schema)
except ProvisioningError, e:
raise CommandError("Provision failed", e)