diff options
author | Martin Babinsky <mbabinsk@redhat.com> | 2015-04-20 12:34:38 +0200 |
---|---|---|
committer | Jan Cholasta <jcholast@redhat.com> | 2015-04-29 05:19:29 +0000 |
commit | a1f91247ccf69a60d1e18942e6697f45b951fe4b (patch) | |
tree | b832df7e71b8063941e7e7213cf238c0824d7e1c /ipaserver | |
parent | f19f3e57419df112c1d83aebddc71663e49b659f (diff) | |
download | freeipa-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')
-rw-r--r-- | ipaserver/install/cainstance.py | 3 | ||||
-rw-r--r-- | ipaserver/install/dogtaginstance.py | 17 |
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) |