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.
|
||||
@sshOpts = ("-i", $machine->{sshKeys}, "-x");
|
||||
$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";
|
||||
$machine->{enabled} = 0;
|
||||
|
|
Loading…
Reference in a new issue