2
0
Fork 0
mirror of git://git.savannah.gnu.org/guix/maintenance.git synced 2023-12-14 03:33:04 +01:00
maintenance/hydra/machines-for-berlin.scm

361 lines
12 KiB
Scheme
Raw Normal View History

;; Install this file as /etc/guix/machines.scm on berlin.guix.gnu.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.guix.gnu.org.
(define hosts
'(;; hydra-guix-04
("141.80.167.135"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIJBS5YOhjngLWE4LEQmsVQ0Oxidy3QfQlyxp+aK0cnf"
16)
2018-12-17 19:15:13 +01:00
;; hydra-guix-06
("141.80.167.137"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGEvwgtlWCvtZb38cDgICAdIF8KojWCrMBKT2i3fKB+l"
16)
2018-12-17 19:15:13 +01:00
;; hydra-guix-08
("141.80.167.139"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAcwpKSO33tqW5tnGyk8t0ZBiXqXQnbLqe++XYzpi+vC"
16)
2018-12-17 19:15:13 +01:00
;; hydra-guix-09
("141.80.167.140"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDiPbdAAWc7YRiDORu4uSjjUXWmGbGwwhVMuclyfeRku"
64)
2018-12-17 19:15:13 +01:00
;; hydra-guix-10
("141.80.167.141"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIyuS1MndiMbm3prey/2ccBidoz23nM6DAsurl9Yb7g6"
16)
2018-12-17 19:15:13 +01:00
;; hydra-guix-11
("141.80.167.142"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEV/kwYw7DSs0SW+2ckl0nGjdOejcYNqx4nylz73DINp"
64)
2018-12-17 19:15:13 +01:00
;; hydra-guix-12
("141.80.167.143"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFpNX9c3Gg2W0OHPC5HVPNQmYneve9dzJ2sNOLFVaE8A"
64)
2018-12-17 19:15:13 +01:00
;; hydra-guix-13
("141.80.167.144"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICKjJaVpqc8gQ9mQaxR/q1mp8ph1Dhc3ppc9c0ndCxll"
64)
2018-12-17 19:15:13 +01:00
;; hydra-guix-15
("141.80.167.146"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJZNXe33AmYuLYRj3l36ISOBARRwWPGmK8Z23Pthy5A+"
64)
2018-12-17 19:15:13 +01:00
;; hydra-guix-16
("141.80.167.147"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFJCI6Q6Jj0Jgzg3EynK2udulD4ut7jOZd8io+PuNJed"
64)
2018-12-17 19:15:13 +01:00
;; hydra-guix-18
("141.80.167.149"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICdg/NuiqdpbMW1y00AhyqhBr4J6SeVvDKXQ01m97kZj"
16)
2018-12-17 19:15:13 +01:00
;; hydra-guix-19
("141.80.167.150"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBIWiJFShafxIcJV12OzzCUczrSD65ftTfFiLRkK188D"
64)
2018-12-17 19:15:13 +01:00
;; hydra-guix-20
("141.80.167.151"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJBTH6H0vtjuNd6Zil9w9iPUbuCUDDd3ZPUQGy75oqE5"
16)
2018-12-17 19:15:13 +01:00
;; 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)
2018-12-17 19:15:13 +01:00
;; hydra-guix-23
("141.80.167.154"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqq+CxIa2bVf7a9hGfyt3kQcEaZhumBa5nPnBq5vnnR"
64)
2018-12-17 19:15:13 +01:00
;; hydra-guix-24
("141.80.167.155"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMV8v+fL04JUNJK5JLiXFwyFDiXyRkcBqJYCUgTAP0it"
64)
2018-12-17 19:15:13 +01:00
;; 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))
;; Note: Temporary SSH tunnel.
;; Disabled 2019-12-08 as it moves elsewhere -- Ludo'
#;
(build-machine
;;(name "monokuma.lepiller.eu")
;;(port 2222)
(name "localhost")
(port 2230)
(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)))