X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=source4%2Fsetup%2Fprovision-backend;h=3da360447fbab37f382fd5f56fad5bcea21af6e5;hb=7a9030b7ce164460e662d0798c2490ec5929442d;hp=0943da29b616bd2cfc3b0271c635cabff67e67d2;hpb=0a27ff953e17670aecc7aedb56c0f872cc4bb75d;p=samba.git diff --git a/source4/setup/provision-backend b/source4/setup/provision-backend index 0943da29b61..3da360447fb 100755 --- a/source4/setup/provision-backend +++ b/source4/setup/provision-backend @@ -4,6 +4,7 @@ # provision a Samba4 server # Copyright (C) Jelmer Vernooij 2007-2008 # Copyright (C) Andrew Bartlett 2008 +# Copyright (C) Oliver Liebel 2008-2009 # # Based on the original in EJS: # Copyright (C) Andrew Tridgell 2005 @@ -34,7 +35,7 @@ from samba import param from samba.auth import system_session import samba.getopt as options -from samba.provision import (provision_backend) +from samba.provision import provision_backend, find_setup_dir parser = optparse.OptionParser("provision [options]") sambaopts = options.SambaOptions(parser) @@ -54,6 +55,7 @@ parser.add_option("--ldap-admin-pass", type="string", metavar="PASSWORD", parser.add_option("--root", type="string", metavar="USERNAME", help="choose 'root' unix username") parser.add_option("--quiet", help="Be quiet", action="store_true") +parser.add_option("--nosync", help="Configure LDAP backend not to call fsync() (for performance in test environments)", action="store_true") parser.add_option("--ldap-backend-type", type="choice", metavar="LDAP-BACKEND-TYPE", help="LDB mapping module to use for the LDAP backend", choices=["fedora-ds", "openldap"]) @@ -65,8 +67,15 @@ parser.add_option("--server-role", type="choice", metavar="ROLE", parser.add_option("--targetdir", type="string", metavar="DIR", help="Set target directory") parser.add_option("--ol-mmr-urls", type="string", metavar="LDAPSERVER", - help="List of LDAP-URLS [ ldap://:port/ (where port != 389) ] separated with whitespaces for use with OpenLDAP-MMR") - + help="List of LDAP-URLS [ ldap://:/ (where has to be different than 389!) ] separated with whitespaces for use with OpenLDAP-MMR (Multi-Master-Replication)") +parser.add_option("--ol-olc", type="choice", metavar="OPENLDAP-OLC", + help="To setup OpenLDAP-Backend with Online-Configuration [slapd.d] choose 'yes'.", + choices=["yes", "no"]) +parser.add_option("--ol-slapd", type="string", metavar="SLAPD-PATH", + help="Path to OpenLDAP-Daemon (slapd) [e.g.:'/usr/local/libexec/slapd']. Required for Setup with OpenLDAP-Backend. OpenLDAP Version >= 2.4.17 should be used.") +parser.add_option("--testing-mode", type="choice", metavar="TESTING-MODE", + help="Do not select this option, except as part of 'make test' to verify behaviour without a slapd on the system", + choices=["yes", "no"]) opts = parser.parse_args()[0] @@ -83,18 +92,18 @@ if opts.realm is None or opts.domain is None: parser.print_usage() sys.exit(1) -smbconf = sambaopts.get_loadparm().configfile() +smbconf = sambaopts.get_loadparm().configfile if opts.server_role == "dc": server_role = "domain controller" elif opts.server_role == "member": server_role = "member server" else: - server_role = opts.server_role + server_role = opts.server_role setup_dir = opts.setupdir if setup_dir is None: - setup_dir = "setup" + setup_dir = find_setup_dir() provision_backend(setup_dir=setup_dir, message=message, smbconf=smbconf, targetdir=opts.targetdir, realm=opts.realm, domain=opts.domain, @@ -103,5 +112,8 @@ provision_backend(setup_dir=setup_dir, message=message, smbconf=smbconf, targetd root=opts.root, serverrole=server_role, ldap_backend_type=opts.ldap_backend_type, ldap_backend_port=opts.ldap_backend_port, - ol_mmr_urls=opts.ol_mmr_urls) - + ol_mmr_urls=opts.ol_mmr_urls, + ol_olc=opts.ol_olc, + ol_slapd=opts.ol_slapd, + nosync=opts.nosync, + testing_mode=opts.testing_mode)