diff --git a/lib/cmdlib.py b/lib/cmdlib.py index d29631aea8a95b0dc36a65669160348f67f98c67..a0dced12a714659c1e01ac102b328764263bd7c0 100644 --- a/lib/cmdlib.py +++ b/lib/cmdlib.py @@ -6530,7 +6530,13 @@ class _ClusterQuery(_QueryBase): drain_flag = NotImplemented if query.CQ_WATCHER_PAUSE in self.requested_data: - watcher_pause = utils.ReadWatcherPauseFile(pathutils.WATCHER_PAUSEFILE) + master_name = lu.cfg.GetMasterNode() + + result = lu.rpc.call_get_watcher_pause(master_name) + result.Raise("Can't retrieve watcher pause from master node '%s'" % + master_name) + + watcher_pause = result.payload else: watcher_pause = NotImplemented diff --git a/lib/rpc_defs.py b/lib/rpc_defs.py index 449b50ad853044361bb62173315ae9531b4cb2f4..20c349a7cb388f28c26f3843156a6c500cabc27e 100644 --- a/lib/rpc_defs.py +++ b/lib/rpc_defs.py @@ -505,6 +505,8 @@ _MISC_CALLS = [ ("hvname", None, "Hypervisor name"), ("hvfull", None, "Parameters to be validated"), ], None, None, "Validate hypervisor params"), + ("get_watcher_pause", SINGLE, None, constants.RPC_TMO_URGENT, [], + None, None, "Get watcher pause end"), ("set_watcher_pause", MULTI, None, constants.RPC_TMO_URGENT, [ ("until", None, None), ], None, None, "Set watcher pause end"), diff --git a/lib/server/noded.py b/lib/server/noded.py index 0a1d0d6d51109ffdcc794c0a44a6036310b86d35..c6d653c3b0c8f7ef625587edf208940747dc9227 100644 --- a/lib/server/noded.py +++ b/lib/server/noded.py @@ -827,6 +827,13 @@ class NodeRequestHandler(http.server.HttpServerHandler): (values,) = params return ssconf.WriteSsconfFiles(values) + @staticmethod + def perspective_get_watcher_pause(params): + """Get watcher pause end. + + """ + return utils.ReadWatcherPauseFile(pathutils.WATCHER_PAUSEFILE) + @staticmethod def perspective_set_watcher_pause(params): """Set watcher pause.