Skip to content
Snippets Groups Projects
Commit dd36d829 authored by Iustin Pop's avatar Iustin Pop
Browse files

Fix luxi serialization in ganeti-masterd


Currently, lib/luxi.py used lib/serializer.py for encoding/decoding
messages, but the master daemon uses directly the simplejson module.
This is wrong as any non-trivial change to serializer.py will break the
master daemon.

The patch changes masterd to use exactly the same functions as luxi.py
for encoding/decoding of messages.

Signed-off-by: default avatarIustin Pop <iustin@google.com>
Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
parent 99036060
No related branches found
No related tags found
No related merge requests found
...@@ -36,7 +36,6 @@ import collections ...@@ -36,7 +36,6 @@ import collections
import Queue import Queue
import random import random
import signal import signal
import simplejson
import logging import logging
from cStringIO import StringIO from cStringIO import StringIO
...@@ -55,6 +54,7 @@ from ganeti import ssconf ...@@ -55,6 +54,7 @@ from ganeti import ssconf
from ganeti import workerpool from ganeti import workerpool
from ganeti import rpc from ganeti import rpc
from ganeti import bootstrap from ganeti import bootstrap
from ganeti import serializer
CLIENT_REQUEST_WORKERS = 16 CLIENT_REQUEST_WORKERS = 16
...@@ -152,7 +152,7 @@ class ClientRqHandler(SocketServer.BaseRequestHandler): ...@@ -152,7 +152,7 @@ class ClientRqHandler(SocketServer.BaseRequestHandler):
logging.debug("client closed connection") logging.debug("client closed connection")
break break
request = simplejson.loads(msg) request = serializer.LoadJson(msg)
logging.debug("request: %s", request) logging.debug("request: %s", request)
if not isinstance(request, dict): if not isinstance(request, dict):
logging.error("wrong request received: %s", msg) logging.error("wrong request received: %s", msg)
...@@ -181,7 +181,7 @@ class ClientRqHandler(SocketServer.BaseRequestHandler): ...@@ -181,7 +181,7 @@ class ClientRqHandler(SocketServer.BaseRequestHandler):
luxi.KEY_RESULT: result, luxi.KEY_RESULT: result,
} }
logging.debug("response: %s", response) logging.debug("response: %s", response)
self.send_message(simplejson.dumps(response)) self.send_message(serializer.DumpJson(response))
def read_message(self): def read_message(self):
while not self._msgs: while not self._msgs:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment