diff options
Diffstat (limited to 'ipa-server/ipaserver/dsinstance.py')
-rw-r--r-- | ipa-server/ipaserver/dsinstance.py | 20 |
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") |