unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* offload daemon
@ 2017-05-23 15:54 James Richardson
  2017-05-23 20:33 ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: James Richardson @ 2017-05-23 15:54 UTC (permalink / raw)
  To: help-guix

[-- Attachment #1: Type: text/plain, Size: 879 bytes --]

I am trying to setup an offload daemon.

I have everything setup correctly (I think ;)

$ guix offload test completes successfully.

The offload daemon is actually guix on a foreign distro (Debian sid in
this case).

Neither guix running on top of a Debian (sid and jessie) nor guixsd seem
to even call out to the offload daemon. All boxen are 64.

My /etc/guix/machines.scm is here

(list (build-machine
       (name "thor.lab01.jamestechnotes.com")
       (system "x86_64-linux")
       (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJf0ezYgeVFit40VJwaBEW1dGm2Xz+SHzVmib8IbN58y root@thor")
       (user "guix")
       (speed 1.)
       (private-key
	(string-append (getenv "HOME")
       	       "/.ssh/identity-for-guix"))))

Is x86_64-linux the proper system type?

Is there a way to query the string that quix/guile actually uses to
match system?

Thanks,
James Richardson

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 800 bytes --]

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

* Re: offload daemon
  2017-05-23 15:54 offload daemon James Richardson
@ 2017-05-23 20:33 ` Ludovic Courtès
  2017-05-24  1:36   ` James Richardson
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-05-23 20:33 UTC (permalink / raw)
  To: James Richardson; +Cc: help-guix

Hello,

James Richardson <james@jamestechnotes.com> skribis:

> I am trying to setup an offload daemon.
>
> I have everything setup correctly (I think ;)
>
> $ guix offload test completes successfully.
>
> The offload daemon is actually guix on a foreign distro (Debian sid in
> this case).
>
> Neither guix running on top of a Debian (sid and jessie) nor guixsd seem
> to even call out to the offload daemon. All boxen are 64.
>
> My /etc/guix/machines.scm is here
>
> (list (build-machine
>        (name "thor.lab01.jamestechnotes.com")
>        (system "x86_64-linux")
>        (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJf0ezYgeVFit40VJwaBEW1dGm2Xz+SHzVmib8IbN58y root@thor")
>        (user "guix")
>        (speed 1.)
>        (private-key
> 	(string-append (getenv "HOME")
>        	       "/.ssh/identity-for-guix"))))
>
> Is x86_64-linux the proper system type?

Yes.

There are several things to consider here.  By default, guix-daemon
creates a single job, so that single job will end up being built
locally, unless you spawn, say, two “guix build” commands in parallel
(the number of jobs is per client.)

Running “guix-daemon --max-jobs=0” should force all builds to be
offloaded:

  https://www.gnu.org/software/guix/manual/html_node/Invoking-guix_002ddaemon.html

I *think* “guix build --max-jobs=0” should give the same result.

Alternately, if you run “guix build --max-jobs=2”, presumably half of
the builds will be offloaded.

Let us know if that works for you.

Ludo’.

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

* Re: offload daemon
  2017-05-23 20:33 ` Ludovic Courtès
@ 2017-05-24  1:36   ` James Richardson
  2017-05-24  2:14     ` James Richardson
  0 siblings, 1 reply; 7+ messages in thread
From: James Richardson @ 2017-05-24  1:36 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: help-guix


Ludovic Courtès writes:

> Hello,
>
> James Richardson <james@jamestechnotes.com> skribis:
>
>> I am trying to setup an offload daemon.
>>
>> I have everything setup correctly (I think ;)
>>
>> $ guix offload test completes successfully.
>>
>> The offload daemon is actually guix on a foreign distro (Debian sid in
>> this case).
>>
>> Neither guix running on top of a Debian (sid and jessie) nor guixsd seem
>> to even call out to the offload daemon. All boxen are 64.
>>
>> My /etc/guix/machines.scm is here
>>
>> (list (build-machine
>>        (name "thor.lab01.jamestechnotes.com")
>>        (system "x86_64-linux")
>>        (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJf0ezYgeVFit40VJwaBEW1dGm2Xz+SHzVmib8IbN58y root@thor")
>>        (user "guix")
>>        (speed 1.)
>>        (private-key
>> 	(string-append (getenv "HOME")
>>        	       "/.ssh/identity-for-guix"))))
>>
>> Is x86_64-linux the proper system type?
>
> Yes.
>
> There are several things to consider here.  By default, guix-daemon
> creates a single job, so that single job will end up being built
> locally, unless you spawn, say, two “guix build” commands in parallel
> (the number of jobs is per client.)
>
> Running “guix-daemon --max-jobs=0” should force all builds to be
> offloaded:
>
>   https://www.gnu.org/software/guix/manual/html_node/Invoking-guix_002ddaemon.html
>
> I *think* “guix build --max-jobs=0” should give the same result.
>
> Alternately, if you run “guix build --max-jobs=2”, presumably half of
> the builds will be offloaded.
>
> Let us know if that works for you.
>
> Ludo’.

I have a permission problem somewhere, I think. If I run as root offload
works, otherwise it doesn't. Don't really know here to look from here.

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

* Re: offload daemon
  2017-05-24  1:36   ` James Richardson
@ 2017-05-24  2:14     ` James Richardson
  2017-05-24 10:10       ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: James Richardson @ 2017-05-24  2:14 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: help-guix


James Richardson writes:

> Ludovic Courtès writes:
>
>> Hello,
>>
>> James Richardson <james@jamestechnotes.com> skribis:
>>
>>> I am trying to setup an offload daemon.
>>>
>>> I have everything setup correctly (I think ;)
>>>
>>> $ guix offload test completes successfully.
>>>
>>> The offload daemon is actually guix on a foreign distro (Debian sid in
>>> this case).
>>>
>>> Neither guix running on top of a Debian (sid and jessie) nor guixsd seem
>>> to even call out to the offload daemon. All boxen are 64.
>>>
>>> My /etc/guix/machines.scm is here
>>>
>>> (list (build-machine
>>>        (name "thor.lab01.jamestechnotes.com")
>>>        (system "x86_64-linux")
>>>        (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJf0ezYgeVFit40VJwaBEW1dGm2Xz+SHzVmib8IbN58y root@thor")
>>>        (user "guix")
>>>        (speed 1.)
>>>        (private-key
>>> 	(string-append (getenv "HOME")
>>>        	       "/.ssh/identity-for-guix"))))
>>>
>>> Is x86_64-linux the proper system type?
>>
>> Yes.
>>
>> There are several things to consider here.  By default, guix-daemon
>> creates a single job, so that single job will end up being built
>> locally, unless you spawn, say, two “guix build” commands in parallel
>> (the number of jobs is per client.)
>>
>> Running “guix-daemon --max-jobs=0” should force all builds to be
>> offloaded:
>>
>>   https://www.gnu.org/software/guix/manual/html_node/Invoking-guix_002ddaemon.html
>>
>> I *think* “guix build --max-jobs=0” should give the same result.
>>
>> Alternately, if you run “guix build --max-jobs=2”, presumably half of
>> the builds will be offloaded.
>>
>> Let us know if that works for you.
>>
>> Ludo’.
>
> I have a permission problem somewhere, I think. If I run as root offload
> works, otherwise it doesn't. Don't really know here to look from here.

Hmm, I move the key pair to /tmp and set the perms to 644 and offloading
works for my regular user... Not quite sure I understand why.

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

* Re: offload daemon
  2017-05-24  2:14     ` James Richardson
@ 2017-05-24 10:10       ` Ludovic Courtès
  2017-05-25  1:10         ` James Richardson
  0 siblings, 1 reply; 7+ messages in thread
From: Ludovic Courtès @ 2017-05-24 10:10 UTC (permalink / raw)
  To: James Richardson; +Cc: help-guix

James Richardson <james@jamestechnotes.com> skribis:

> James Richardson writes:
>
>> Ludovic Courtès writes:
>>
>>> Hello,
>>>
>>> James Richardson <james@jamestechnotes.com> skribis:
>>>
>>>> I am trying to setup an offload daemon.
>>>>
>>>> I have everything setup correctly (I think ;)
>>>>
>>>> $ guix offload test completes successfully.
>>>>
>>>> The offload daemon is actually guix on a foreign distro (Debian sid in
>>>> this case).
>>>>
>>>> Neither guix running on top of a Debian (sid and jessie) nor guixsd seem
>>>> to even call out to the offload daemon. All boxen are 64.
>>>>
>>>> My /etc/guix/machines.scm is here
>>>>
>>>> (list (build-machine
>>>>        (name "thor.lab01.jamestechnotes.com")
>>>>        (system "x86_64-linux")
>>>>        (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJf0ezYgeVFit40VJwaBEW1dGm2Xz+SHzVmib8IbN58y root@thor")
>>>>        (user "guix")
>>>>        (speed 1.)
>>>>        (private-key
>>>> 	(string-append (getenv "HOME")
>>>>        	       "/.ssh/identity-for-guix"))))
>>>>
>>>> Is x86_64-linux the proper system type?
>>>
>>> Yes.
>>>
>>> There are several things to consider here.  By default, guix-daemon
>>> creates a single job, so that single job will end up being built
>>> locally, unless you spawn, say, two “guix build” commands in parallel
>>> (the number of jobs is per client.)
>>>
>>> Running “guix-daemon --max-jobs=0” should force all builds to be
>>> offloaded:
>>>
>>>   https://www.gnu.org/software/guix/manual/html_node/Invoking-guix_002ddaemon.html
>>>
>>> I *think* “guix build --max-jobs=0” should give the same result.
>>>
>>> Alternately, if you run “guix build --max-jobs=2”, presumably half of
>>> the builds will be offloaded.
>>>
>>> Let us know if that works for you.
>>>
>>> Ludo’.
>>
>> I have a permission problem somewhere, I think. If I run as root offload
>> works, otherwise it doesn't. Don't really know here to look from here.
>
> Hmm, I move the key pair to /tmp and set the perms to 644 and offloading
> works for my regular user... Not quite sure I understand why.

The ‘guix offload’ command is invoked by guix-daemon as root.  So when
it is invoked, (getenv "HOME") returns "/root" or similar.  Could that
be the problem?

HTH,
Ludo’.

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

* Re: offload daemon
  2017-05-24 10:10       ` Ludovic Courtès
@ 2017-05-25  1:10         ` James Richardson
  2017-05-28 15:44           ` Ludovic Courtès
  0 siblings, 1 reply; 7+ messages in thread
From: James Richardson @ 2017-05-25  1:10 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: help-guix


Ludovic Courtès writes:

> James Richardson <james@jamestechnotes.com> skribis:
>
>> James Richardson writes:
>>
>>> Ludovic Courtès writes:
>>>
>>>> Hello,
>>>>
>>>> James Richardson <james@jamestechnotes.com> skribis:
>>>>
>>>>> I am trying to setup an offload daemon.
>>>>>
>>>>> I have everything setup correctly (I think ;)
>>>>>
>>>>> $ guix offload test completes successfully.
>>>>>
>>>>> The offload daemon is actually guix on a foreign distro (Debian sid in
>>>>> this case).
>>>>>
>>>>> Neither guix running on top of a Debian (sid and jessie) nor guixsd seem
>>>>> to even call out to the offload daemon. All boxen are 64.
>>>>>
>>>>> My /etc/guix/machines.scm is here
>>>>>
>>>>> (list (build-machine
>>>>>        (name "thor.lab01.jamestechnotes.com")
>>>>>        (system "x86_64-linux")
>>>>>        (host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJf0ezYgeVFit40VJwaBEW1dGm2Xz+SHzVmib8IbN58y root@thor")
>>>>>        (user "guix")
>>>>>        (speed 1.)
>>>>>        (private-key
>>>>> 	(string-append (getenv "HOME")
>>>>>        	       "/.ssh/identity-for-guix"))))
>>>>>
>>>>> Is x86_64-linux the proper system type?
>>>>
>>>> Yes.
>>>>
>>>> There are several things to consider here.  By default, guix-daemon
>>>> creates a single job, so that single job will end up being built
>>>> locally, unless you spawn, say, two “guix build” commands in parallel
>>>> (the number of jobs is per client.)
>>>>
>>>> Running “guix-daemon --max-jobs=0” should force all builds to be
>>>> offloaded:
>>>>
>>>>   https://www.gnu.org/software/guix/manual/html_node/Invoking-guix_002ddaemon.html
>>>>
>>>> I *think* “guix build --max-jobs=0” should give the same result.
>>>>
>>>> Alternately, if you run “guix build --max-jobs=2”, presumably half of
>>>> the builds will be offloaded.
>>>>
>>>> Let us know if that works for you.
>>>>
>>>> Ludo’.
>>>
>>> I have a permission problem somewhere, I think. If I run as root offload
>>> works, otherwise it doesn't. Don't really know here to look from here.
>>
>> Hmm, I move the key pair to /tmp and set the perms to 644 and offloading
>> works for my regular user... Not quite sure I understand why.
>
> The ‘guix offload’ command is invoked by guix-daemon as root.  So when
> it is invoked, (getenv "HOME") returns "/root" or similar.  Could that
> be the problem?
>
> HTH,
> Ludo’.

Well, I think there is an issue with the offload. I don't (yet) know
guile well enough to understand the code to help :(

Here is what I am finding: $ guix build blah seems to offload builds
properly. $ guix package -i blah, guix package -u blah, and $ guix
system reconfigure config.scm does not offload builds.

Thanks,
j-r

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

* Re: offload daemon
  2017-05-25  1:10         ` James Richardson
@ 2017-05-28 15:44           ` Ludovic Courtès
  0 siblings, 0 replies; 7+ messages in thread
From: Ludovic Courtès @ 2017-05-28 15:44 UTC (permalink / raw)
  To: James Richardson; +Cc: help-guix

James Richardson <james@jamestechnotes.com> skribis:

> Ludovic Courtès writes:

[...]

>>> Hmm, I move the key pair to /tmp and set the perms to 644 and offloading
>>> works for my regular user... Not quite sure I understand why.
>>
>> The ‘guix offload’ command is invoked by guix-daemon as root.  So when
>> it is invoked, (getenv "HOME") returns "/root" or similar.  Could that
>> be the problem?
>>
>> HTH,
>> Ludo’.
>
> Well, I think there is an issue with the offload. I don't (yet) know
> guile well enough to understand the code to help :(

OK.

> Here is what I am finding: $ guix build blah seems to offload builds
> properly. $ guix package -i blah, guix package -u blah, and $ guix
> system reconfigure config.scm does not offload builds.

Without more info, it’s hard to tell, but there are derivations that are
marked as “non-offloadable”, essentially because it’d take more time to
transfer them and build them remotely than to build them locally.  Among
those derivations are profiles (built by ‘guix package’) and many of the
small items built by ‘guix system’.  It could explain what you’re
seeing.

Something like ‘guix build libreoffice --no-substitutes’ should be
offloaded, provided --max-jobs is appropriate as discussed before.

HTH,
Ludo’.

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

end of thread, other threads:[~2017-05-28 15:45 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-23 15:54 offload daemon James Richardson
2017-05-23 20:33 ` Ludovic Courtès
2017-05-24  1:36   ` James Richardson
2017-05-24  2:14     ` James Richardson
2017-05-24 10:10       ` Ludovic Courtès
2017-05-25  1:10         ` James Richardson
2017-05-28 15:44           ` Ludovic Courtès

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).