diff options
author | Martin Nagy <mnagy@redhat.com> | 2009-05-12 12:51:46 +0200 |
---|---|---|
committer | Martin Nagy <mnagy@redhat.com> | 2009-06-02 12:30:59 +0200 |
commit | d1b3f392584e2d1c7e7139986ae76f2361ba4875 (patch) | |
tree | 8449a514861a685f2d1984ed3a710274f659cfd1 /ipaserver/install/dsinstance.py | |
parent | b29006dd0a0f33d5a34f3ee763c6bbe32e67e63a (diff) | |
download | freeipa-d1b3f392584e2d1c7e7139986ae76f2361ba4875.tar.gz freeipa-d1b3f392584e2d1c7e7139986ae76f2361ba4875.tar.xz freeipa-d1b3f392584e2d1c7e7139986ae76f2361ba4875.zip |
Move the __ldap_mod function to the Service class
We were duplicating it for KrbInstance and DsInstance. Since we will
also need it for BindInstance as well, it will be better if it is in the
Service class instead.
Diffstat (limited to 'ipaserver/install/dsinstance.py')
-rw-r--r-- | ipaserver/install/dsinstance.py | 48 |
1 files changed, 10 insertions, 38 deletions
diff --git a/ipaserver/install/dsinstance.py b/ipaserver/install/dsinstance.py index 53fca5af..7bd9aa69 100644 --- a/ipaserver/install/dsinstance.py +++ b/ipaserver/install/dsinstance.py @@ -139,9 +139,8 @@ info: IPA V1.0 class DsInstance(service.Service): def __init__(self, realm_name=None, domain_name=None, dm_password=None): - service.Service.__init__(self, "dirsrv") + service.Service.__init__(self, "dirsrv", dm_password=dm_password) self.realm_name = realm_name - self.dm_password = dm_password self.sub_dict = None self.domain = domain_name self.serverid = None @@ -287,38 +286,11 @@ class DsInstance(service.Service): # TODO: roll back here? logging.critical("Failed to restart the directory server. See the installation log for details.") - def __ldap_mod(self, ldif, sub_dict = None): - fd = None - path = ipautil.SHARE_DIR + ldif - - if not sub_dict is None: - txt = ipautil.template_file(path, sub_dict) - fd = ipautil.write_tmp_file(txt) - path = fd.name - - [pw_fd, pw_name] = tempfile.mkstemp() - os.write(pw_fd, self.dm_password) - os.close(pw_fd) - - args = ["/usr/bin/ldapmodify", "-h", "127.0.0.1", "-xv", - "-D", "cn=Directory Manager", "-y", pw_name, "-f", path] - - try: - try: - ipautil.run(args) - except ipautil.CalledProcessError, e: - logging.critical("Failed to load %s: %s" % (ldif, str(e))) - finally: - os.remove(pw_name) - - if not fd is None: - fd.close() - def __add_memberof_module(self): - self.__ldap_mod("memberof-conf.ldif") + self._ldap_mod("memberof-conf.ldif") def init_memberof(self): - self.__ldap_mod("memberof-task.ldif", self.sub_dict) + self._ldap_mod("memberof-task.ldif", self.sub_dict) def apply_updates(self): ld = ldapupdate.LDAPUpdate(dm_password=self.dm_password) @@ -326,19 +298,19 @@ class DsInstance(service.Service): ld.update(files) def __add_referint_module(self): - self.__ldap_mod("referint-conf.ldif") + self._ldap_mod("referint-conf.ldif") def __set_unique_attrs(self): - self.__ldap_mod("unique-attributes.ldif", self.sub_dict) + self._ldap_mod("unique-attributes.ldif", self.sub_dict) def __config_uidgid_gen_first_master(self): - self.__ldap_mod("dna-posix.ldif", self.sub_dict) + self._ldap_mod("dna-posix.ldif", self.sub_dict) def __add_master_entry_first_master(self): - self.__ldap_mod("master-entry.ldif", self.sub_dict) + self._ldap_mod("master-entry.ldif", self.sub_dict) def __add_winsync_module(self): - self.__ldap_mod("ipa-winsync-conf.ldif") + self._ldap_mod("ipa-winsync-conf.ldif") def __enable_ssl(self): dirname = config_dirname(self.serverid) @@ -391,10 +363,10 @@ class DsInstance(service.Service): conn.unbind() def __add_default_layout(self): - self.__ldap_mod("bootstrap-template.ldif", self.sub_dict) + self._ldap_mod("bootstrap-template.ldif", self.sub_dict) def __create_indices(self): - self.__ldap_mod("indices.ldif") + self._ldap_mod("indices.ldif") def __certmap_conf(self): shutil.copyfile(ipautil.SHARE_DIR + "certmap.conf.template", |