diff --git a/lib/config.py b/lib/config.py index adf57f3c39aba707fd28c1435fa5854b9e214510..510ddd418ff4ed56c7c26a09cc6adc2f33243858 100644 --- a/lib/config.py +++ b/lib/config.py @@ -538,6 +538,19 @@ class ConfigWriter: """ return self._UnlockedGetNodeList() + @locking.ssynchronized(_config_lock, shared=1) + def GetAllNodesInfo(self): + """Get the configuration of all nodes. + + @rtype: dict + @returns: dict of (node, node_info), where node_info is what + would GetNodeInfo return for the node + + """ + my_dict = dict([(node, self._UnlockedGetNodeInfo(node)) + for node in self._UnlockedGetNodeList()]) + return my_dict + @locking.ssynchronized(_config_lock, shared=1) def DumpConfig(self): """Return the entire configuration of the cluster.