From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id UGdaOR/MZV+6YwAA0tVLHw (envelope-from ) for ; Sat, 19 Sep 2020 09:15:11 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id CDQ+NR/MZV+8NQAA1q6Kng (envelope-from ) for ; Sat, 19 Sep 2020 09:15:11 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 29E0E94023C for ; Sat, 19 Sep 2020 09:15:10 +0000 (UTC) Received: from localhost ([::1]:42970 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kJYxZ-0002ju-27 for larch@yhetil.org; Sat, 19 Sep 2020 05:15:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40660) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kJYxT-0002ji-0b for guix-patches@gnu.org; Sat, 19 Sep 2020 05:15:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:34104) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kJYxS-00027E-MJ for guix-patches@gnu.org; Sat, 19 Sep 2020 05:15:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kJYxS-0003gr-HS for guix-patches@gnu.org; Sat, 19 Sep 2020 05:15:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#43494] [PATCH 2/4] services: guix: Add guix-build-coordinator-service-type. Resent-From: Christopher Baines Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 19 Sep 2020 09:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43494 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 43494@debbugs.gnu.org Received: via spool by 43494-submit@debbugs.gnu.org id=B43494.160050684714100 (code B ref 43494); Sat, 19 Sep 2020 09:15:02 +0000 Received: (at 43494) by debbugs.gnu.org; 19 Sep 2020 09:14:07 +0000 Received: from localhost ([127.0.0.1]:45650 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kJYwZ-0003fL-4f for submit@debbugs.gnu.org; Sat, 19 Sep 2020 05:14:07 -0400 Received: from mira.cbaines.net ([212.71.252.8]:57734) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kJYwX-0003fE-Ne for 43494@debbugs.gnu.org; Sat, 19 Sep 2020 05:14:06 -0400 Received: from localhost (unknown [46.237.174.246]) by mira.cbaines.net (Postfix) with ESMTPSA id 1430727BBE7; Sat, 19 Sep 2020 10:14:05 +0100 (BST) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id ffee01bd; Sat, 19 Sep 2020 09:14:02 +0000 (UTC) References: <20200918184042.22660-1-mail@cbaines.net> <20200918184042.22660-2-mail@cbaines.net> <87a6xmvnth.fsf@gnu.org> User-agent: mu4e 1.4.13; emacs 26.3 From: Christopher Baines In-reply-to: <87a6xmvnth.fsf@gnu.org> Date: Sat, 19 Sep 2020 10:13:58 +0100 Message-ID: <87a6xm9lih.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Spam-Score: -3.11 X-TUID: MV7gJy1x+9ff --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > Christopher Baines skribis: > >> * gnu/services/guix.scm (): New re= cord >> type. >> (guix-build-coordinator-configuration, guix-build-coordinator-configurat= ion?, >> guix-build-coordinator-configuration-package, >> guix-build-coordinator-configuration-user, >> guix-build-coordinator-configuration-group, >> guix-build-coordinator-configuration-datastore-uri-string, >> guix-build-coordinator-configuration-agent-communication-uri-string, >> guix-build-coordinator-configuration-client-communication-uri-string, >> guix-build-coordinator-configuration-allocation-strategy, >> guix-build-coordinator-configuration-hooks, >> guix-build-coordinator-configuration-guile, >> make-guix-build-coordinator-start-script, >> guix-build-coordinator-shepherd-services, guix-build-coordinator-activat= ion, >> guix-build-coordinator-account): New procedures. >> (guix-build-coordinator-service-type): New variable. >> * gnu/tests/guix.scm (%test-guix-build-coordinator): New variable. >> * doc/guix.texi (Guix Services): Document it. > > Yay! > >> +@subsubheading Guix Build Coordinator >> +The @uref{https://git.cbaines.net/guix/build-coordinator/,Guix Build >> +Coordinator} aids in building derivations. The Guix Daemon is still > ^ > Maybe something like: =E2=80=9Cin distributing derivation builds among ma= chines > running an @dfn{agent}=E2=80=9D. > > Also, s/Guix Daemon/build daemon/ or similar. > > (In general I=E2=80=99m in favor of avoiding =E2=80=9Cbrands=E2=80=9D in = documentation and > concept names.) > > Maybe add a =E2=80=9C@quotation Note=E2=80=9D stating that it=E2=80=99s w= ork in progress and > subject to change. I've made these changes now. >> +(define* (make-guix-build-coordinator-start-script database-uri-string >> + allocation-strategy >> + pid-file >> + guix-build-coordinat= or-package >> + #:key >> + agent-communication-= uri-string >> + client-communication= -uri-string >> + (hooks '()) >> + (guile guile-3.0)) >> + (program-file >> + "start-guix-build-coordinator" >> + (with-extensions (cons guix-build-coordinator-package >> + ;; This is a poorly constructed Guile load pa= th, >> + ;; since it contains things that aren't Guile >> + ;; libraries, but it means that the Guile lib= raries >> + ;; needed for the Guix Build Coordinator don'= t need >> + ;; to be individually specified here. >> + (map second (package-inputs >> + guix-build-coordinator-package))) > > Perhaps there should eventually be a =E2=80=98guix-build-coordinator=E2= =80=99 command in > the package itself? There actually is, one thing I've had in mind for a while now though is to use a scheme script constructed by the Guix service to run the coordinator. For guix.cbaines.net, I'm using the script, but with the hooks passed in on the command line, the command is rather long, and it means that backtraces don't work well with the hooks. I'm unsure how well this has worked out, I didn't anticipate the issues with the Guile load path, and because of the formatting stripping, both the code and backtraces will be unreadable anyway... but it is useful in allowing G-expressions to be used as part of the configuration. > One thing we discussed on IRC is the name and ways to set up one=E2=80=99s > monitor so that > guix-build-coordinator-configuration-client-communication-uri-string > fits on one line. :-) > > An idea that came to mind was =E2=80=9C(Guix) dispatch(er)=E2=80=9D, whic= h is > synonymous. You could use the (guix dispatch =E2=80=A6) name space. > Food for thought! (No rush, of course!) Indeed, I think that's a strong candidate :) --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl9ly9ZfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE 9XdVWg/+KZ3LZDolesoD7M43Bg2HBcI4SB2nou7+rT5iiYXgcX17kZjX/PG6SWbS DgdfJ+su/n59Hc9galUyZTLkbr52Yl8gByj35CQmWJJ0SJPzzvEdml6Ng7/KPOMr LN1YHvFxVfhXn+tZbExxV98LBGqWIualpoUd2I7qJvrA+11QAUXyLOybkhCk/lJz rrJRCjKoXP4mjxVBj6EgFB1s6CNXPI97kmJJvEHEp1V4kC8rym3kOkfYiuaZAmnZ aZil9CslNLOtFBhiheXaZWgGzvzx7ifFe/7oV63zfghg/AzoPwHVjvIdRrly7b1t eFJ5O3E3OOawXMAMV/K1+rPx/eTHaVyufex27wZcZpEv1UkX/7oMv6/XSVp0gOOD UpmDCNwSAmrvApE+rh1LowGIDBHYBa+P03RZ+4DYH68jT87C/O3Vz9WbDDTbPow9 KanFLJbR80sYaD/xO5Ni8cZ+o6DmxrjLPv55EdLqds1TQ2Bp7x2AG4Ki3VoMrFol H94YCS99hck5gXghZJZpsrUaclSDBUDET541OrBFtctfG8WksstGovRMnWO4u2wO 3JjQJTTdfr4yAqOVWUi3PE1JdZB1aZENE4XgZeNPBZCKVNt5noAV0OH/SN66noDk od5DslxrE/KUmgagTiEWOAl6noCmIRH+jSBrgqUJrGMSL93HwTM= =tSTq -----END PGP SIGNATURE----- --=-=-=--