diff --git a/lib/errors.py b/lib/errors.py index 3847353b78d22a5adb5988b31cd09a41f67d4254..27d2fccf7e2728194c27df731589a9736dece252 100644 --- a/lib/errors.py +++ b/lib/errors.py @@ -429,6 +429,12 @@ class QueryFilterParseError(ParseError): str(inner)] +class RapiTestResult(GenericError): + """Exception containing results from RAPI test utilities. + + """ + + # errors should be added above diff --git a/lib/http/server.py b/lib/http/server.py index d28bf66599d10d8971689059a8ac6aa287fafa68..a5294964e0b58e542d5869ca492d9c771e9c5ab1 100644 --- a/lib/http/server.py +++ b/lib/http/server.py @@ -35,6 +35,7 @@ from ganeti import http from ganeti import utils from ganeti import netutils from ganeti import compat +from ganeti import errors WEEKDAYNAME = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"] @@ -233,7 +234,8 @@ def _HandleServerRequestInner(handler, req_msg): # Call actual request handler result = handler.HandleRequest(handler_context) - except (http.HttpException, KeyboardInterrupt, SystemExit): + except (http.HttpException, errors.RapiTestResult, + KeyboardInterrupt, SystemExit): raise except Exception, err: logging.exception("Caught exception") diff --git a/lib/server/rapi.py b/lib/server/rapi.py index 5ccc60e6e7a1b91ec8e2ff2c8123d86fb4eb82df..972419cda64c92664bdd0906696925aec92447d8 100644 --- a/lib/server/rapi.py +++ b/lib/server/rapi.py @@ -194,10 +194,6 @@ class RemoteApiHandler(http.auth.HttpServerRequestAuthentication, raise http.HttpGatewayTimeout() except luxi.ProtocolError, err: raise http.HttpBadGateway(str(err)) - except: - method = req.request_method.upper() - logging.exception("Error while handling the %s request", method) - raise req.resp_headers[http.HTTP_CONTENT_TYPE] = http.HTTP_APP_JSON