diff --git a/daemons/ganeti-noded b/daemons/ganeti-noded index 240816669161568545b1ed5177713648f55df722..5388660e847a190f081849459c3133772f3268dc 100755 --- a/daemons/ganeti-noded +++ b/daemons/ganeti-noded @@ -77,6 +77,17 @@ class ServerObject(BaseHTTPServer.BaseHTTPRequestHandler): params = simplejson.loads(body) result = method(params) payload = simplejson.dumps(result) + except errors.QuitGanetiException, err: + global _EXIT_GANETI_NODED + _EXIT_GANETI_NODED = True + if isinstance(err, tuple) and len(err) == 2: + if err[0]: + self.send_error(500, "Error: %s" % str(err[1])) + else: + payload = simplejson.dumps(err[1]) + else: + self.log_message('GanetiQuitException Usage Error') + self.send_error(500, "Error: %s" % str(err)) except Exception, err: self.send_error(500, "Error: %s" % str(err)) return False