From f4da1431425bb83e14f199ddd06896165182a0df Mon Sep 17 00:00:00 2001 From: Loic Guegan Date: Sun, 29 Oct 2023 09:40:33 +0100 Subject: Minor changes --- clusterman/utils.py | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'clusterman/utils.py') diff --git a/clusterman/utils.py b/clusterman/utils.py index ad79bd2..36822fe 100644 --- a/clusterman/utils.py +++ b/clusterman/utils.py @@ -1,4 +1,4 @@ -import subprocess +import subprocess, os, json from clusterman.config import CONF def ssh_exec(host,command,use_key=True): @@ -11,3 +11,24 @@ def ssh_exec(host,command,use_key=True): output=subprocess.check_output(["ssh","-o", "StrictHostKeyChecking=no", "{}@{}".format(user,ip), command]) return output.decode("utf-8") + +def get_node_list(): + nodes_path=CONF.NODE_FILE + if os.path.exists(nodes_path): + with open(nodes_path) as f: + nodes=json.load(f) + return nodes + return list() + +def get_node_in_group(group): + nodes=get_node_list() + # Search + ingroup=list() + if len(nodes) > 0 and group in CONF["cluster"]["groups"]: + patterns=[re.compile(pattern) for pattern in CONF["cluster"]["groups"][group]] + for node in nodes: + for pattern in patterns: + if pattern.match(node): + ingroup.append(node) + break; + return ingroup -- cgit v1.2.3