guix-commits
[Top][All Lists]
Advanced

[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")))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]