summary refs log tree commit diff
path: root/nixos/tests/slurm.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixos/tests/slurm.nix')
-rw-r--r--nixos/tests/slurm.nix26
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");
   };
   '';
 })