unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#59171] [PATCH] services: guix-build-coordinator: Remove duplicate log timestamp.
@ 2022-11-10 14:08 Christopher Baines
  2022-11-14 17:26 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Christopher Baines @ 2022-11-10 14:08 UTC (permalink / raw)
  To: 59171

* gnu/services/guix.scm (guix-build-coordinator-shepherd-services,
guix-build-coordinator-agent-shepherd-services,
guix-build-coordinator-queue-builds-shepherd-services): Set
%current-logfile-date-format to "".
---
 gnu/services/guix.scm | 246 +++++++++++++++++++++++-------------------
 1 file changed, 134 insertions(+), 112 deletions(-)

diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index 907824ac61..cc31ec271b 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -333,31 +333,38 @@ (define (guix-build-coordinator-shepherd-services config)
       (documentation "Guix Build Coordinator")
       (provision '(guix-build-coordinator))
       (requirement '(networking))
-      (start #~(make-forkexec-constructor
-                (list #$(make-guix-build-coordinator-start-script
-                         database-uri-string
-                         allocation-strategy
-                         "/var/run/guix-build-coordinator/pid"
-                         package
-                         #:agent-communication-uri-string
-                         agent-communication-uri-string
-                         #:client-communication-uri-string
-                         client-communication-uri-string
-                         #:hooks hooks
-                         #:parallel-hooks parallel-hooks
-                         #:guile guile))
-                #:user #$user
-                #:group #$group
-                #:pid-file "/var/run/guix-build-coordinator/pid"
-                ;; Allow time for migrations to run
-                #:pid-file-timeout 60
-                #:environment-variables
-                `(,(string-append
-                    "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
-                  "LC_ALL=en_US.utf8"
-                  "PATH=/run/current-system/profile/bin") ; for hooks
-                #:log-file "/var/log/guix-build-coordinator/coordinator.log"))
-      (stop #~(make-kill-destructor))))))
+      (start #~(lambda args
+                 (parameterize ((%current-logfile-date-format ""))
+                   (apply
+                    (make-forkexec-constructor
+                     (list #$(make-guix-build-coordinator-start-script
+                              database-uri-string
+                              allocation-strategy
+                              "/var/run/guix-build-coordinator/pid"
+                              package
+                              #:agent-communication-uri-string
+                              agent-communication-uri-string
+                              #:client-communication-uri-string
+                              client-communication-uri-string
+                              #:hooks hooks
+                              #:parallel-hooks parallel-hooks
+                              #:guile guile))
+                     #:user #$user
+                     #:group #$group
+                     #:pid-file "/var/run/guix-build-coordinator/pid"
+                     ;; Allow time for migrations to run
+                     #:pid-file-timeout 60
+                     #:environment-variables
+                     `(,(string-append
+                         "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
+                       "LC_ALL=en_US.utf8"
+                       "PATH=/run/current-system/profile/bin") ; for hooks
+                     #:log-file "/var/log/guix-build-coordinator/coordinator.log")
+                    args))))
+      (stop #~(make-kill-destructor))
+      (modules
+       `((shepherd comm)
+         ,@%default-modules))))))
 
 (define (guix-build-coordinator-activation config)
   #~(begin
@@ -419,61 +426,69 @@ (define (guix-build-coordinator-agent-shepherd-services config)
       (documentation "Guix Build Coordinator Agent")
       (provision '(guix-build-coordinator-agent))
       (requirement '(networking))
-      (start #~(make-forkexec-constructor
-                (list #$(file-append package "/bin/guix-build-coordinator-agent")
-                      #$(string-append "--coordinator=" coordinator)
-                      #$@(match authentication
-                           (($ <guix-build-coordinator-agent-password-auth>
-                               uuid password)
-                            #~(#$(string-append "--uuid=" uuid)
-                               #$(string-append "--password=" password)))
-                           (($ <guix-build-coordinator-agent-password-file-auth>
-                               uuid password-file)
-                            #~(#$(string-append "--uuid=" uuid)
-                               #$(string-append "--password-file="
-                                                password-file)))
-                           (($ <guix-build-coordinator-agent-dynamic-auth>
-                               agent-name token)
-                            #~(#$(string-append "--name=" agent-name)
-                               #$(string-append "--dynamic-auth-token=" token)))
-                           (($
-                             <guix-build-coordinator-agent-dynamic-auth-with-file>
-                             agent-name token-file)
-                            #~(#$(string-append "--name=" agent-name)
-                               #$(string-append "--dynamic-auth-token-file="
-                                                token-file))))
-                      #$(simple-format #f "--max-parallel-builds=~A"
-                                       max-parallel-builds)
-                      #$@(if max-allocated-builds
-                             #~(#$(simple-format #f "--max-allocated-builds=~A"
-                                                 max-allocated-builds))
-                             #~())
-                      #$@(if max-1min-load-average
-                             #~(#$(simple-format #f "--max-1min-load-average=~A"
-                                                 max-1min-load-average))
-                             #~())
-                      #$@(if derivation-substitute-urls
-                             #~(#$(string-append
-                                   "--derivation-substitute-urls="
+      (start
+       #~(lambda args
+           (parameterize ((%current-logfile-date-format ""))
+             (apply
+              make-forkexec-constructor
+              (list #$(file-append package "/bin/guix-build-coordinator-agent")
+                    #$(string-append "--coordinator=" coordinator)
+                    #$@(match authentication
+                         (($ <guix-build-coordinator-agent-password-auth>
+                             uuid password)
+                          #~(#$(string-append "--uuid=" uuid)
+                             #$(string-append "--password=" password)))
+                         (($ <guix-build-coordinator-agent-password-file-auth>
+                             uuid password-file)
+                          #~(#$(string-append "--uuid=" uuid)
+                             #$(string-append "--password-file="
+                                              password-file)))
+                         (($ <guix-build-coordinator-agent-dynamic-auth>
+                             agent-name token)
+                          #~(#$(string-append "--name=" agent-name)
+                             #$(string-append "--dynamic-auth-token=" token)))
+                         (($
+                           <guix-build-coordinator-agent-dynamic-auth-with-file>
+                           agent-name token-file)
+                          #~(#$(string-append "--name=" agent-name)
+                             #$(string-append "--dynamic-auth-token-file="
+                                              token-file))))
+                    #$(simple-format #f "--max-parallel-builds=~A"
+                                     max-parallel-builds)
+                    #$@(if max-allocated-builds
+                           #~(#$(simple-format #f "--max-allocated-builds=~A"
+                                               max-allocated-builds))
+                           #~())
+                    #$@(if max-1min-load-average
+                           #~(#$(simple-format #f "--max-1min-load-average=~A"
+                                               max-1min-load-average))
+                           #~())
+                    #$@(if derivation-substitute-urls
+                           #~(#$(string-append
+                                 "--derivation-substitute-urls="
                                  (string-join derivation-substitute-urls " ")))
-                             #~())
-                      #$@(if non-derivation-substitute-urls
-                             #~(#$(string-append
-                                   "--non-derivation-substitute-urls="
-                                   (string-join non-derivation-substitute-urls " ")))
-                             #~())
-                      #$@(map (lambda (system)
-                                (string-append "--system=" system))
-                              (or systems '())))
-                #:user #$user
-                #:environment-variables
-                `(,(string-append
-                    "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
-                  ;; XDG_CACHE_HOME is used by Guix when caching narinfo files
-                  "XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent"
-                  "LC_ALL=en_US.utf8")
-                #:log-file "/var/log/guix-build-coordinator/agent.log"))
-      (stop #~(make-kill-destructor))))))
+                           #~())
+                    #$@(if non-derivation-substitute-urls
+                           #~(#$(string-append
+                                 "--non-derivation-substitute-urls="
+                                 (string-join non-derivation-substitute-urls " ")))
+                           #~())
+                    #$@(map (lambda (system)
+                              (string-append "--system=" system))
+                            (or systems '())))
+              #:user #$user
+              #:environment-variables
+              `(,(string-append
+                  "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
+                ;; XDG_CACHE_HOME is used by Guix when caching narinfo files
+                "XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent"
+                "LC_ALL=en_US.utf8")
+              #:log-file "/var/log/guix-build-coordinator/agent.log")
+             args)))
+      (stop #~(make-kill-destructor))
+      (modules
+       `((shepherd comm)
+         ,@%default-modules))))))
 
 (define (guix-build-coordinator-agent-activation config)
   #~(begin
@@ -526,39 +541,46 @@ (define (guix-build-coordinator-queue-builds-shepherd-services config)
       (provision '(guix-build-coordinator-queue-builds))
       (requirement '(networking))
       (start
-       #~(make-forkexec-constructor
-          (list
-           #$(file-append
-              package
-              "/bin/guix-build-coordinator-queue-builds-from-guix-data-service")
-           #$(string-append "--coordinator=" coordinator)
-           #$@(map (lambda (system)
-                     (string-append "--system=" system))
-                   (or systems '()))
-           #$@(map (match-lambda
-                     ((system . target)
-                      (string-append "--system-and-target=" system "=" target)))
-                   (or systems-and-targets '()))
-           #$@(if guix-data-service
-                  #~(#$(string-append "--guix-data-service=" guix-data-service))
-                  #~())
-           #$@(if guix-data-service-build-server-id
-                  #~(#$(simple-format
-                        #f
-                        "--guix-data-service-build-server-id=~A"
-                        guix-data-service-build-server-id))
-                  #~())
-           #$@(if processed-commits-file
-                  #~(#$(string-append "--processed-commits-file="
-                                      processed-commits-file))
-                  #~()))
-          #:user #$user
-          #:environment-variables
-          `(,(string-append
-              "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
-            "LC_ALL=en_US.utf8")
-          #:log-file "/var/log/guix-build-coordinator/queue-builds.log"))
-      (stop #~(make-kill-destructor))))))
+       #~(lambda args
+           (parameterize ((%current-logfile-date-format ""))
+             (apply
+              (make-forkexec-constructor
+               (list
+                #$(file-append
+                   package
+                   "/bin/guix-build-coordinator-queue-builds-from-guix-data-service")
+                #$(string-append "--coordinator=" coordinator)
+                #$@(map (lambda (system)
+                          (string-append "--system=" system))
+                        (or systems '()))
+                #$@(map (match-lambda
+                          ((system . target)
+                           (string-append "--system-and-target=" system "=" target)))
+                        (or systems-and-targets '()))
+                #$@(if guix-data-service
+                       #~(#$(string-append "--guix-data-service=" guix-data-service))
+                       #~())
+                #$@(if guix-data-service-build-server-id
+                       #~(#$(simple-format
+                             #f
+                             "--guix-data-service-build-server-id=~A"
+                             guix-data-service-build-server-id))
+                       #~())
+                #$@(if processed-commits-file
+                       #~(#$(string-append "--processed-commits-file="
+                                           processed-commits-file))
+                       #~()))
+               #:user #$user
+               #:environment-variables
+               `(,(string-append
+                   "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
+                 "LC_ALL=en_US.utf8")
+               #:log-file "/var/log/guix-build-coordinator/queue-builds.log")
+              args))))
+      (stop #~(make-kill-destructor))
+      (modules
+       `((shepherd comm)
+         ,@%default-modules))))))
 
 (define (guix-build-coordinator-queue-builds-activation config)
   #~(begin
-- 
2.38.1





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

* [bug#59171] [PATCH] services: guix-build-coordinator: Remove duplicate log timestamp.
  2022-11-10 14:08 [bug#59171] [PATCH] services: guix-build-coordinator: Remove duplicate log timestamp Christopher Baines
@ 2022-11-14 17:26 ` Ludovic Courtès
  2022-11-20 12:06   ` bug#59171: " Christopher Baines
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2022-11-14 17:26 UTC (permalink / raw)
  To: Christopher Baines; +Cc: 59171

Hi,

Christopher Baines <mail@cbaines.net> skribis:

> * gnu/services/guix.scm (guix-build-coordinator-shepherd-services,
> guix-build-coordinator-agent-shepherd-services,
> guix-build-coordinator-queue-builds-shepherd-services): Set
> %current-logfile-date-format to "".

[...]

> +      (start #~(lambda args
> +                 (parameterize ((%current-logfile-date-format ""))
> +                   (apply
> +                    (make-forkexec-constructor
> +                     (list #$(make-guix-build-coordinator-start-script
> +                              database-uri-string
> +                              allocation-strategy
> +                              "/var/run/guix-build-coordinator/pid"
> +                              package
> +                              #:agent-communication-uri-string
> +                              agent-communication-uri-string
> +                              #:client-communication-uri-string
> +                              client-communication-uri-string
> +                              #:hooks hooks
> +                              #:parallel-hooks parallel-hooks
> +                              #:guile guile))
> +                     #:user #$user
> +                     #:group #$group
> +                     #:pid-file "/var/run/guix-build-coordinator/pid"
> +                     ;; Allow time for migrations to run
> +                     #:pid-file-timeout 60
> +                     #:environment-variables
> +                     `(,(string-append
> +                         "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
> +                       "LC_ALL=en_US.utf8"
> +                       "PATH=/run/current-system/profile/bin") ; for hooks
> +                     #:log-file "/var/log/guix-build-coordinator/coordinator.log")
> +                    args))))

It’s not pretty but I don’t have anything else to offer.

Perhaps you can make it slightly less verbose by writing it like this:

  (start #~(lambda ()
             ;; Arrange so that shepherd does not add a timestamp to
             ;; the logs produced by the Coordinator.
             (parameterize …
               (fork+exec-command (list …) …))))

There are other services in a similar situation.  I wonder what we
should recommend.

Ludo’.




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

* bug#59171: [PATCH] services: guix-build-coordinator: Remove duplicate log timestamp.
  2022-11-14 17:26 ` Ludovic Courtès
@ 2022-11-20 12:06   ` Christopher Baines
  0 siblings, 0 replies; 3+ messages in thread
From: Christopher Baines @ 2022-11-20 12:06 UTC (permalink / raw)
  To: 59171-done; +Cc: Ludovic Courtès

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


Ludovic Courtès <ludo@gnu.org> writes:

> Perhaps you can make it slightly less verbose by writing it like this:
>
>   (start #~(lambda ()
>              ;; Arrange so that shepherd does not add a timestamp to
>              ;; the logs produced by the Coordinator.
>              (parameterize …
>                (fork+exec-command (list …) …))))
>
> There are other services in a similar situation.  I wonder what we
> should recommend.

Thanks, I've gone ahead and pushed this with the tweak suggested above
as dafab37110677e2968deed817ba4872fe5a8f07c.

Chris

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

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

end of thread, other threads:[~2022-11-20 12:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-10 14:08 [bug#59171] [PATCH] services: guix-build-coordinator: Remove duplicate log timestamp Christopher Baines
2022-11-14 17:26 ` Ludovic Courtès
2022-11-20 12:06   ` bug#59171: " Christopher Baines

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