From b8c160c1c0b4cc6ac4defdb5657d10ab71ebcba6 Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Mon, 31 Oct 2011 18:47:15 +0100 Subject: [PATCH] rpc: Change {import,export}_start to take source/dest in single argument MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This simplifies the RPC argument encoding code. Signed-off-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: RenΓ© Nussbaumer <rn@google.com> --- lib/masterd/instance.py | 4 ++-- lib/rpc.py | 8 ++++---- lib/rpc_defs.py | 6 ++---- lib/server/noded.py | 4 ++-- 4 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/masterd/instance.py b/lib/masterd/instance.py index 5ede27467..8211f3188 100644 --- a/lib/masterd/instance.py +++ b/lib/masterd/instance.py @@ -530,7 +530,7 @@ class DiskImport(_DiskImportExportBase): """ return self._lu.rpc.call_import_start(self.node_name, self._opts, self._instance, self._component, - self._dest, self._dest_args) + (self._dest, self._dest_args)) def CheckListening(self): """Checks whether the daemon is listening. @@ -616,7 +616,7 @@ class DiskExport(_DiskImportExportBase): return self._lu.rpc.call_export_start(self.node_name, self._opts, self._dest_host, self._dest_port, self._instance, self._component, - self._source, self._source_args) + (self._source, self._source_args)) def CheckListening(self): """Checks whether the daemon is listening. diff --git a/lib/rpc.py b/lib/rpc.py index fcead58f9..c73e70124 100644 --- a/lib/rpc.py +++ b/lib/rpc.py @@ -565,19 +565,19 @@ class RpcRunner(_generated_rpc.RpcClientDefault, return result @staticmethod - def _EncodeImportExportIO(ieio, ieioargs): + def _EncodeImportExportIO((ieio, ieioargs)): """Encodes import/export I/O information. """ if ieio == constants.IEIO_RAW_DISK: assert len(ieioargs) == 1 - return (ieioargs[0].ToDict(), ) + return (ieio, (ieioargs[0].ToDict(), )) if ieio == constants.IEIO_SCRIPT: assert len(ieioargs) == 2 - return (ieioargs[0].ToDict(), ieioargs[1]) + return (ieio, (ieioargs[0].ToDict(), ieioargs[1])) - return ieioargs + return (ieio, ieioargs) @staticmethod def _PrepareFileUpload(filename): diff --git a/lib/rpc_defs.py b/lib/rpc_defs.py index 1e2254957..a3ba76f17 100644 --- a/lib/rpc_defs.py +++ b/lib/rpc_defs.py @@ -165,8 +165,7 @@ _IMPEXP_CALLS = [ ("opts", OBJECT_TO_DICT, None), ("instance", INST_TO_DICT, None), ("component", None, None), - ("dest", None, None), - ("dest_args", "self._EncodeImportExportIO(dest, %s)", None), + ("dest", "self._EncodeImportExportIO(%s)", "Import destination"), ], None, "Starts an import daemon"), ("export_start", SINGLE, TMO_NORMAL, [ ("opts", OBJECT_TO_DICT, None), @@ -174,8 +173,7 @@ _IMPEXP_CALLS = [ ("port", None, None), ("instance", INST_TO_DICT, None), ("component", None, None), - ("source", None, None), - ("source_args", "self._EncodeImportExportIO(source, %s)", None), + ("source", "self._EncodeImportExportIO(%s)", "Export source"), ], None, "Starts an export daemon"), ("impexp_status", SINGLE, TMO_FAST, [ ("names", None, "Import/export names"), diff --git a/lib/server/noded.py b/lib/server/noded.py index 90d879f9e..2f951c72b 100644 --- a/lib/server/noded.py +++ b/lib/server/noded.py @@ -951,7 +951,7 @@ class NodeHttpServer(http.server.HttpServer): """Starts an import daemon. """ - (opts_s, instance, component, dest, dest_args) = params + (opts_s, instance, component, (dest, dest_args)) = params opts = objects.ImportExportOptions.FromDict(opts_s) @@ -967,7 +967,7 @@ class NodeHttpServer(http.server.HttpServer): """Starts an export daemon. """ - (opts_s, host, port, instance, component, source, source_args) = params + (opts_s, host, port, instance, component, (source, source_args)) = params opts = objects.ImportExportOptions.FromDict(opts_s) -- GitLab