From e843991be6dd8f3506878ee4163b4bed6a397e3a Mon Sep 17 00:00:00 2001 From: Guido Trotter <ultrotter@google.com> Date: Tue, 11 Aug 2009 10:34:44 +0100 Subject: [PATCH] SimpleConfigReader.GetNodeStatusFlags Adding a way to retrieve the three node status flags, all in one go, from SimpleConfigReader. Non-existing nodes are handled by returning "None". Signed-off-by: Guido Trotter <ultrotter@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/ssconf.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/lib/ssconf.py b/lib/ssconf.py index 8e31ebc82..bdde8aef3 100644 --- a/lib/ssconf.py +++ b/lib/ssconf.py @@ -131,6 +131,23 @@ class SimpleConfigReader(object): def GetClusterSerialNo(self): return self._config_data["cluster"]["serial_no"] + def GetNodeStatusFlags(self, node): + """Get a node's status flags + + @type node: string + @param node: node name + @rtype: (bool, bool, bool) + @return: (master_candidate, drained, offline) (or None if no such node) + + """ + if node not in self._config_data["nodes"]: + return None + + master_candidate = self._config_data["nodes"][node]["master_candidate"] + drained = self._config_data["nodes"][node]["drained"] + offline = self._config_data["nodes"][node]["offline"] + return master_candidate, drained, offline + class SimpleStore(object): """Interface to static cluster data. -- GitLab