summaryrefslogtreecommitdiffstats
path: root/ipaserver/rpcserver.py
diff options
context:
space:
mode:
authorMartin Kosek <mkosek@redhat.com>2015-01-20 23:13:23 +0100
committerMartin Kosek <mkosek@redhat.com>2015-01-22 17:46:48 +0100
commit834c911f9603ae77ac2483f154d62a5f0670c297 (patch)
treeeed118721c50c088ce1fb942e217f2189e46196d /ipaserver/rpcserver.py
parentfe4b3190e97679181d4d1349ad56e27ffe49dccd (diff)
downloadfreeipa-834c911f9603ae77ac2483f154d62a5f0670c297.tar.gz
freeipa-834c911f9603ae77ac2483f154d62a5f0670c297.tar.xz
freeipa-834c911f9603ae77ac2483f154d62a5f0670c297.zip
Print PublicError traceback when in debug mode
The framework only shows traceback for the internal/unknown errors, recognized PublicErrors are simply passed back to the FreeIPA clients. However, sometimes it would help to see a traceback of the PublicError to for example see exactly which line returns it. https://fedorahosted.org/freeipa/ticket/4847 Reviewed-By: Martin Basti <mbasti@redhat.com>
Diffstat (limited to 'ipaserver/rpcserver.py')
-rw-r--r--ipaserver/rpcserver.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/ipaserver/rpcserver.py b/ipaserver/rpcserver.py
index 18de23d3a..d6bc955b9 100644
--- a/ipaserver/rpcserver.py
+++ b/ipaserver/rpcserver.py
@@ -29,6 +29,7 @@ import os
import datetime
import urlparse
import json
+import traceback
import ldap.controls
from pyasn1.type import univ, namedtype
@@ -347,6 +348,8 @@ class WSGIExecutioner(Executioner):
else:
result = self.Command[name](*args, **options)
except PublicError, e:
+ if self.api.env.debug:
+ self.debug('WSGI wsgi_execute PublicError: %s', traceback.format_exc())
error = e
except StandardError, e:
self.exception(