summaryrefslogtreecommitdiffstats
path: root/ipaserver/install
diff options
context:
space:
mode:
authorMartin Babinsky <mbabinsk@redhat.com>2015-04-20 12:34:38 +0200
committerJan Cholasta <jcholast@redhat.com>2015-04-29 05:19:29 +0000
commita1f91247ccf69a60d1e18942e6697f45b951fe4b (patch)
treeb832df7e71b8063941e7e7213cf238c0824d7e1c /ipaserver/install
parentf19f3e57419df112c1d83aebddc71663e49b659f (diff)
downloadfreeipa-a1f91247ccf69a60d1e18942e6697f45b951fe4b.tar.gz
freeipa-a1f91247ccf69a60d1e18942e6697f45b951fe4b.tar.xz
freeipa-a1f91247ccf69a60d1e18942e6697f45b951fe4b.zip
point the users to PKI-related logs when CA configuration fails
This patch adds an error handler which prints out the paths to logs related to configuration and installation of Dogtag/CA in the case of failure. https://fedorahosted.org/freeipa/ticket/4900 Reviewed-By: Martin Basti <mbasti@redhat.com> Reviewed-By: Jan Cholasta <jcholast@redhat.com>
Diffstat (limited to 'ipaserver/install')
-rw-r--r--ipaserver/install/cainstance.py3
-rw-r--r--ipaserver/install/dogtaginstance.py17
2 files changed, 15 insertions, 5 deletions
diff --git a/ipaserver/install/cainstance.py b/ipaserver/install/cainstance.py
index 59a6b5f21..8ccfd1a82 100644
--- a/ipaserver/install/cainstance.py
+++ b/ipaserver/install/cainstance.py
@@ -754,8 +754,7 @@ class CAInstance(DogtagInstance):
ipautil.run(args, env={'PKI_HOSTNAME':self.fqdn}, nolog=nolog)
except ipautil.CalledProcessError, e:
- self.log.critical("failed to configure ca instance %s", e)
- raise RuntimeError('Configuration of CA failed')
+ self.handle_setup_error(e)
if self.external == 1:
print "The next step is to get %s signed by your CA and re-run %s as:" % (self.csr_file, sys.argv[0])
diff --git a/ipaserver/install/dogtaginstance.py b/ipaserver/install/dogtaginstance.py
index 83ce0ca50..98929b864 100644
--- a/ipaserver/install/dogtaginstance.py
+++ b/ipaserver/install/dogtaginstance.py
@@ -176,9 +176,7 @@ class DogtagInstance(service.Service):
try:
ipautil.run(args, nolog=nolog)
except ipautil.CalledProcessError, e:
- self.log.critical("failed to configure %s instance %s",
- subsystem, e)
- raise RuntimeError('Configuration of %s failed' % subsystem)
+ self.handle_setup_error(e)
def enable(self):
self.backup_state("enabled", self.is_enabled())
@@ -438,3 +436,16 @@ class DogtagInstance(service.Service):
conn.unbind()
return base64.b64encode(admin_cert)
+
+ def handle_setup_error(self, e):
+ self.log.critical("Failed to configure %s instance: %s"
+ % (self.subsystem, e))
+ self.log.critical("See the installation logs and the following "
+ "files/directories for more information:")
+ logs = [self.dogtag_constants.PKI_INSTALL_LOG,
+ self.dogtag_constants.PKI_LOG_TOP_LEVEL]
+
+ for log in logs:
+ self.log.critical(" %s" % log)
+
+ raise RuntimeError("%s configuration failed." % self.subsystem)