From 63aa5ec96f755d9fb5061005bedd83d56587b0a6 Mon Sep 17 00:00:00 2001 From: "Jason C. Nucciarone" Date: Tue, 12 Nov 2024 14:50:07 -0500 Subject: [PATCH 1/3] fix: correctly marshall boolean values in slurm dictionaries Append key name, not value, to intermediary result list before converting to a Slurm-style dictionary Signed-off-by: Jason C. Nucciarone --- slurmutils/models/callback.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slurmutils/models/callback.py b/slurmutils/models/callback.py index 8bf9a4d..19bbb06 100644 --- a/slurmutils/models/callback.py +++ b/slurmutils/models/callback.py @@ -64,7 +64,7 @@ def to_slurm_dict(value: Dict[str, Any]) -> str: result = [] for k, v in value.items(): if isinstance(v, bool) and v: - result.append(v) + result.append(k) continue result.append(f"{k}={v}") From ea62379892815e45f40049115b4442f58dae86f5 Mon Sep 17 00:00:00 2001 From: "Jason C. Nucciarone" Date: Tue, 12 Nov 2024 14:51:56 -0500 Subject: [PATCH 2/3] tests: ensure that slurm dictionary is properly marshalled Use `SlurmctldParameters=enable_configless` to verify that Slurm dictionary marshalling works correctly. Signed-off-by: Jason C. Nucciarone --- tests/unit/editors/test_slurmconfig.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/unit/editors/test_slurmconfig.py b/tests/unit/editors/test_slurmconfig.py index 037218d..7464c79 100644 --- a/tests/unit/editors/test_slurmconfig.py +++ b/tests/unit/editors/test_slurmconfig.py @@ -80,6 +80,7 @@ def test_edit(self) -> None: config.max_job_count = 20000 config.proctrack_type = "proctrack/linuxproc" config.plugin_dir.append("/snap/slurm/current/plugins") + config.slurmctld_parameters = {"enable_configless": True} new_node = Node(NodeName="batch-0", **config.nodes["juju-c9fc6f-2"]) del config.nodes["juju-c9fc6f-2"] config.nodes.update(new_node.dict()) @@ -92,6 +93,7 @@ def test_edit(self) -> None: config.plugin_dir, ["/usr/local/lib", "/usr/local/slurm/lib", "/snap/slurm/current/plugins"], ) + self.assertDictEqual(config.slurmctld_parameters, {"enable_configless": True}) self.assertEqual(config.nodes["batch-0"]["NodeAddr"], "10.152.28.48") with slurmconfig.edit("/etc/slurm/slurm.conf") as config: From e7fe8b3357bcd06198b529d4ba1e0a00f1d93ae8 Mon Sep 17 00:00:00 2001 From: "Jason C. Nucciarone" Date: Tue, 12 Nov 2024 14:53:37 -0500 Subject: [PATCH 3/3] chore(release): bump slurmutils to 0.8.1 Signed-off-by: Jason C. Nucciarone --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1b143ef..517277e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,7 +18,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "slurmutils" -version = "0.8.0" +version = "0.8.1" description = "Utilities and APIs for interfacing with the Slurm workload manager." repository = "https://github.com/charmed-hpc/slurmutils" authors = ["Jason C. Nucciarone "]