Save and restore on uninstall ds related config files

This commit is contained in:
Simo Sorce
2010-11-17 12:25:01 -05:00
committed by Adam Young
parent 6a5c4763af
commit 733dc89f75
2 changed files with 14 additions and 1 deletions

View File

@@ -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()