summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Kupka <dkupka@redhat.com>2015-04-01 11:27:36 -0400
committerPetr Vobornik <pvoborni@redhat.com>2015-06-11 13:16:06 +0200
commit4d05b5d18da84c1e9cc89e9d3c3432261863837a (patch)
treeaab96c0fb7f01de5c30726c6603e92e65768eef5
parentf8c8c360f1957a39ce98df61752abbfa1df9864b (diff)
downloadfreeipa-4d05b5d18da84c1e9cc89e9d3c3432261863837a.tar.gz
freeipa-4d05b5d18da84c1e9cc89e9d3c3432261863837a.tar.xz
freeipa-4d05b5d18da84c1e9cc89e9d3c3432261863837a.zip
Use 389-ds centralized scripts.
Directory server is deprecating use of tools in instance specific paths. Instead tools in bin/sbin path should be used. https://fedorahosted.org/freeipa/ticket/4051 Reviewed-By: Martin Basti <mbasti@redhat.com>
-rw-r--r--ipaplatform/base/paths.py4
-rw-r--r--ipaserver/install/ipa_backup.py5
-rw-r--r--ipaserver/install/ipa_restore.py11
3 files changed, 16 insertions, 4 deletions
diff --git a/ipaplatform/base/paths.py b/ipaplatform/base/paths.py
index 174c7d175..e6b191819 100644
--- a/ipaplatform/base/paths.py
+++ b/ipaplatform/base/paths.py
@@ -338,6 +338,10 @@ class BasePathNamespace(object):
ALL_SLAPD_INSTANCE_SOCKETS = "/var/run/slapd-*.socket"
ADMIN_CERT_PATH = '/root/.dogtag/pki-tomcat/ca_admin.cert'
ENTROPY_AVAIL = '/proc/sys/kernel/random/entropy_avail'
+ LDIF2DB = '/usr/sbin/ldif2db'
+ DB2LDIF = '/usr/sbin/db2ldif'
+ BAK2DB = '/usr/sbin/bak2db'
+ DB2BAK = '/usr/sbin/db2bak'
diff --git a/ipaserver/install/ipa_backup.py b/ipaserver/install/ipa_backup.py
index c3611b241..01871c7b5 100644
--- a/ipaserver/install/ipa_backup.py
+++ b/ipaserver/install/ipa_backup.py
@@ -417,7 +417,8 @@ class Backup(admintool.AdminTool):
self.log.info("Waiting for LDIF to finish")
wait_for_task(conn, dn)
else:
- args = ['%s/db2ldif' % self.__find_scripts_dir(instance),
+ args = [paths.DB2LDIF,
+ '-Z', instance,
'-r',
'-n', backend,
'-a', ldiffile]
@@ -464,7 +465,7 @@ class Backup(admintool.AdminTool):
self.log.info("Waiting for BAK to finish")
wait_for_task(conn, dn)
else:
- args = ['%s/db2bak' % self.__find_scripts_dir(instance), bakdir]
+ args = [paths.DB2BAK, bakdir, '-Z', instance]
(stdout, stderr, rc) = run(args, raiseonerr=False)
if rc != 0:
self.log.critical("db2bak failed: %s" % stderr)
diff --git a/ipaserver/install/ipa_restore.py b/ipaserver/install/ipa_restore.py
index 56d313765..528a6daf0 100644
--- a/ipaserver/install/ipa_restore.py
+++ b/ipaserver/install/ipa_restore.py
@@ -544,7 +544,13 @@ class Restore(admintool.AdminTool):
self.log.info("Waiting for LDIF to finish")
wait_for_task(conn, dn)
else:
- args = ['%s/ldif2db' % self.__find_scripts_dir(instance),
+ try:
+ os.makedirs(paths.VAR_LOG_DIRSRV_INSTANCE_TEMPLATE % instance)
+ except OSError as e:
+ pass
+
+ args = [paths.LDIF2DB,
+ '-Z', instance,
'-i', ldiffile,
'-n', backend]
(stdout, stderr, rc) = run(args, raiseonerr=False)
@@ -596,7 +602,8 @@ class Restore(admintool.AdminTool):
self.log.info("Waiting for restore to finish")
wait_for_task(conn, dn)
else:
- args = ['%s/bak2db' % self.__find_scripts_dir(instance),
+ args = [paths.BAK2DB,
+ '-Z', instance,
os.path.join(self.dir, instance)]
if backend is not None:
args.append('-n')