* hydra/milano-guix-1.scm (operating-system)[file-systems]: Mount /tmp
as a tmpfs, to hopefully speed up builds.
[swap-devices]: Add /dev/sdb2.
[services]: Disable SSH password authentication, and switch bayfront
to bordeaux in a couple of places.
* hydra/bayfront.scm (%bordeaux.guix.gnu.org-nginx-servers): New
variable.
(servers)[nginx-service-type]: Add
%bordeaux.guix.gnu.org-nginx-servers to the server blocks list.
Make the Guix Build Coordinator agent more gentle, reducing the max
parallel builds and decreasing the load average limit. Also reduce the
default max-jobs at the daemon level (for builds happening not through
the coordinator agent), and set the default cores to 24 to avoid one
build from loading all the cores.
* hydra/bayfront.scm (services)[guix-build-coordinator-agent-service-type]:
Tweak max-parallel-builds and max-1min-load-average.
[guix-service-type]: Tweak the extra-options.
This is to be used for substitutes, currently served from bayfront.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add entry for
bordeaux.guix.gnu.org.
Berlin doesn't build much stuff anymore, and removing transient cache failures
require manual intervention.
* hydra/modules/sysadmin/services.scm (guix-daemon-config): Do not cache failures.
Those machines are unreachable and should be made available through Wireguard
when back online.
* hydra/machines-for-berlin (overdrive): Remove unreachable machines.
Also mention the CPU they use and the amount of physical memory they
have. Likewise for the Softiron Overdrive 1000.
* hydra/machines-for-berlin.scm (overdrive): Mention CPU model and RAM.
(armv7): Likewise for the BeagleBoard.
This is required for offloading.
* hydra/keys/guix/maxim-desktop-export.pub: New key.
* hydra/modules/sysadmin/overdrive.scm (%authorized-guix-keys):
Authorize it.
This is so that I can use overdrive1 as an offload machine.
* hydra/modules/sysadmin/overdrive.scm (%accounts) [maxim]: New
sysadmin account.
(overdrive-system) [service] <openssh-service-type>: Authorize my
public SSH key.
So that the guix-build-coordinator agent builds don't get stuck.
* hydra/milano-guix-1.scm (operating-system)[services]: Specify values
for max-silent-time and timeout.
This commit adapts milano-guix-1 to build things for the Guix Build
Coordinator instance running on bayfront, and removes the reminants of
the configuration related to running data.guix.gnu.org (since it's
hosted elsewhere now).
* hydra/milano-guix-1.scm (gc-job): Garbage collect 500G since 50G is
not much free space for performing builds.
(%nginx-configuration): Remove variable.
(operating-system)[packages]: Remove comment.
[services]: Comment out qemu-binfmt-service-type as it's currently
unused, remove PostgreSQL, add the Prometheus node exporter, add the
Guix Build Coordinator agent and adjust the Guix service to allow for
substitutes from both bayfront and data.guix.gnu.org.
Bayfront is now running the Guix Build Coordinator, and building
things for x86_64-linux. This has been useful for finding and fixing
some bugs in this area at least.
* hydra/bayfront.scm (operating-system)[swap-devices]: Add /swap since
it exists.
[services]: Add guix-build-coordinator-queue-builds-service-type, and
tweak the guix-build-coordinator agent configuration.
The p9.tobias.gr machine is a POWER9 box lent by OSUOSL.
* hydra/keys/guix/p9.tobias.gr-export.pub,
hydra/keys/guix/berlin/p9.tobias.gr.pub: New files.
Simon mentioned the machines no longer have an associated A record;
rename name, for clarity.
* hydra/machines-for-berlin.scm (armv7)
<guix-x15.sjd.se, guix-x15b.sjd.se>: Rename to guix-x15 and guix-x15b.
* hydra/berlin.scm (services) [wireguard]: Likewise.
* doc/cuirass.org (External machines): Likewise.
* hydra/modules/sysadmin/services.scm (cuirass-specs): Restrict system tests
to the x86_64-linux architecture. The situation on other architectures is for
now too problematic to provide a valuable information.
Both the coordinator component, and an agent running locally on
bayfront.
This commit also makes other changes to enable this.
* hydra/bayfront.scm (%nginx-deploy-hook): Fix location of the NGinx
pid file.
(%certbot-configuration): Add coordinator.bayfront.guix.gnu.org.
(%bayfront.guix.gnu.org-nginx-servers): Adjust for serving narinfos
and nars from /var/lib/nars.
(%coordinator.bayfront.guix.gnu.org-nginx-servers,
%guix-build-coordinator-configuration): New variables.
(operating-system)[packages]: Add guix-build-coordinator.
[services]: Adjust NGinx and Guix, add the Guix Build Coordinator and
Guix Build Coordinator agent.
This is helpful to deploy the Guix Build Coordinator on bayfront, this
domain will be used by agents to communicate with the coordinator.
* hydra/modules/sysadmin/dns.scm (guix.gnu.org.zone): Add
"coordinator.bayfront". Bump 'serial'.
The previous attempt contained a line from a previous version of the
file that caused a conflict.
* hydra/nginx/berlin.scm (%extra-content): Autoredirect 'eo', 'ko' and 'ru'
to the translated website.
This reverts commit 3d63e8d690 because it causes
the following nginx error:
2021/04/07 17:05:08 [emerg] 94058#0: variable already defined: "lang" in /gnu/store/ajvqgc205hvrfab7plbwds2a9wiqj52f-nginx.conf:4666
This should have been %build-node-keys, but was changed when
refactoring the config recently.
* hydra/bayfront.scm (operating-system)[services]: Adjust guix
authorized-keys.
This involves a few things. The Cuirass service is removed through
moving most of the frontend-services functionality directly in to the
configuration, and the NGinx configuration is transformed in to
various records. I'm hoping this will make the bayfront configuration
easier to change and maintain.
* hydra/bayfront.scm (%nginx-config): Remove variable.
(%bayfront-nginx-service-extra-config, %hpc.guix.info-nginx-servers,
%guix-hpc.bordeaux.inria.fr-nginx-servers,
%logs.guix.gnu.org-nginx-servers,
%bayfront.guix.gnu.org-nginx-servers): New variables.
(operating-system)[packages]: Remove comment relating to Cuirass.
[services]: Remove Cuirass dependencies, and incorporate most of the
services returned by frontend-services.
* hydra/nginx/bayfront-locations.conf: Delete file.
* hydra/nginx/bayfront.conf: Delete file.
* hydra/nginx/guix-hpc-inria-locations.conf: Delete file.
* hydra/nginx/guix-hpc-locations.conf: Delete file.
* hydra/modules/sysadmin/services.scm (guix-input): Remove it.
(cuirass-notifications): New procedure.
(cuirass-specs): Adapt it to use Cuirass new specification format.
Now web browsers requesting any kind of Chinese get the website in
mainland Chinese.
zh, zh-Hans, zh-Hans-CN all are synonymous with zh-CN now.
Fixes <https://bugs.gnu.org/46807>.
* hydra/nginx/berlin.scm (accept-languages): New procedure.
(%extra-content): Normalize $lang variable with it.
The previously configured certificate was for an obsolete domain name
(berlin.guixsd.org) & cannot be renewed, causing an outage on 2021-02-27.
* hydra/nginx/berlin.scm (%berlin-servers): Use an existing Let's Encrypt
certificate for "ci.guix.gnu.org".
* hydra/berlin.scm: Use "postgresql-service-type" instead of
"postgresql-service" to prevent a warning message.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* hydra/modules/sysadmin/build-machines.scm (berlin-new-build-machine-os): Add
a systems argument. Start a Cuirass remote worker building substitutes for the
given systems.
* hydra/modules/sysadmin/services.scm (cuirass-without-fiber-tests): Remove
it.
(cuirass-service): Add a remote-server.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>