diff options
Diffstat (limited to 'nixos/tests/slurm.nix')
-rw-r--r-- | nixos/tests/slurm.nix | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/nixos/tests/slurm.nix b/nixos/tests/slurm.nix index 0dd00dfb04c2..ec67ea092874 100644 --- a/nixos/tests/slurm.nix +++ b/nixos/tests/slurm.nix @@ -1,7 +1,6 @@ import ./make-test.nix ({ pkgs, ... }: let mungekey = "mungeverryweakkeybuteasytointegratoinatest"; slurmconfig = { - client.enable = true; controlMachine = "control"; nodeName = '' control @@ -20,36 +19,49 @@ in { # TODO slrumd port and slurmctld port should be configurations and # automatically allowed by the firewall. networking.firewall.enable = false; - services.munge.enable = true; - services.slurm = slurmconfig; + services.slurm = { + client.enable = true; + } // slurmconfig; }; in { + control = { config, pkgs, ...}: { networking.firewall.enable = false; - services.munge.enable = true; services.slurm = { server.enable = true; } // slurmconfig; }; + + submit = + { config, pkgs, ...}: + { + networking.firewall.enable = false; + services.slurm = { + enableStools = true; + } // slurmconfig; + }; + node1 = computeNode; node2 = computeNode; node3 = computeNode; }; + testScript = '' startAll; # Set up authentification across the cluster - foreach my $node (($control,$node1,$node2,$node3)) + foreach my $node (($submit,$control,$node1,$node2,$node3)) { $node->waitForUnit("default.target"); $node->succeed("mkdir /etc/munge"); $node->succeed("echo '${mungekey}' > /etc/munge/munge.key"); $node->succeed("chmod 0400 /etc/munge/munge.key"); + $node->succeed("chown munge:munge /etc/munge/munge.key"); $node->succeed("systemctl restart munged"); } @@ -62,7 +74,7 @@ in { }; subtest "can_start_slurmd", sub { - foreach my $node (($control,$node1,$node2,$node3)) + foreach my $node (($node1,$node2,$node3)) { $node->succeed("systemctl restart slurmd.service"); $node->waitForUnit("slurmd"); @@ -74,7 +86,7 @@ in { subtest "run_distributed_command", sub { # Run `hostname` on 3 nodes of the partition (so on all the 3 nodes). # The output must contain the 3 different names - $control->succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq"); + $submit->succeed("srun -N 3 hostname | sort | uniq | wc -l | xargs test 3 -eq"); }; ''; }) |