From mboxrd@z Thu Jan 1 00:00:00 1970 From: YOANN P Subject: Questions regarding offloading ( unprivileged setup , parallel builds ) Date: Sat, 3 Feb 2018 19:51:14 +0000 Message-ID: Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="_000_DB6P18901MB00229B170ABE9B6583EFA2A3DBF80DB6P18901MB0022_" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39629) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ei3qL-0005eC-1g for guix-devel@gnu.org; Sat, 03 Feb 2018 14:51:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ei3qH-0005OE-UY for guix-devel@gnu.org; Sat, 03 Feb 2018 14:51:21 -0500 Received: from mail-oln040092067094.outbound.protection.outlook.com ([40.92.67.94]:10150 helo=EUR02-AM5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ei3qH-0005Nh-Ib for guix-devel@gnu.org; Sat, 03 Feb 2018 14:51:17 -0500 Content-Language: fr-FR List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: "guix-devel@gnu.org" --_000_DB6P18901MB00229B170ABE9B6583EFA2A3DBF80DB6P18901MB0022_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Guix team, I didn't find any documentation describing a way to use an alternative file= for the offload settings instead of the default /etc/guix/machines.scm. Did i missed something ? Is there other files that are put under /etc ? It could be problematic for users who use custom store/state path in unpriv= ileged environnements but want to use the offload isn't it ? Another question regarding the offload, how are used the machines describe = inside /etc/guix/machines.scm ? If the installation of a package require to build multiple packages, does t= he builds are all done on the first machine choose for the build or distrib= ute over all machines describe on /etc/guix/machines.scm ? The description of "parallel-builds" parameter and the fact than missing de= pendencies already present on the host who request the offload seem to be t= ransferred through ssh let me think that only one machine at time is used f= or the offload even if all the machines present inside machines.scm share t= he same store. Not sure about this too, there is no ssh transfert if the dependencies (sam= e packages / store path ) are already on the offload store isn't it ? Implementing something similar to the project "guix-relocate" from Pjotr in= side the core project to be able to use native Guix packages with custom pa= th when we install them would be a real huge improvement to prevent the use= of proot/namespace/offloading :) Thanks, Best regards --_000_DB6P18901MB00229B170ABE9B6583EFA2A3DBF80DB6P18901MB0022_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable

Hi Guix team,


I didn't find any documentation d= escribing a way to use an alternative file for the offload settings instead= of the default /etc/guix/machines.scm.


Did i missed something ? Is there= other files that are put under /etc ?


It could be problematic for users= who use custom store/state path in unprivileged environnements but want to= use the offload isn't it ?


Another question regarding the offload, how are used the machines desc= ribe inside  /etc/guix/machines.scm ?

If the installation of a package require to build multiple packages, d= oes the builds are all done on the first machine choose for the build or di= stribute over all machines describe on /etc/guix/machines.scm ?

The description of "parallel-builds" parameter and the fact = than missing dependencies already present on the host who request the offlo= ad seem to be transferred through ssh let me think that only one machine at time is= used for the offload even if all the machines present inside machines.scm = share the same store.

Not sure about this too, there is no ssh transfert if the dependencies= (same packages / store path ) are already on the offload store isn't = it ?

Implementing something similar to the project "guix-relocat= e" from Pjotr inside the core project to be able to use native Guix pa= ckages with custom path when we install them would be a real huge improveme= nt to prevent the use of proot/namespace/offloading :)

Thanks,

Best regards

--_000_DB6P18901MB00229B170ABE9B6583EFA2A3DBF80DB6P18901MB0022_-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Questions regarding offloading ( unprivileged setup , parallel builds ) Date: Mon, 05 Feb 2018 11:55:07 +0100 Message-ID: <87eflzhfjo.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39490) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eieQd-0005EQ-UW for guix-devel@gnu.org; Mon, 05 Feb 2018 05:55:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eieQX-0005Ez-Vg for guix-devel@gnu.org; Mon, 05 Feb 2018 05:55:15 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:39102) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eieQX-0005E4-Oo for guix-devel@gnu.org; Mon, 05 Feb 2018 05:55:09 -0500 In-Reply-To: (YOANN P.'s message of "Sat, 3 Feb 2018 19:51:14 +0000") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: YOANN P Cc: "guix-devel@gnu.org" Hello, YOANN P skribis: > I didn't find any documentation describing a way to use an alternative fi= le for the offload settings instead of the default /etc/guix/machines.scm. > > > Did i missed something ? No, this is correct. > Is there other files that are put under /etc ? /etc/guix also contains things related to substitutes. > It could be problematic for users who use custom store/state path in unpr= ivileged environnements but want to use the offload isn't it ? Indeed, though if you=E2=80=99re customizing things anyway, you could run: ./configure --prefix=3D/my/prefix --sysconfdir=3D/my/etc > Another question regarding the offload, how are used the machines describ= e inside /etc/guix/machines.scm ? > > If the installation of a package require to build multiple packages, does= the builds are all done on the first machine choose for the build or distr= ibute over all machines describe on /etc/guix/machines.scm ? When there are several matching machines, =E2=80=98guix offload=E2=80=99 cu= rrently picks one at random; if that machine is already under high load, it goes on and picks another one. See: https://git.savannah.gnu.org/cgit/guix.git/tree/guix/scripts/offload.scm#= n442 > The description of "parallel-builds" parameter and the fact than missing = dependencies already present on the host who request the offload seem to be= transferred through ssh let me think that only one machine at time is used= for the offload even if all the machines present inside machines.scm share= the same store. Several machines can be used at the same time, no worries. :-) > Not sure about this too, there is no ssh transfert if the dependencies (s= ame packages / store path ) are already on the offload store isn't it ? Right, only missing items are transferred. > Implementing something similar to the project "guix-relocate" from Pjotr = inside the core project to be able to use native Guix packages with custom = path when we install them would be a real huge improvement to prevent the u= se of proot/namespace/offloading :) I think offloading serves a completely different purpose: it=E2=80=99s a wa= y to distribute builds to several machines. But yeah, we discussed relocation at FOSDEM again and it=E2=80=99s a useful thing in its own right, even though there are limitations. :-) Ludo=E2=80=99. From mboxrd@z Thu Jan 1 00:00:00 1970 From: YOANN P Subject: RE: Questions regarding offloading ( unprivileged setup , parallel builds ) Date: Mon, 5 Feb 2018 16:13:31 +0000 Message-ID: References: , <87eflzhfjo.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="_000_DB6P18901MB00221A60916A2DCFBA85D80EDBFE0DB6P18901MB0022_" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42505) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eijOm-0004Iq-9z for guix-devel@gnu.org; Mon, 05 Feb 2018 11:13:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eijOg-0002Lm-CS for guix-devel@gnu.org; Mon, 05 Feb 2018 11:13:40 -0500 Received: from mail-oln040092068020.outbound.protection.outlook.com ([40.92.68.20]:45175 helo=EUR02-HE1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eijOf-0002Dm-UC for guix-devel@gnu.org; Mon, 05 Feb 2018 11:13:34 -0500 In-Reply-To: <87eflzhfjo.fsf@gnu.org> Content-Language: fr-FR List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: "guix-devel@gnu.org" --_000_DB6P18901MB00221A60916A2DCFBA85D80EDBFE0DB6P18901MB0022_ Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable Hi, Thanks you for yours answers :-) > > Indeed, though if you=92re customizing things anyway, you could run: > > ./configure --prefix=3D/my/prefix --sysconfdir=3D/my/etc > Thanks, I missed that part sorry > > Several machines can be used at the same time, no worries. :-) > It is really nice if each dependencies could be build among different machi= nes at the same time :-) Anothers questions regarding the way the offload work: - does the machines.scm is read at the start of the daemon or read each tim= e the hook is called ? (just to be sure because the sources let me think it= is read each time and is what i want) - if a machine disappear during a build, does that build is retry on anothe= r machine ? is there a retry parameter ? - Is there any project to had a parametrable post/pre offload-hook ? (Could= be used to start preemptive cloud instances before a build and fill the "m= achines.scm" and shutdown instances at the end) - No problem to use multiple daemon with the same store ? (I'm not sure of = it because I never seen this kind of implementation on web, could be very u= seful if it not yet possible) We could imagine a S3 storage for the store / state directories and when we= need compute resources to build packages, only start preemptible instances= who mount the same store through S3QL. This way we only pay the storage for state / store directories Best regards, Yoann --_000_DB6P18901MB00221A60916A2DCFBA85D80EDBFE0DB6P18901MB0022_ Content-Type: text/html; charset="Windows-1252" Content-Transfer-Encoding: quoted-printable

=

Hi,

Thanks you for yours answers :-)


> Indeed, though if you=92re customizing things anyway, you could r= un:
>   ./configure --prefix=3D/my/prefix --sysconfdir=3D/my/= etc

Thanks, I missed that part sorry


> Several machines can be used at the same time, no worries.  = :-)

It is really nice if each dependencies could be build among diff= erent machines at the same time :-)


Anothers questions regarding the way the offload work:

- does the machines.scm is read at the start of the daemon or read eac= h time the hook is called ? (just to be sure because the sources let me thi= nk it is read each time and is what i want) 

- if a machine disappear during a build, does that build is retry on a= nother machine ? is there a retry parameter ?

- Is there any project to had a parametrable post/pre offload-hook ? (= Could be used to start preemptive cloud instances before a build = and fill the "machines.scm" and shutdown instances at the end)

- No problem to use multiple daemon with the same store ? (I'm not sur= e of it because I never seen this kind of implementation on web, could be v= ery useful if it not yet possible)

We could imagine a S3 storage for the store / state directories and wh= en we need compute resources to build packages, only start preemptible inst= ances who mount the same store through S3QL.

This way we only pay the storage for state / store directories

Best regards, 
Yoann
--_000_DB6P18901MB00221A60916A2DCFBA85D80EDBFE0DB6P18901MB0022_-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pjotr Prins Subject: Re: Questions regarding offloading ( unprivileged setup , parallel builds ) Date: Mon, 5 Feb 2018 18:39:53 +0100 Message-ID: <20180205173953.GA12638@thebird.nl> References: <87eflzhfjo.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43457) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eiknk-0006tr-7k for guix-devel@gnu.org; Mon, 05 Feb 2018 12:43:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eikng-00089L-JT for guix-devel@gnu.org; Mon, 05 Feb 2018 12:43:32 -0500 Received: from mail.thebird.nl ([95.154.246.10]:45802) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eikng-00087W-BQ for guix-devel@gnu.org; Mon, 05 Feb 2018 12:43:28 -0500 Content-Disposition: inline In-Reply-To: List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: YOANN P Cc: "guix-devel@gnu.org" On Mon, Feb 05, 2018 at 04:13:31PM +0000, YOANN P wrote: > We could imagine a S3 storage for the store / state directories and > when we need compute resources to build packages, only start > preemptible instances who mount the same store through S3QL. > This way we only pay the storage for state / store directories > Best regards, > Yoann Are you on HPC? - we have a HPC working group, please join. One thing we discussed is content addressable binaries - that way we can fetch them from anywhere, even without signing! Pj. -- From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Questions regarding offloading ( unprivileged setup , parallel builds ) Date: Fri, 09 Feb 2018 14:33:18 +0100 Message-ID: <87r2pu1e5d.fsf@gnu.org> References: <87eflzhfjo.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:43496) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ek8nt-0006zE-En for guix-devel@gnu.org; Fri, 09 Feb 2018 08:33:29 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ek8np-0007aR-4x for guix-devel@gnu.org; Fri, 09 Feb 2018 08:33:24 -0500 Received: from hera.aquilenet.fr ([2a0c:e300::1]:55368) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1ek8no-0007Y2-Tf for guix-devel@gnu.org; Fri, 09 Feb 2018 08:33:21 -0500 In-Reply-To: (YOANN P.'s message of "Mon, 5 Feb 2018 16:13:31 +0000") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: YOANN P Cc: "guix-devel@gnu.org" Hi, YOANN P skribis: > Anothers questions regarding the way the offload work: > > - does the machines.scm is read at the start of the daemon or read > each time the hook is called ? (just to be sure because the sources > let me think it is read each time and is what i want) It=E2=80=99s reach each time the hook is called. You can add a =E2=80=98di= splay=E2=80=99 call in there if you want to see. > - if a machine disappear during a build, does that build is retry on > another machine ? is there a retry parameter ? No. In that case, I think the daemon returns a transient error in this case, and the build can be restarted eventually, but we don=E2=80=99t do th= at automatically currently. > - Is there any project to had a parametrable post/pre offload-hook ? > (Could be used to start preemptive cloud instances before a build and > fill the "machines.scm" and shutdown instances at the end) Currently no, though I guess you could do some of that in machines.scm. More specifically you could have a =E2=80=9Cmachine server=E2=80=9D that do= es all the heavy lifting, and have machines.scm simply make an RPC to that server along the lines of =E2=80=9Cgimme a bunch of machines plz.=E2=80=9D > - No problem to use multiple daemon with the same store ? (I'm not > sure of it because I never seen this kind of implementation on web, > could be very useful if it not yet possible) It kinda works but it=E2=80=99s not recommended. HTH, Ludo=E2=80=99.