mirror of
git://git.savannah.gnu.org/guix/maintenance.git
synced 2023-12-14 03:33:04 +01:00
43f271c463
* hydra/machines-for-berlin.scm <top-level>: Enable qemu for aarch64 and armhf only on nodes with 128G RAM.
357 lines
11 KiB
Scheme
357 lines
11 KiB
Scheme
;; Install this file as /etc/guix/machines.scm on berlin.guixsd.org
|
|
(use-modules (ice-9 match) (srfi srfi-1))
|
|
|
|
;; These are all hosted at the MDC in rack A4. They are connected to
|
|
;; a dedicated VLAN and can only be accessed from berlin.guixsd.org.
|
|
(define hosts
|
|
'(;; hydra-guix-04
|
|
("141.80.167.135"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIJBS5YOhjngLWE4LEQmsVQ0Oxidy3QfQlyxp+aK0cnf"
|
|
16)
|
|
;; hydra-guix-06
|
|
("141.80.167.137"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGEvwgtlWCvtZb38cDgICAdIF8KojWCrMBKT2i3fKB+l"
|
|
16)
|
|
;; hydra-guix-08
|
|
("141.80.167.139"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAcwpKSO33tqW5tnGyk8t0ZBiXqXQnbLqe++XYzpi+vC"
|
|
16)
|
|
;; hydra-guix-09
|
|
("141.80.167.140"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDiPbdAAWc7YRiDORu4uSjjUXWmGbGwwhVMuclyfeRku"
|
|
64)
|
|
;; hydra-guix-10
|
|
("141.80.167.141"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIyuS1MndiMbm3prey/2ccBidoz23nM6DAsurl9Yb7g6"
|
|
16)
|
|
;; hydra-guix-11
|
|
("141.80.167.142"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEV/kwYw7DSs0SW+2ckl0nGjdOejcYNqx4nylz73DINp"
|
|
64)
|
|
;; hydra-guix-12
|
|
("141.80.167.143"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFpNX9c3Gg2W0OHPC5HVPNQmYneve9dzJ2sNOLFVaE8A"
|
|
64)
|
|
;; hydra-guix-13
|
|
("141.80.167.144"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICKjJaVpqc8gQ9mQaxR/q1mp8ph1Dhc3ppc9c0ndCxll"
|
|
64)
|
|
;; hydra-guix-15
|
|
("141.80.167.146"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJZNXe33AmYuLYRj3l36ISOBARRwWPGmK8Z23Pthy5A+"
|
|
64)
|
|
;; hydra-guix-16
|
|
("141.80.167.147"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFJCI6Q6Jj0Jgzg3EynK2udulD4ut7jOZd8io+PuNJed"
|
|
64)
|
|
;; hydra-guix-18
|
|
("141.80.167.149"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICdg/NuiqdpbMW1y00AhyqhBr4J6SeVvDKXQ01m97kZj"
|
|
16)
|
|
;; hydra-guix-19
|
|
("141.80.167.150"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBIWiJFShafxIcJV12OzzCUczrSD65ftTfFiLRkK188D"
|
|
64)
|
|
;; hydra-guix-20
|
|
("141.80.167.151"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJBTH6H0vtjuNd6Zil9w9iPUbuCUDDd3ZPUQGy75oqE5"
|
|
16)
|
|
;; hydra-guix-21
|
|
("141.80.167.152"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMR7jHaV2iKH+nbzbmzXawvOCZEYbkQmU840GIDBrIQp"
|
|
64)
|
|
;; hydra-guix-22 (slow disk)
|
|
("141.80.167.153"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNM1227zb06b+f7CaoswoqKVmsqhQbVqSxAmbV76kr6"
|
|
64)
|
|
;; hydra-guix-23
|
|
("141.80.167.154"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqq+CxIa2bVf7a9hGfyt3kQcEaZhumBa5nPnBq5vnnR"
|
|
64)
|
|
;; hydra-guix-24
|
|
("141.80.167.155"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMV8v+fL04JUNJK5JLiXFwyFDiXyRkcBqJYCUgTAP0it"
|
|
64)
|
|
;; hydra-guix-26
|
|
("141.80.167.157"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGquqUVY3cNMomwd4lfgXPRvxJZvvYa7ud67g01b/YTT"
|
|
64)
|
|
|
|
;;; New machines. We should use DNS for them in the future.
|
|
;; hydra-guix-104
|
|
("141.80.167.161"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINuVkwaeU+ddDpDQoxyFboiBnRNyhGDT8yOy8VAyJxZ6"
|
|
128)
|
|
;; hydra-guix-105
|
|
("141.80.167.162"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH9o9VrkR2OKoGeuyJkzSsLIaDVApkbHEQvgr8aywQf8"
|
|
128)
|
|
;; hydra-guix-106
|
|
("141.80.167.163"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBWN8i6YSGaRddTUgjodvQ4+g+6qYRe+0t9Mi8zOXawG"
|
|
128)
|
|
;; hydra-guix-107
|
|
("141.80.167.164"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII+nI0XnLKShi3tZEdPdEVQ1VLlZjgQNSKMTK55FwH/4"
|
|
128)
|
|
;; hydra-guix-108
|
|
("141.80.167.165"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHvMT+OlslyCzp7PvIvG/m9aCNhk3jnGS4kh8Cxh26CK"
|
|
128)
|
|
;; hydra-guix-109
|
|
("141.80.167.166"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHkmH+o9P2kmgtjyGU9/vLEmFbxwUlq62lWu3lLc1J5o"
|
|
128)
|
|
;; hydra-guix-110
|
|
("141.80.167.167"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM2A2GxCw3oF6W2a5P9/K/jw1BWNJdAy9cr7NLRWvHVl"
|
|
128)
|
|
;; hydra-guix-111
|
|
("141.80.167.168"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILJoZitLeltTfd7dDAnRbuP1uCWmTsYjIKALcadXknMl"
|
|
128)
|
|
;; hydra-guix-112
|
|
("141.80.167.169"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFS6PDp6MVutJiieJgDaLvub83oeTvWYLJnELxqCyO7x"
|
|
128)
|
|
;; hydra-guix-113
|
|
("141.80.167.170"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMn5ujp4uTRVwYGPr2kgh7YMXISj+WyRxe8cGxzb1KrL"
|
|
128)
|
|
;; hydra-guix-115
|
|
("141.80.167.172"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIG9zXGZ5b6QroN4RybnKLIMZwKtFuMpsNypkUXdFmH88"
|
|
128)
|
|
;; hydra-guix-116
|
|
("141.80.167.173"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFg0y4UyuTkYoa3hwqj2ByQXYBMQdbPKz7nEz7I1lquL"
|
|
128)
|
|
;; hydra-guix-117
|
|
("141.80.167.174"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINPPjhX6Z3bgt7EZmIfUdsgFnqp3yLr4msccjwsD2Q8F"
|
|
128)
|
|
;; hydra-guix-118
|
|
("141.80.167.175"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJfJfTctnzEzVBLZxIq4WIOWY0s9JHcvIztdIYSFlklH"
|
|
128)
|
|
;; hydra-guix-119
|
|
("141.80.167.176"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGE6FwL94/YDJIioQsLqh/MnwGcXmKYARd/kBGs+RWM7"
|
|
128)
|
|
;; hydra-guix-120
|
|
("141.80.167.177"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH3rXQZCQbVliJUgavSxNWvA4XUX7cXj7zd5VvUggCbv"
|
|
128)
|
|
;; hydra-guix-121
|
|
("141.80.167.178"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGNVaPCyKRrprBivEWYmtVecaJ+DIkET3gCYzGOuRAcz"
|
|
128)
|
|
;; hydra-guix-122
|
|
("141.80.167.179"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHladb6HkAEmITzNOmI1kH7A4R1MiKp0Y72aPJNwuIDB"
|
|
128)
|
|
;; hydra-guix-123
|
|
("141.80.167.180"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOM29Lj7rNDDsU5JOuDgFGfepWY9WHs6WaMLj9/7IceX"
|
|
128)
|
|
;; hydra-guix-124
|
|
("141.80.167.181"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIODiKP7qIkkDeqvzKG2JsrDlNRe3CTN+icGgQ1J5ZUP+"
|
|
128)
|
|
;; hydra-guix-125
|
|
("141.80.167.182"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPrlasUtgZgKfJ0oNhBQx/2QIQ+J+jbAT842VoJlBhor"
|
|
192)
|
|
;; hydra-guix-126
|
|
("141.80.167.183"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIUprP1E2cRkMrwBnl1FkeCQ5UhZRin6dKQrB9p4WrV6"
|
|
192)
|
|
;; hydra-guix-127
|
|
("141.80.167.184"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHdrEcEoo2AQ6aDXhLUWxLhp4kTq+DJLwXxvgu4As1bo"
|
|
192)
|
|
;; hydra-guix-128
|
|
("141.80.167.185"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAIomlYpFmdaTiWGf4DWs6sc831zbNlU5XBjicHmZINA"
|
|
192)
|
|
;; hydra-guix-129
|
|
("141.80.167.186"
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICBZkQ4ZQgMGs/3druNQLsyFWHVhjtmN/sj1fxrPeUqJ"
|
|
192)))
|
|
|
|
|
|
(define template-x86_64
|
|
(match-lambda
|
|
;; Prefer building on the new nodes.
|
|
((name key 128)
|
|
(build-machine
|
|
(name name)
|
|
(user "hydra")
|
|
(system "x86_64-linux")
|
|
(host-key key)
|
|
(compression "no")
|
|
(speed 3) ;don't increase it too much
|
|
;or everything goes there
|
|
(parallel-builds 16)))
|
|
|
|
;; Prefer building on the big node.
|
|
(("141.80.167.132" key _)
|
|
(build-machine
|
|
(name "141.80.167.132")
|
|
(user "hydra")
|
|
(system "x86_64-linux")
|
|
(host-key key)
|
|
(compression "no")
|
|
(speed 2.2) ;don't increase it too much
|
|
;or everything goes there
|
|
(parallel-builds 16)))
|
|
((ip key 16)
|
|
(build-machine
|
|
(name ip)
|
|
(user "hydra")
|
|
(system "x86_64-linux")
|
|
(host-key key)
|
|
(compression "no")
|
|
(speed 2)
|
|
(parallel-builds 2)))
|
|
((ip key ram)
|
|
(build-machine
|
|
(name ip)
|
|
(user "hydra")
|
|
(system "x86_64-linux")
|
|
(host-key key)
|
|
(compression "no")
|
|
(speed 2)
|
|
(parallel-builds 2)))))
|
|
|
|
(define (x86_64->i686 machine)
|
|
(build-machine (inherit machine)
|
|
(system "i686-linux")))
|
|
|
|
(define (aarch64->armhf machine)
|
|
(build-machine
|
|
(inherit machine)
|
|
(system "armhf-linux")
|
|
(speed .9)
|
|
(parallel-builds 1))) ;limit to favor the "real" ARMv7 machines
|
|
|
|
(define (x86_64->qemu-armhf machine)
|
|
(build-machine
|
|
(inherit machine)
|
|
(system "armhf-linux")
|
|
(speed .9)
|
|
(parallel-builds 1)))
|
|
|
|
(define (x86_64->qemu-aarch64 machine)
|
|
(build-machine
|
|
(inherit machine)
|
|
(system "aarch64-linux")
|
|
(speed .9)
|
|
(parallel-builds 1)))
|
|
|
|
(define overdrive
|
|
;; The SoftIron OverDrive 1000 donated by ARM:
|
|
;; <https://softiron.com/development-tools/overdrive-1000/>.
|
|
(list (build-machine
|
|
;; 91.160.117.201 or 2a01:e0a:1d:7270:af76:b9b:ca24:c465
|
|
(name "overdrive1.guixsd.org")
|
|
(port 52522)
|
|
(user "hydra")
|
|
(system "aarch64-linux")
|
|
(host-key
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPf2f93c90oi9s9qGVGWC3sDgG7kEBvIEwR021NsfG+z root@overdrive")
|
|
(parallel-builds 2))
|
|
|
|
(build-machine
|
|
;; 80.67.176.63
|
|
(name "dover.guix.info")
|
|
(port 9023)
|
|
(user "hydra")
|
|
(system "aarch64-linux")
|
|
(host-key
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJLRYD5RXZ3Espe+Kv1SzZl8Qc3NZ356Bq+cGjnKsDHY root@linux")
|
|
(parallel-builds 2))
|
|
|
|
(build-machine
|
|
;; 89.92.10.229
|
|
(name "rennes.lepiller.eu")
|
|
(port 2222)
|
|
(user "hydra")
|
|
(system "aarch64-linux")
|
|
(host-key
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIXfDYhBeVH0GenVp8PplaRF1jtNSOdLeNWf2k8G7K71 root@gnu")
|
|
(parallel-builds 2))
|
|
|
|
;; Note: Temporary SSH tunnel set up for {dmitri,sergei}.
|
|
(build-machine
|
|
;; Dynamic IP.
|
|
;; (name "dmitri.tobias.gr")
|
|
;; (port 5552)
|
|
(name "localhost") (port 2223)
|
|
(user "hydra")
|
|
(system "aarch64-linux")
|
|
(host-key
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICqbQjcGAlYRunem82lXhc0T0xWWQUh53UPXzZzBePVQ nckx@dmitri.tobias.gr")
|
|
(parallel-builds 2))
|
|
|
|
(build-machine
|
|
;; Dynamic IP.
|
|
;; (name "sergei.tobias.gr")
|
|
;; (port 5551)
|
|
(name "localhost") (port 2222)
|
|
(user "hydra")
|
|
(system "aarch64-linux")
|
|
(host-key
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMbnlRcOJwtlNVc3LcEgagqXNEWya666RiwBHImXtjUJ nckx@sergei.tobias.gr")
|
|
(parallel-builds 2))))
|
|
|
|
(define armv7
|
|
(list
|
|
;; BeagleBoard (2 cores) kindly hosted by Simon Josefsson.
|
|
(build-machine
|
|
(name "x15.sjd.se")
|
|
(user "hydra")
|
|
(system "armhf-linux")
|
|
(host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILvy4tWBLfuBGB2Q8S5q0CeKLaD9w4hAG5PU/+nTD6e2 root@BeagleBoard-X15"))
|
|
|
|
(build-machine
|
|
(name "hydra-slave1.netris.org")
|
|
(port 7275)
|
|
(user "hydra")
|
|
(system "armhf-linux")
|
|
(host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPDAe9mXufZXFfFlezafA/G2Nng66ssLLi5xPP+9NhGm root@hydra-slave1")
|
|
(speed 1.0)
|
|
(parallel-builds 2))
|
|
|
|
(build-machine
|
|
(name "hydra-slave2.netris.org")
|
|
(port 7276)
|
|
(user "hydra")
|
|
(system "armhf-linux")
|
|
(host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHzlJZzZfPiEcehmLFtQVYVt3j9w4DHPL6YgSC3EHJK+ root@hydra-slave2")
|
|
(speed 1.0)
|
|
(parallel-builds 2))
|
|
|
|
(build-machine
|
|
(name "hydra-slave3.netris.org")
|
|
(port 7274)
|
|
(user "hydra")
|
|
(system "armhf-linux")
|
|
(host-key "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBLOVhnS24E+Z1bXLUU4z4gE5+HsFxDxUPA6MbLHmnME root@hydra-slave3")
|
|
(speed 1.0)
|
|
(parallel-builds 2)))
|
|
|
|
(let* ((x86_64 (map template-x86_64 hosts))
|
|
(fast (filter-map (match-lambda
|
|
((name key 128)
|
|
(find (lambda (machine)
|
|
(string=? ((@@ (guix scripts offload) build-machine-name) machine) name))
|
|
x86_64))
|
|
(_ #f))
|
|
hosts)))
|
|
(append overdrive (map aarch64->armhf overdrive)
|
|
armv7
|
|
x86_64 (map x86_64->i686 x86_64)
|
|
(map x86_64->qemu-aarch64 fast)
|
|
(map x86_64->qemu-armhf fast)))
|