summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinstall/tools/ipa-server-install4
-rw-r--r--ipapython/sysrestore.py1
-rw-r--r--ipaserver/install/dsinstance.py7
3 files changed, 8 insertions, 4 deletions
diff --git a/install/tools/ipa-server-install b/install/tools/ipa-server-install
index 6fd393362..6a030b973 100755
--- a/install/tools/ipa-server-install
+++ b/install/tools/ipa-server-install
@@ -416,7 +416,7 @@ def uninstall():
bindinstance.BindInstance(fstore).uninstall()
httpinstance.HTTPInstance(fstore).uninstall()
krbinstance.KrbInstance(fstore).uninstall()
- dsinstance.DsInstance().uninstall()
+ dsinstance.DsInstance(fstore=fstore).uninstall()
fstore.restore_all_files()
try:
os.remove(ANSWER_CACHE)
@@ -779,7 +779,7 @@ def main():
service.start('messagebus')
# Create a directory server instance
- ds = dsinstance.DsInstance()
+ ds = dsinstance.DsInstance(fstore=fstore)
if options.dirsrv_pin:
[pw_fd, pw_name] = tempfile.mkstemp()
diff --git a/ipapython/sysrestore.py b/ipapython/sysrestore.py
index 77495b200..1025449c2 100644
--- a/ipapython/sysrestore.py
+++ b/ipapython/sysrestore.py
@@ -190,6 +190,7 @@ class FileStore:
backup_path = os.path.join(self._path, filename)
if not os.path.exists(backup_path):
logging.debug(" -> Not restoring - '%s' doesn't exist", backup_path)
+ continue
shutil.move(backup_path, path)
os.chown(path, int(uid), int(gid))
diff --git a/ipaserver/install/dsinstance.py b/ipaserver/install/dsinstance.py
index 64954c408..07e15cdf0 100644
--- a/ipaserver/install/dsinstance.py
+++ b/ipaserver/install/dsinstance.py
@@ -171,7 +171,7 @@ info: IPA V2.0
"""
class DsInstance(service.Service):
- def __init__(self, realm_name=None, domain_name=None, dm_password=None):
+ def __init__(self, realm_name=None, domain_name=None, dm_password=None, fstore=None):
service.Service.__init__(self, "dirsrv", dm_password=dm_password)
self.realm_name = realm_name
self.sub_dict = None
@@ -189,7 +189,10 @@ class DsInstance(service.Service):
else:
self.suffix = None
- self.fstore = sysrestore.FileStore('/var/lib/ipa/sysrestore')
+ if fstore:
+ self.fstore = fstore
+ else:
+ self.fstore = sysrestore.FileStore('/var/lib/ipa/sysrestore')
def __common_setup(self):