slurm-spank-x11: init at 0.2.5
This commit is contained in:
parent
8fd86b86eb
commit
85ca8f121b
@ -12,8 +12,14 @@ let
|
|||||||
${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
|
${optionalString (cfg.controlAddr != null) ''controlAddr=${cfg.controlAddr}''}
|
||||||
${optionalString (cfg.nodeName != null) ''nodeName=${cfg.nodeName}''}
|
${optionalString (cfg.nodeName != null) ''nodeName=${cfg.nodeName}''}
|
||||||
${optionalString (cfg.partitionName != null) ''partitionName=${cfg.partitionName}''}
|
${optionalString (cfg.partitionName != null) ''partitionName=${cfg.partitionName}''}
|
||||||
|
PlugStackConfig=${plugStackConfig}
|
||||||
${cfg.extraConfig}
|
${cfg.extraConfig}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
plugStackConfig = pkgs.writeText "plugstack.conf"
|
||||||
|
''
|
||||||
|
${optionalString cfg.enableSrunX11 ''optional ${pkgs.slurm-spank-x11}/lib/x11.so''}
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -86,6 +92,17 @@ in
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enableSrunX11 = mkOption {
|
||||||
|
default = false;
|
||||||
|
type = types.bool;
|
||||||
|
description = ''
|
||||||
|
If enabled srun will accept the option "--x11" to allow for X11 forwarding
|
||||||
|
from within an interactive session or a batch job. This activates the
|
||||||
|
slurm-spank-x11 module. Note that this requires 'services.openssh.forwardX11'
|
||||||
|
to be enabled on the compute nodes.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
default = "";
|
default = "";
|
||||||
type = types.lines;
|
type = types.lines;
|
||||||
@ -134,7 +151,8 @@ in
|
|||||||
environment.systemPackages = [ wrappedSlurm ];
|
environment.systemPackages = [ wrappedSlurm ];
|
||||||
|
|
||||||
systemd.services.slurmd = mkIf (cfg.client.enable) {
|
systemd.services.slurmd = mkIf (cfg.client.enable) {
|
||||||
path = with pkgs; [ wrappedSlurm coreutils ];
|
path = with pkgs; [ wrappedSlurm coreutils ]
|
||||||
|
++ lib.optional cfg.enableSrunX11 slurm-spank-x11;
|
||||||
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "systemd-tmpfiles-clean.service" ];
|
after = [ "systemd-tmpfiles-clean.service" ];
|
||||||
@ -152,7 +170,8 @@ in
|
|||||||
};
|
};
|
||||||
|
|
||||||
systemd.services.slurmctld = mkIf (cfg.server.enable) {
|
systemd.services.slurmctld = mkIf (cfg.server.enable) {
|
||||||
path = with pkgs; [ wrappedSlurm munge coreutils ];
|
path = with pkgs; [ wrappedSlurm munge coreutils ]
|
||||||
|
++ lib.optional cfg.enableSrunX11 slurm-spank-x11;
|
||||||
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
wantedBy = [ "multi-user.target" ];
|
||||||
after = [ "network.target" "munged.service" ];
|
after = [ "network.target" "munged.service" ];
|
||||||
|
39
pkgs/servers/computing/slurm-spank-x11/default.nix
Normal file
39
pkgs/servers/computing/slurm-spank-x11/default.nix
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
{ stdenv, fetchFromGitHub, slurm } :
|
||||||
|
let
|
||||||
|
version = "0.2.5";
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "slurm-spank-x11-${version}";
|
||||||
|
version = version;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "hautreux";
|
||||||
|
repo = "slurm-spank-x11";
|
||||||
|
rev = version;
|
||||||
|
sha256 = "1dmsr7whxcxwnlvl1x4s3bqr5cr6q5ssb28vqi67w5hj4sshisry";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
gcc -DX11_LIBEXEC_PROG="\"$out/bin/slurm-spank-x11\"" \
|
||||||
|
-g -o slurm-spank-x11 slurm-spank-x11.c
|
||||||
|
gcc -I${slurm.dev}/include -DX11_LIBEXEC_PROG="\"$out/bin/slurm-spank-x11\"" -shared -fPIC \
|
||||||
|
-g -o x11.so slurm-spank-x11-plug.c
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin $out/lib
|
||||||
|
install -m 755 slurm-spank-x11 $out/bin
|
||||||
|
install -m 755 x11.so $out/lib
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = https://github.com/hautreux/slurm-spank-x11;
|
||||||
|
description = "Plugin for SLURM to allow for interactive X11 sessions";
|
||||||
|
platforms = platforms.linux;
|
||||||
|
license = licenses.gpl3;
|
||||||
|
maintainers = with maintainers; [ markuskowa ];
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -12394,6 +12394,8 @@ with pkgs;
|
|||||||
slurm-full = appendToName "full" (callPackage ../servers/computing/slurm { });
|
slurm-full = appendToName "full" (callPackage ../servers/computing/slurm { });
|
||||||
slurm-llnl-full = slurm-full; # renamed July 2017
|
slurm-llnl-full = slurm-full; # renamed July 2017
|
||||||
|
|
||||||
|
slurm-spank-x11 = callPackage ../servers/computing/slurm-spank-x11 { };
|
||||||
|
|
||||||
systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { };
|
systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { };
|
||||||
|
|
||||||
inherit (callPackages ../servers/http/tomcat { })
|
inherit (callPackages ../servers/http/tomcat { })
|
||||||
|
Loading…
Reference in New Issue
Block a user