forked from lix-project/lix
build-remote.pl: Allow a machine to refuse a build
Before selecting a machine, build-remote.pl will try to run the command "nix-builds-inhibited" on the machine. If this command exists and returns a 0 exit code, then the machine won't be used. It's up to the user to provide this command, but it would typically be a script that checks whether there is enough disk space and whether the load is not too high.
This commit is contained in:
parent
2ee9da9e22
commit
78206f06ec
|
@ -195,7 +195,9 @@ REQ: while (1) {
|
||||||
# Connect to the selected machine.
|
# Connect to the selected machine.
|
||||||
@sshOpts = ("-i", $machine->{sshKeys}, "-x");
|
@sshOpts = ("-i", $machine->{sshKeys}, "-x");
|
||||||
$hostName = $machine->{hostName};
|
$hostName = $machine->{hostName};
|
||||||
last REQ if openSSHConnection $hostName;
|
last REQ if
|
||||||
|
openSSHConnection($hostName) &&
|
||||||
|
system("ssh $hostName @sshOpts nix-builds-inhibited >/dev/null 2>&1") != 0;
|
||||||
|
|
||||||
warn "unable to open SSH connection to $hostName, trying other available machines...\n";
|
warn "unable to open SSH connection to $hostName, trying other available machines...\n";
|
||||||
$machine->{enabled} = 0;
|
$machine->{enabled} = 0;
|
||||||
|
|
Loading…
Reference in a new issue