diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-08-29 14:37:58 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-08-29 14:37:58 +0200 |
commit | b1e48f222b4805012b4fd2ef5b4aa46884ee0a8d (patch) | |
tree | 5106836a324361e1acd1e47531ec9217787af8f1 | |
parent | 00b7776c0dc294c26c3b09bff236ccacbedd2080 (diff) |
offload: Ignore unreachable machines.
Fixes <http://bugs.gnu.org/18070>.
Reported by Andreas Enge <andreas@enge.fr>.
* guix/scripts/offload.scm (remote-pipe): Augment docstring.
(machine-load): Return +inf.0 instead of 1 if MACHINE does not respond
or responds badly.
-rw-r--r-- | guix/scripts/offload.scm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index 18af511ed8..c17de34acc 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -181,7 +181,8 @@ determined." #:key (error-port (current-error-port)) (quote? #t)) "Run COMMAND (a string list) on MACHINE, assuming an lsh gateway has been set up. When QUOTE? is true, perform shell-quotation of all the elements of -COMMAND." +COMMAND. Return either a pipe opened with MODE, or #f if the lsh client could +not be started." (define (shell-quote str) ;; Sort-of shell-quote STR so it can be passed as an argument to the ;; shell. @@ -535,7 +536,7 @@ allowed on MACHINE." (line (read-line pipe))) (close-pipe pipe) (if (eof-object? line) - 1. + +inf.0 ;MACHINE does not respond, so assume it is infinitely loaded (match (string-tokenize line) ((one five fifteen . _) (let* ((raw (string->number five)) @@ -546,7 +547,7 @@ allowed on MACHINE." (build-machine-name machine) raw normalized) normalized)) (_ - 1.))))) + +inf.0))))) ;something's fishy about MACHINE, so avoid it (define (machine-less-loaded? m1 m2) "Return #t if the load on M1 is lower than that on M2." |