From 637b8d7ec2a2267d99ac213812ed529a2fd1fb30 Mon Sep 17 00:00:00 2001 From: Michael Hanselmann <hansmi@google.com> Date: Fri, 14 Aug 2009 17:37:45 +0200 Subject: [PATCH] Add RPC call for storage operations Signed-off-by: Michael Hanselmann <hansmi@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- daemons/ganeti-noded | 8 ++++++++ lib/rpc.py | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/daemons/ganeti-noded b/daemons/ganeti-noded index e37c78985..58d755e10 100755 --- a/daemons/ganeti-noded +++ b/daemons/ganeti-noded @@ -385,6 +385,14 @@ class NodeHttpServer(http.server.HttpServer): (su_name, su_args, name, changes) = params return storage.GetStorage(su_name, *su_args).Modify(name, changes) + @staticmethod + def perspective_storage_execute(params): + """Execute an operation on a storage unit. + + """ + (su_name, su_args, name, op) = params + return storage.GetStorage(su_name, *su_args).Execute(name, op) + # bridge -------------------------- @staticmethod diff --git a/lib/rpc.py b/lib/rpc.py index c2e088014..235754e21 100644 --- a/lib/rpc.py +++ b/lib/rpc.py @@ -450,6 +450,15 @@ class RpcRunner(object): return self._SingleNodeCall(node, "storage_modify", [su_name, su_args, name, changes]) + def call_storage_execute(self, node, su_name, su_args, name, op): + """Executes an operation on a storage unit. + + This is a single-node call. + + """ + return self._SingleNodeCall(node, "storage_execute", + [su_name, su_args, name, op]) + def call_bridges_exist(self, node, bridges_list): """Checks if a node has all the bridges given. -- GitLab