From 200de24167d7f0ffa2189ad0a825c866b955375c Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Mon, 24 Oct 2011 17:37:02 +0200 Subject: [PATCH] rpc: Add support for generated RPC wrappers Signed-off-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/rpc.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/rpc.py b/lib/rpc.py index b00506d6a..07ca90502 100644 --- a/lib/rpc.py +++ b/lib/rpc.py @@ -48,6 +48,9 @@ from ganeti import ssconf from ganeti import runtime from ganeti import compat +# Special module generated at build time +from ganeti import _generated_rpc + # pylint has a bug here, doesn't see this import import ganeti.http.client # pylint: disable=W0611 @@ -449,7 +452,7 @@ def _EncodeImportExportIO(ieio, ieioargs): return ieioargs -class RpcRunner(object): +class RpcRunner(_generated_rpc.RpcClientDefault): """RPC runner class. """ @@ -460,6 +463,8 @@ class RpcRunner(object): @param context: Ganeti context """ + _generated_rpc.RpcClientDefault.__init__(self) + self._cfg = context.cfg self._proc = _RpcProcessor(compat.partial(_NodeConfigResolver, self._cfg.GetNodeInfo, @@ -510,6 +515,12 @@ class RpcRunner(object): body = serializer.DumpJson(args, indent=False) return self._proc(node_list, procedure, body, read_timeout=read_timeout) + def _Call(self, node_list, procedure, timeout, args): + """Entry point for automatically generated RPC wrappers. + + """ + return self._MultiNodeCall(node_list, procedure, args, read_timeout=timeout) + @staticmethod def _StaticMultiNodeCall(node_list, procedure, args, address_list=None, read_timeout=None): -- GitLab