diff options
author | Simo Sorce <ssorce@redhat.com> | 2010-11-17 12:25:01 -0500 |
---|---|---|
committer | Adam Young <ayoung@redhat.com> | 2010-11-22 12:42:16 -0500 |
commit | 733dc89f753629d47a89340e8efa3647bf55e5bb (patch) | |
tree | 3479f100ef4db064b95eb7c312449dacf85c16bc /ipaserver/install | |
parent | 6a5c4763afad6fec2b49ffadbca9628a7ed162d5 (diff) | |
download | freeipa-733dc89f753629d47a89340e8efa3647bf55e5bb.tar.gz freeipa-733dc89f753629d47a89340e8efa3647bf55e5bb.tar.xz freeipa-733dc89f753629d47a89340e8efa3647bf55e5bb.zip |
Save and restore on uninstall ds related config files
Diffstat (limited to 'ipaserver/install')
-rw-r--r-- | ipaserver/install/dsinstance.py | 14 | ||||
-rw-r--r-- | ipaserver/install/krbinstance.py | 1 |
2 files changed, 14 insertions, 1 deletions
diff --git a/ipaserver/install/dsinstance.py b/ipaserver/install/dsinstance.py index 830228daa..761bae693 100644 --- a/ipaserver/install/dsinstance.py +++ b/ipaserver/install/dsinstance.py @@ -30,6 +30,7 @@ import time import tempfile from ipapython import ipautil +from ipapython import sysrestore import service import installutils @@ -184,6 +185,12 @@ class DsInstance(service.Service): else: self.suffix = None + if fstore: + self.fstore = fstore + else: + self.fstore = sysrestore.FileStore('/var/lib/ipa/sysrestore') + + def create_instance(self, ds_user, realm_name, fqdn, domain_name, dm_password, pkcs12_info=None, self_signed_ca=False, idstart=1100, idmax=999999, subject_base=None, @@ -282,6 +289,7 @@ class DsInstance(service.Service): def __create_instance(self): self.backup_state("running", is_ds_running()) self.backup_state("serverid", self.serverid) + self.fstore.backup_file("/etc/sysconfig/dirsrv") self.sub_dict['BASEDC'] = self.realm_name.split('.')[0].lower() base_txt = ipautil.template_str(BASE_TEMPLATE, self.sub_dict) @@ -523,6 +531,12 @@ class DsInstance(service.Service): if not running is None: self.stop() + try: + self.fstore.restore_file("/etc/sysconfig/dirsrv") + except ValueError, error: + logging.debug(error) + pass + if not enabled is None and not enabled: self.chkconfig_off() diff --git a/ipaserver/install/krbinstance.py b/ipaserver/install/krbinstance.py index e0d040dce..41c687897 100644 --- a/ipaserver/install/krbinstance.py +++ b/ipaserver/install/krbinstance.py @@ -514,7 +514,6 @@ class KrbInstance(service.Service): self.fstore.backup_file("/etc/dirsrv/ds.keytab") installutils.create_keytab("/etc/dirsrv/ds.keytab", ldap_principal) - self.fstore.backup_file("/etc/sysconfig/dirsrv") update_key_val_in_file("/etc/sysconfig/dirsrv", "export KRB5_KTNAME", "/etc/dirsrv/ds.keytab") pent = pwd.getpwnam(self.ds_user) os.chown("/etc/dirsrv/ds.keytab", pent.pw_uid, pent.pw_gid) |