From 2ce6c19828309b7aa12daac89625d9c29b55b94b Mon Sep 17 00:00:00 2001 From: ftalpo01 <f.talpo@cineca.it> Date: Wed, 10 Jan 2024 16:21:22 +0100 Subject: [PATCH 1/8] Update dependencies and installation --- .gitmodules | 3 --- MANIFEST.in | 0 NodeManager | 1 - pyproject.toml | 3 +++ scripts/__init__.py | 0 .../check_packages.py | 4 ++-- check_slurm.py => scripts/check_slurm.py | 4 ++-- setup.cfg | 23 +++++++++++++++++++ 8 files changed, 30 insertions(+), 8 deletions(-) delete mode 100644 .gitmodules create mode 100644 MANIFEST.in delete mode 160000 NodeManager create mode 100644 pyproject.toml create mode 100644 scripts/__init__.py rename check_packages.py => scripts/check_packages.py (98%) rename check_slurm.py => scripts/check_slurm.py (96%) create mode 100644 setup.cfg diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index 717a398..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "NodeManager"] - path = NodeManager - url = https://gitlab.hpc.cineca.it/ftalpo01/NodeManager.git diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 0000000..e69de29 diff --git a/NodeManager b/NodeManager deleted file mode 160000 index 20d81f4..0000000 --- a/NodeManager +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 20d81f4d10bed1588b45306048c83b84b8f5747d diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..07de284 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools", "wheel"] +build-backend = "setuptools.build_meta" \ No newline at end of file diff --git a/scripts/__init__.py b/scripts/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/check_packages.py b/scripts/check_packages.py similarity index 98% rename from check_packages.py rename to scripts/check_packages.py index 2ad355e..afc0f4e 100644 --- a/check_packages.py +++ b/scripts/check_packages.py @@ -7,7 +7,7 @@ from typing import Union, List, Tuple, Any import functools import random -import nodemanager as nm +from cinlibs.nodemanager.nodes import Nodes TIMEOUT = 15 @@ -159,7 +159,7 @@ def compare_lists(sample_name, sample_list: dict, pckgs: dict) -> None: def main(): - nodes = nm.init_nodes() + nodes = Nodes.init() args = parse_args() if args.from_string: diff --git a/check_slurm.py b/scripts/check_slurm.py similarity index 96% rename from check_slurm.py rename to scripts/check_slurm.py index ad36179..dd53c96 100644 --- a/check_slurm.py +++ b/scripts/check_slurm.py @@ -1,7 +1,7 @@ import argparse from collections import Counter -import nodemanager as nm +from cinlibs.nodemanager.nodes import Nodes def parse_args() -> argparse.Namespace: @@ -31,7 +31,7 @@ def print_line(line: str): def main(): - nodes = nm.init_nodes() + nodes = Nodes.init() args = parse_args() if args.from_string: diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..c25bb2f --- /dev/null +++ b/setup.cfg @@ -0,0 +1,23 @@ +[metadata] +name = check_scripts +version = 0.1 +author = Francesco Talpo +classifiers = + Development Status :: 1 - Development + Programming Language :: Python :: 3.8 + Operating System :: POSIX :: Linux + Environment :: Console + +[options] +packages = find: +package_dir = + = ./ +python_requires = >=3.8 +install_requires = + cinlibs @ git+https://gitlab.hpc.cineca.it/ftalpo01/cinlibs + +[options.entry_points] +console_scripts = + check_packages = scripts.check_packages:main + check_slurm = scripts.check_slurm:main + -- GitLab From 9a27ccb0e7bd082d1c301f4d7b5191bb72b917be Mon Sep 17 00:00:00 2001 From: ftalpo01 <f.talpo@cineca.it> Date: Wed, 10 Jan 2024 16:24:43 +0100 Subject: [PATCH 2/8] Update dependencies and installation --- scripts/check_slurm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py index dd53c96..3deb677 100644 --- a/scripts/check_slurm.py +++ b/scripts/check_slurm.py @@ -11,7 +11,7 @@ def parse_args() -> argparse.Namespace: return parser.parse_args() -def get_main_version(nodes: nm.NodeGroup) -> str: +def get_main_version(nodes: Nodes) -> str: count = Counter(i.slurmd_version for i in nodes.iternodes()) s = sorted(count.items(), key=lambda x: x[1], reverse=True) return s[0][0] -- GitLab From d9c8362b5f208262ca434d8d950c8797567bbe16 Mon Sep 17 00:00:00 2001 From: ftalpo01 <f.talpo@cineca.it> Date: Wed, 10 Jan 2024 16:25:38 +0100 Subject: [PATCH 3/8] Update dependencies and installation --- scripts/check_packages.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check_packages.py b/scripts/check_packages.py index afc0f4e..7a34577 100644 --- a/scripts/check_packages.py +++ b/scripts/check_packages.py @@ -165,7 +165,7 @@ def main(): if args.from_string: nodes = nodes.from_string(args.from_string) - pckgs = get_packages([(i.name, i.hostname) for i in nodes.iternodes()]) + pckgs = get_packages([(i.name, i.hostname) for i in nodes]) sample_name = random.choice(list(pckgs)) sample_pkg_list = pckgs[sample_name] -- GitLab From 3655843f124ad08e97655f7d043511956e2d3ab4 Mon Sep 17 00:00:00 2001 From: ftalpo01 <f.talpo@cineca.it> Date: Wed, 10 Jan 2024 16:26:20 +0100 Subject: [PATCH 4/8] Update dependencies and installation --- scripts/check_slurm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py index 3deb677..53a5b56 100644 --- a/scripts/check_slurm.py +++ b/scripts/check_slurm.py @@ -12,7 +12,7 @@ def parse_args() -> argparse.Namespace: def get_main_version(nodes: Nodes) -> str: - count = Counter(i.slurmd_version for i in nodes.iternodes()) + count = Counter(i.slurmd_version for i in nodes) s = sorted(count.items(), key=lambda x: x[1], reverse=True) return s[0][0] -- GitLab From 38900d39a559da7db3f70335d817720bcd17fb1c Mon Sep 17 00:00:00 2001 From: ftalpo01 <f.talpo@cineca.it> Date: Wed, 10 Jan 2024 16:27:23 +0100 Subject: [PATCH 5/8] Update dependencies and installation --- scripts/check_slurm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py index 53a5b56..587adad 100644 --- a/scripts/check_slurm.py +++ b/scripts/check_slurm.py @@ -12,7 +12,7 @@ def parse_args() -> argparse.Namespace: def get_main_version(nodes: Nodes) -> str: - count = Counter(i.slurmd_version for i in nodes) + count = Counter(i.slurm_version for i in nodes) s = sorted(count.items(), key=lambda x: x[1], reverse=True) return s[0][0] -- GitLab From 031fa935d51ab21f36a0524aa618a8497c1b515a Mon Sep 17 00:00:00 2001 From: ftalpo01 <f.talpo@cineca.it> Date: Wed, 10 Jan 2024 16:28:18 +0100 Subject: [PATCH 6/8] Update dependencies and installation --- scripts/check_slurm.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py index 587adad..5f8ad7e 100644 --- a/scripts/check_slurm.py +++ b/scripts/check_slurm.py @@ -44,12 +44,12 @@ def main(): no_results = [] outliers = {} - for name, node in nodes.items(): + for node in nodes: ver = node.slurmd_version if ver == "": - no_results.append(name) + no_results.append(node.name) elif ver != main_version: - outliers[name] = node.slurmd_version + outliers[node.name] = node.slurmd_version if no_results: print_line( -- GitLab From b0b3219ca31fbf687dd2483746af49050a5c2619 Mon Sep 17 00:00:00 2001 From: ftalpo01 <f.talpo@cineca.it> Date: Wed, 10 Jan 2024 16:29:01 +0100 Subject: [PATCH 7/8] Update dependencies and installation --- scripts/check_slurm.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/check_slurm.py b/scripts/check_slurm.py index 5f8ad7e..d2ac3cf 100644 --- a/scripts/check_slurm.py +++ b/scripts/check_slurm.py @@ -45,11 +45,11 @@ def main(): no_results = [] outliers = {} for node in nodes: - ver = node.slurmd_version + ver = node.slurm_version if ver == "": no_results.append(node.name) elif ver != main_version: - outliers[node.name] = node.slurmd_version + outliers[node.name] = node.slurm_version if no_results: print_line( -- GitLab From 02d98a12266323669fb3e63099f5095f6c1bab10 Mon Sep 17 00:00:00 2001 From: ftalpo01 <f.talpo@cineca.it> Date: Wed, 10 Jan 2024 16:55:30 +0100 Subject: [PATCH 8/8] Update README.md --- README.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 7fcb4d7..d93cc24 100644 --- a/README.md +++ b/README.md @@ -3,10 +3,11 @@ ## Installation -Simply clone the repo and install the dependency. +Simply install the repo. -- `git clone https://gitlab.hpc.cineca.it/ftalpo01/checkscripts.git` -- `pip install ./NodeManager` +- `pip install git+https://gitlab.hpc.cineca.it/ftalpo01/checkscripts.git` + +This will put a `check_slurm` and `check_packages` commands in the `PATH`. ## Usage @@ -17,12 +18,12 @@ In order to select nodes, a selection string can be passed with the `--from-stri For example: ``` -python3 check_slurm.py --from-string "names:login[01-04]" +check_slurm --from-string "names:login[01-04]" ``` will perform the check on **ALL** `login` nodes from `01` to `04`. **ALWAYS ENCLOSE THE STRING IN QUOTES** The names can be passed in a comma-separated list. -For all the different type of selections that can be made, refer to the documentation of `NodeManager` -in its [repo](git@gitlab.hpc.cineca.it:ftalpo01/NodeManager.git). \ No newline at end of file +For all the different type of selections that can be made, refer to the (future) documentation of `cinlibs` +in its [repo](https://gitlab.hpc.cineca.it/ftalpo01/cinlibs). \ No newline at end of file -- GitLab