diff options
author | Andrew Bartlett <abartlet@samba.org> | 2010-12-04 13:47:05 +1100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2010-12-08 05:19:12 +0100 |
commit | d7cd2ad4383ea6eff73e9cb2135ca5e3eda70a6d (patch) | |
tree | 112a3197a6806b72b5946a91ade032d7e04d18b8 | |
parent | 87e2d68305570ab024f801d0c063e07f076cc46f (diff) | |
download | samba-d7cd2ad4383ea6eff73e9cb2135ca5e3eda70a6d.tar.gz samba-d7cd2ad4383ea6eff73e9cb2135ca5e3eda70a6d.tar.bz2 samba-d7cd2ad4383ea6eff73e9cb2135ca5e3eda70a6d.zip |
s4-provision Always run slaptest to convert the config file
If the directory exists, it does not mean that it is configured - we
may be on a re-run of the provision.
Andrew Bartlett
Autobuild-User: Andrew Bartlett <abartlet@samba.org>
Autobuild-Date: Wed Dec 8 05:19:12 CET 2010 on sn-devel-104
-rw-r--r-- | source4/scripting/python/samba/provision/backend.py | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/source4/scripting/python/samba/provision/backend.py b/source4/scripting/python/samba/provision/backend.py index 809dd4f9ec..34f64e32aa 100644 --- a/source4/scripting/python/samba/provision/backend.py +++ b/source4/scripting/python/samba/provision/backend.py @@ -540,29 +540,29 @@ class OpenLDAPBackend(LDAPBackend): # DN and simple bind self.credentials.set_username("samba-admin") + # Wipe the old sam.ldb databases away + shutil.rmtree(self.olcdir, True) + os.makedirs(self.olcdir, 0770) + # If we were just looking for crashes up to this point, it's a # good time to exit before we realise we don't have OpenLDAP on # this system if self.ldap_dryrun_mode: sys.exit(0) - # Finally, convert the configuration into cn=config style! - if not os.path.isdir(self.olcdir): - os.makedirs(self.olcdir, 0770) - - slapd_cmd = [self.slapd_path, "-Ttest", "-n", "0", "-f", + slapd_cmd = [self.slapd_path, "-Ttest", "-n", "0", "-f", self.slapdconf, "-F", self.olcdir] - retcode = subprocess.call(slapd_cmd, close_fds=True, shell=False) + retcode = subprocess.call(slapd_cmd, close_fds=True, shell=False) - if retcode != 0: - self.logger.error("conversion from slapd.conf to cn=config failed slapd started with: %s" % "\'" + "\' \'".join(slapd_cmd) + "\'") - raise ProvisioningError("conversion from slapd.conf to cn=config failed") + if retcode != 0: + self.logger.error("conversion from slapd.conf to cn=config failed slapd started with: %s" % "\'" + "\' \'".join(slapd_cmd) + "\'") + raise ProvisioningError("conversion from slapd.conf to cn=config failed") - if not os.path.exists(os.path.join(self.olcdir, "cn=config.ldif")): - raise ProvisioningError("conversion from slapd.conf to cn=config failed") + if not os.path.exists(os.path.join(self.olcdir, "cn=config.ldif")): + raise ProvisioningError("conversion from slapd.conf to cn=config failed") - # Don't confuse the admin by leaving the slapd.conf around - os.remove(self.slapdconf) + # Don't confuse the admin by leaving the slapd.conf around + os.remove(self.slapdconf) class FDSBackend(LDAPBackend): |