Subject: [bug#29699] [PATCH] guix: offload: Add "status" sub-command.

From: [email-masked] (Ludovic Courtès)
Date: Fri, 15 Dec 2017 23:41:13 +0100

Ricardo Wurmus <[email-masked]> skribis:

> Ludovic Courtès <[email-masked]> writes:
>
>> Ricardo Wurmus <[email-masked]> skribis:
>>
>>> * guix/scripts/offload.scm (check-machine-load): New procedure.
>>> (guix-offload): Call it when the argument is "status".
>>> * doc/guix.texi (Daemon Offload Setup): Document it.
>>
>> Nice, LGTM!
>>
>>> +(define (check-machine-load machine-file pred)
>>> +  "Print the load of each machine matching PRED in MACHINE-FILE."
>>> +  (define (build-machine=? m1 m2)
>>> +    (and (string=? (build-machine-name m1) (build-machine-name m2))
>>> +         (= (build-machine-port m1) (build-machine-port m2))))
>>> +
>>> +  ;; A given build machine may appear several times (e.g., once for
>>> +  ;; "x86_64-linux" and a second time for "i686-linux"); test them only once.
>>> +  (let ((machines (filter pred
>>> +                          (delete-duplicates (build-machines machine-file)
>>> +                                             build-machine=?))))
>>> +    (for-each machine-load machines)))
>>
>> Perhaps we could also display information from ‘uname’, as in
>> <https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/machine-status.scm#n118>?
>
> I didn’t even notice machine-status.scm!  Should we just fold that into
> offload.scm instead of accepting my simplistic “check-machine-load”
> procedure?

Sure, I guess it’s just a matter of adding (node-eval node '(uname)) in
‘check-machine-load’ and printing that.

Thanks,
Ludo’.