[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
03/03: hydra: Add deploy-node-129 deployment config.
From: |
Maxim Cournoyer |
Subject: |
03/03: hydra: Add deploy-node-129 deployment config. |
Date: |
Thu, 16 Jun 2022 13:55:13 -0400 (EDT) |
apteryx pushed a commit to branch master
in repository maintenance.
commit 80a65361f4f40646832d531441e96b8fb16d5e7b
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Thu Jun 16 10:30:37 2022 -0400
hydra: Add deploy-node-129 deployment config.
* hydra/deploy-node-129.scm: New file.
* hydra/berlin-nodes.scm (nodes): De-register node 129 from here.
---
hydra/berlin-nodes.scm | 6 +--
hydra/deploy-node-129.scm | 126 ++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 128 insertions(+), 4 deletions(-)
diff --git a/hydra/berlin-nodes.scm b/hydra/berlin-nodes.scm
index 5f476e6..47f413e 100644
--- a/hydra/berlin-nodes.scm
+++ b/hydra/berlin-nodes.scm
@@ -121,10 +121,8 @@
"141.80.167.185"
"ssh-ed25519
AAAAC3NzaC1lZDI1NTE5AAAAIAIomlYpFmdaTiWGf4DWs6sc831zbNlU5XBjicHmZINA"
192)
- (129
- "141.80.167.186"
- "ssh-ed25519
AAAAC3NzaC1lZDI1NTE5AAAAICBZkQ4ZQgMGs/3druNQLsyFWHVhjtmN/sj1fxrPeUqJ"
- 192)
+ ;; Node 129 is not listed here, as it's used as Berlin's twin and
+ ;; has its own configuration file, deploy-node-129.scm.
(130
"141.80.167.187"
"ssh-ed25519
AAAAC3NzaC1lZDI1NTE5AAAAICZilog+9Jdim9k07baYK6QZfkZRZbQQriExjtOEfjQ5"
diff --git a/hydra/deploy-node-129.scm b/hydra/deploy-node-129.scm
new file mode 100644
index 0000000..35121e2
--- /dev/null
+++ b/hydra/deploy-node-129.scm
@@ -0,0 +1,126 @@
+;;; Commentary;
+;;;
+;;; This machine uses a server identical to Berlin (a Dell PowerEdge
+;;; R430 server) and serves a dual purpose:
+;;;
+;;; 1. act as a regular Berlin build machine
+;;;
+;;; 2. be available as a fall-back to Berlin in case of problems
+;;;
+;;; TODO: Implement the fall-back to Berlin
+;;;
+;;; FIXME: Re-deploying must happen from Berlin, due to bug #46760.
+;;;
+;;; To update its operating system, make sure you are a sysadmin
+;;; defined in the 'berlin-new-build-machine-os' procedure in
+;;; (sysadmin build-machines). You can request another current
+;;; sysadmin to commit the change and re-deploy it. Then you should
+;;; be able to do the following, from your personal 'maintenance'
+;;; checkout on Berlin:
+;;;
+;;; $ guix deploy -L modules deploy-node-129.scm
+;;;
+
+(use-modules (gnu bootloader)
+ (gnu bootloader grub)
+ (gnu packages linux)
+ (gnu system file-systems)
+ (guix gexp)
+ (sysadmin build-machines))
+
+(define %ip-address "141.80.167.186")
+
+;;; XXX: Copied from berlin-nodes.scm.
+(define %authorized-guix-keys
+ ;; List of authorized 'guix archive' keys.
+ (list (local-file "keys/guix/berlin.guixsd.org-export.pub")))
+
+(define %btrfs-raid-uuid "64a837b7-b9dc-4b64-ba95-712ba4032c71")
+
+(define %common-btrfs-options '(("compress-force" . "zstd")
+ ("space_cache" . "v2")
+ "degraded"))
+
+;;; Top-level Btrfs subvolume.
+(define %btrfs-pool
+ (file-system
+ (device (uuid %btrfs-raid-uuid))
+ (mount-point "/mnt/btrfs-pool")
+ (create-mount-point? #t)
+ (type "btrfs")
+ (options (alist->file-system-options
+ (cons '("subvolid" . "5")
+ %common-btrfs-options)))))
+
+(define (btrfs-subvolume-mount name mount-point)
+ "Return a file system to mount the Btrfs subvolume NAME at MOUNT-POINT."
+ (file-system
+ (device (uuid %btrfs-raid-uuid))
+ (mount-point mount-point)
+ (create-mount-point? #t)
+ (type "btrfs")
+ (options (alist->file-system-options
+ (cons (cons "subvol" name)
+ %common-btrfs-options)))))
+
+
+(define node-129-os
+ (let ((base-os (berlin-new-build-machine-os
+ 129
+ #:authorized-guix-keys %authorized-guix-keys
+ #:emulated-architectures '("ppc64le")
+ #:childhurd? (childhurd-ip? %ip-address)
+ #:systems '("x86_64-linux" "i686-linux")
+ #:max-jobs 4
+ #:max-cores 24)))
+ (operating-system
+ (inherit base-os)
+ (bootloader
+ (bootloader-configuration
+ (inherit (operating-system-bootloader base-os)) ;efi bootloader
+ (targets (list "/boot/efi" "/boot/efi2" "/boot/efi3"
+ "/boot/efi4" "/boot/efi5" ))))
+ (file-systems (cons*
+ (file-system
+ (mount-point "/boot/efi")
+ (device (uuid "B19B-79B3" 'fat)) ;/dev/sda2
+ (type "vfat"))
+ (file-system
+ (mount-point "/boot/efi2")
+ (device (uuid "B1E1-D315" 'fat)) ;/dev/sdb2
+ (type "vfat"))
+ (file-system
+ (mount-point "/boot/efi3")
+ (device (uuid "B1FA-76F0" 'fat)) ;/dev/sdc2
+ (type "vfat"))
+ (file-system
+ (mount-point "/boot/efi4")
+ (device (uuid "FC8E-0264" 'fat)) ;/dev/sdd2
+ (type "vfat"))
+ (file-system
+ (mount-point "/boot/efi5")
+ (device (uuid "FCDB-FA3A" 'fat)) ;/dev/sde2
+ (type "vfat"))
+ (btrfs-subvolume-mount "@root" "/")
+ (btrfs-subvolume-mount "@etc" "/etc")
+ (btrfs-subvolume-mount "@home" "/home")
+ (btrfs-subvolume-mount "@cache" "/var/cache")
+ (btrfs-subvolume-mount "@log" "/var/log")
+ (btrfs-subvolume-mount "@secrets" "/secrets")
+ (btrfs-subvolume-mount "@srv" "/srv")
+ %btrfs-pool
+ %base-file-systems))
+ (swap-devices '()) ;cannot do swap on Btrfs RAID
+ (packages (cons btrfs-progs (operating-system-packages base-os))))))
+
+(list
+ (machine
+ (operating-system node-129-os)
+ (environment managed-host-environment-type)
+ (configuration
+ (machine-ssh-configuration
+ (host-name %ip-address)
+ (user (getenv "USER"))
+ (build-locally? #t)
+ (host-key "ssh-ed25519
AAAAC3NzaC1lZDI1NTE5AAAAIEKtRABWvMsfq4Om16CLMpP9qbaJj83blA+K82SnZd6R")
+ (system "x86_64-linux")))))