summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipaserver
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-server/ipaserver')
-rw-r--r--ipa-server/ipaserver/dsinstance.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/ipa-server/ipaserver/dsinstance.py b/ipa-server/ipaserver/dsinstance.py
index d313b4ed2..5c7cadd55 100644
--- a/ipa-server/ipaserver/dsinstance.py
+++ b/ipa-server/ipaserver/dsinstance.py
@@ -304,6 +304,26 @@ class DsInstance(service.Service):
def init_memberof(self):
self.__ldap_mod("memberof-task.ldif", self.sub_dict)
+ def apply_updates(self):
+ """Run the ipa-ldap-updater tool. Needs to be run after the
+ configuration file /etc/ipa/ipa.conf has been created.
+ """
+ [pw_fd, pw_name] = tempfile.mkstemp()
+ os.write(pw_fd, self.dm_password)
+ os.close(pw_fd)
+
+ try:
+ args = ["/usr/sbin/ipa-ldap-updater",
+ "-y", pw_name]
+ try:
+ ipautil.run(args)
+ logging.debug("Updates applied")
+ except ipautil.CalledProcessError, e:
+ print "Unable to apply updates", e
+ logging.debug("Unable to apply updates%s" % e)
+ finally:
+ os.remove(pw_name)
+
def __add_referint_module(self):
self.__ldap_mod("referint-conf.ldif")