unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Offloading to use Guile-SSH instead of lsh
@ 2016-11-05 15:41 Ludovic Courtès
  2016-11-06  7:47 ` Efraim Flashner
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Ludovic Courtès @ 2016-11-05 15:41 UTC (permalink / raw)
  To: guix-devel

Hello!

The ‘wip-guile-ssh’ branch is finally getting into shape.  As soon as
a new Guile-SSH release is out, I’ll merge it on master.

The goal of this branch is to use Guile-SSH (libssh bindings) instead of
invoking ‘lsh’ when offloading builds (see
<https://www.gnu.org/software/guix/manual/html_node/Daemon-Offload-Setup.html>
for background.)

The new code is shorter(!), more efficient, more elegant, and hopefully
more reliable.  The efficiency gains come from the fact that we can
reuse SSH sessions in an intelligent way.  The elegance has to do with
the fact that we have direct access to the SSH API, as opposed to
invoking ‘lsh’ and checking its exit status.

Improved reliability (well, modulo new bugs ;-)) comes from the fact
that we open a direct connection to the remote guix-daemon for the
duration of the offload, which allows us to better control GC root
registration—we can use the ‘add-temp-root’ RPC directly instead of
writing indirect root files in $HOME.

Before we put it in production on hydra.gnu.org :-), I’d welcome more
testing!  To do that you need a current Guile-SSH (with the
‘channel-send-eof!’  procedure), and the ‘build-machine’ form is
slightly different than before: it has a new ‘host-key’ field to contain
the OpenSSH-formatted host key of the machine.  I’ve updated the doc to
reflect that.

Feedback welcome!

Ludo’.

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-12-06  9:34 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-11-05 15:41 Offloading to use Guile-SSH instead of lsh Ludovic Courtès
2016-11-06  7:47 ` Efraim Flashner
2016-11-06 17:40   ` Ludovic Courtès
2016-11-25 22:50 ` Ludovic Courtès
2016-11-26  4:42   ` Leo Famulari
2016-11-26 15:11     ` 宋文武
2016-11-27 22:10       ` Ludovic Courtès
2016-11-28 10:06         ` Efraim Flashner
2016-11-28 14:13           ` ‘guix pull’ and external dependencies Ludovic Courtès
2016-11-29  1:58             ` Chris Marusich
2016-11-29 14:54               ` Ludovic Courtès
2016-12-06  9:34 ` Offloading to use Guile-SSH instead of lsh Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).