diff --git a/lib/masterd/instance.py b/lib/masterd/instance.py index 5ede2746704420fe698d701154d3237f2fa7fd19..8211f3188023c8eec0e2bddadb91cc38962961e2 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 fcead58f94baa8ebe8775916ca60530eeebefb56..c73e701245693ea88b88a662fccc1dd12cf667b8 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 1e22549573507ff30932100345314c57128254d1..a3ba76f17d606a2fb52f873d1eaf13a50fdbb53d 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 90d879f9ea5ce92e7b32c7c15fb410abc745db0e..2f951c72b4ce3410228c01d9e1241ff58a9aeafc 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)