From ccaf537aa6323c5161d3420b653025771db75010 Mon Sep 17 00:00:00 2001 From: Rob Crittenden Date: Fri, 25 Jun 2010 13:37:27 -0400 Subject: Handle errors raised by plugins more gracefully in mod_wsgi. This started as an effort to display a more useful error message in the Apache error log if retrieving the schema failed. I broadened the scope a little to include limiting the output in the Apache error log so errors are easier to find. This adds a new configuration option, startup_traceback. Outside of lite-server.py it is False by default so does not display the traceback that lead to the StandardError being raised. This makes the mod_wsgi error much easier to follow. --- install/share/wsgi.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'install/share/wsgi.py') diff --git a/install/share/wsgi.py b/install/share/wsgi.py index 457d8e024..e1c2c7332 100644 --- a/install/share/wsgi.py +++ b/install/share/wsgi.py @@ -4,10 +4,14 @@ WSGI appliction for IPA server. from ipalib import api api.bootstrap(context='server', debug=True, log=None) -api.finalize() -api.log.info('*** PROCESS START ***') -import ipawebui -ui = ipawebui.create_wsgi_app(api) +try: + api.finalize() +except StandardError, e: + api.log.error('Failed to start IPA: %s' % e) +else: + api.log.info('*** PROCESS START ***') + import ipawebui + ui = ipawebui.create_wsgi_app(api) -# This is the WSGI callable: -application = api.Backend.session + # This is the WSGI callable: + application = api.Backend.session -- cgit