1. 23 Nov, 2022 1 commit
  2. 21 Nov, 2022 1 commit
  3. 20 Nov, 2022 5 commits
    • Mathieu Othacehe's avatar
      remote-worker: Increase the request period to 30 seconds · 1341725f
      Mathieu Othacehe authored
      * src/cuirass/scripts/remote-worker.scm (%request-period): Increase it to
      reduce the server pressure.
      1341725f
    • Mathieu Othacehe's avatar
      remote-worker: Prevent a dead-hang on server disconnection. · fc164138
      Mathieu Othacehe authored
      This is a follow-up of 1fb4b0ac that tried to
      work around the remote-worker hangs by introducing a non-blocking read.
      
      This solution was problematic because when the server is unresponsive, the
      request-work requests are queued on the worker. When the server is back
      online, the requests were all sent to server.
      
      Use instead the ZMQ_PROBE_ROUTER option that causes the server to send an
      empty boostrap message to the worker when a connection is established. This
      empty message will unlock the workers that were hanging on the request-work
      response.
      
      * src/cuirass/scripts/remote-server.scm (zmq-start-proxy): Set the
      ZMQ_PROBE_ROUTER option on the build socket.
      * src/cuirass/scripts/remote-worker.scm (start-worker): Ignore the bootstrap
      message when reading server info however, when receiving a bootstrap message
      while waiting for a request-work response, keep going.
      fc164138
    • Mathieu Othacehe's avatar
      Revert "remote-worker: Do not block on request-work response." · 553f107d
      Mathieu Othacehe authored
      This reverts commit 1fb4b0ac.
      553f107d
    • Mathieu Othacehe's avatar
      remote-worker: Use GiB thresholds. · 06745e45
      Mathieu Othacehe authored
      * src/cuirass/scripts/remote-worker.scm (show-help, %options): Adapt them.
      (%minimum-disk-space): Define if before %default-options in order to use it to
      set the default value. Use a 5GiB threshold because image builds that are
      frequently failing due to the lack of space require a lot more than 100MiB.
      06745e45
    • Mathieu Othacehe's avatar
      remote-worker: Fix a typo. · 54630d87
      Mathieu Othacehe authored
      This is a follow-up of: 228b4a4f.
      
      * src/cuirass/scripts/remote-worker.scm (low-disk-space?): Fix a typo.
      54630d87
  4. 18 Nov, 2022 3 commits
    • Ludovic Courtès's avatar
      evaluate: Create just as many threads as needed. · f030486c
      Ludovic Courtès authored
      When using 'par-for-each', we'd spawn the whole thread pool of (ice-9
      futures), with one thread per core.  Using 'n-par-for-each' allows us to
      spawn just as many threads as needed.
      
      * src/cuirass/scripts/evaluate.scm (cuirass-evaluate): Use
      'n-par-for-each' instead of 'par-for-each'.
      f030486c
    • Ludovic Courtès's avatar
      evaluate: Remove unnecessary module imports. · 3813dd96
      Ludovic Courtès authored
      * src/cuirass/scripts/evaluate.scm: Remove unnecessary module imports.
      Use #:autoload and #:select.
      3813dd96
    • Ludovic Courtès's avatar
      remote-worker: Do not request work when disk space is low. · 228b4a4f
      Ludovic Courtès authored
      This helps ensure workers don't pick up builds that are likely to fail
      due to ENOSPC.
      
      * src/cuirass/scripts/remote-worker.scm (show-help, %options): Add
      '--minimum-disk-space' option.
      (%default-options): Add 'minimum-disk-space'.
      (%minimum-disk-space): New variable.
      (low-disk-space?): New procedure.
      (start-worker): Call 'request-work' only when 'low-disk-space?' returns #f.
      (cuirass-remote-worker): Parameterize %MINIMUM-DISK-SPACE.
      228b4a4f
  5. 12 Nov, 2022 1 commit
    • Mathieu Othacehe's avatar
      remote-worker: Do not block on request-work response. · 1fb4b0ac
      Mathieu Othacehe authored
      When the worker sends a request-work message to the server, it then waits
      undefinitely for a response. If the server receives the response but dies
      before answering, the client can be blocked forever.
      
      * src/cuirass/remote.scm (EAGAIN-safe): New macro.
      (zmq-get-msg-parts-bytevector/no-wait): New procedure.
      * src/cuirass/scripts/remote-worker.scm (start-worker): Use the above
      procedure not to wait the server response undefinitely.
      1fb4b0ac
  6. 23 Oct, 2022 2 commits
  7. 25 Sep, 2022 1 commit
  8. 16 May, 2022 1 commit
  9. 26 Apr, 2022 2 commits
  10. 20 Jan, 2022 1 commit
  11. 19 Jan, 2022 3 commits
  12. 09 Jan, 2022 4 commits
  13. 28 Dec, 2021 1 commit
  14. 17 Dec, 2021 7 commits
  15. 14 Dec, 2021 2 commits
  16. 07 Dec, 2021 1 commit
  17. 06 Dec, 2021 4 commits
    • Mathieu Othacehe's avatar
      Introduce log levels. · 4c2b4521
      Mathieu Othacehe authored
      * src/cuirass/logging.scm (log-info, log-debug, log-warning, log-error): New procedures.
      * src/cuirass/base.scm: Introduce log levels.
      * src/cuirass/database.scm: Ditto.
      * src/cuirass/http.scm: Ditto.
      * src/cuirass/metrics.scm: Ditto.
      * src/cuirass/notification.scm: Ditto.
      * src/cuirass/remote.scm: Ditto.
      * src/cuirass/scripts/register.scm: Ditto.
      * src/cuirass/scripts/remote-server.scm: Ditto.
      * src/cuirass/scripts/remote-worker.scm: Ditto.
      * src/cuirass/scripts/web.scm: Ditto.
      * src/cuirass/utils.scm: Ditto.
      * src/cuirass/watchdog.scm: Ditto.
      4c2b4521
    • Mathieu Othacehe's avatar
      remote-server: Fix add-to-store procedure. · d05ef0bb
      Mathieu Othacehe authored
      * src/cuirass/scripts/remote-server.scm (add-to-store): Add a drv argument.
      d05ef0bb
    • Mathieu Othacehe's avatar
      remote-server: Move trigger-substitutes-baking procedure. · 41c10b66
      Mathieu Othacehe authored
      * src/cuirass/scripts/remote-server.scm: Move trigger-substitutes-baking upper.
      41c10b66
    • Mathieu Othacehe's avatar
      remote-server: Fix typo. · e8a233eb
      Mathieu Othacehe authored
      * src/cuirass/scripts/remote-server.scm: Fix typo.
      e8a233eb