diff mbox series

[bug#60373] Kernel job for Cuirass

Message ID Y6zIJb4Pk2mbDQ/6@jasmine.lan
State New
Headers show
Series [bug#60373] Kernel job for Cuirass | expand

Commit Message

Leo Famulari Dec. 28, 2022, 10:50 p.m. UTC
On Wed, Dec 28, 2022 at 03:35:18PM +0100, Mathieu Othacehe wrote:
> What you could do instead is something like:
> 
> --8<---------------cut here---------------start------------->8---
> ((specification
>    (name "kernel-updates")
>    (build '(manifests "etc/kernels-manifest.scm"))
>    (period 7200)
>    (priority 2)
>    (systems '#$systems))
>  (specification
>    (name "kernel-updates-images")
>    (build 'images)
>    (period 7200)
>    (priority 2)
>    (systems '#$systems))
>  (specification
>    (name "kernel-updates-tests")
>    (build 'system-tests)
>    (period 7200)
>    (priority 2)
>    (systems '("x86_64-linux"))))
> --8<---------------cut here---------------end--------------->8---

That's perfect! I've attached an updated patch.

> Then we could think about supporting multiple build subsets.

Well, your suggested workaround is great, so it's not necessary to add
the functionality.

What's the procedure for making these changes? I can push to guix.git
and maintenance.git, but I'll need assistance putting the changes into
practice.
From 299039cf429210392b979a57e898c4a00ca4a6c3 Mon Sep 17 00:00:00 2001
From: Leo Famulari <leo@famulari.name>
Date: Tue, 27 Dec 2022 21:26:16 -0500
Subject: [PATCH v2] hydra: cuirass: Add jobsets for testing kernel updates.

* hydra/modules/sysadmin/services.scm (cuirass-specs): Add 'kernel-updates',
'kernel-updates-images', and 'kernel-updates-system-tests' jobsets.
---
 hydra/modules/sysadmin/services.scm | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

Comments

Mathieu Othacehe Dec. 29, 2022, 10:33 a.m. UTC | #1
Hey,

> What's the procedure for making these changes? I can push to guix.git
> and maintenance.git, but I'll need assistance putting the changes into
> practice.

You can go ahead and I'll take care of reconfiguring Berlin. If you
prefer to do it by yourself, the procedure is the following:

- Log in on Berlin
- Checkout the latest maintenance repository in your home
- Run guix pull
- Run sudo -E guix system reconfigure ~/maintenance/hydra/berlin.scm -L
~/maintenance/hydra/modules/
- Notify sysadmins about the reconfiguration

Thanks,

Mathieu
Leo Famulari Dec. 29, 2022, 6:54 p.m. UTC | #2
On Thu, Dec 29, 2022 at 11:33:37AM +0100, Mathieu Othacehe wrote:
> You can go ahead and I'll take care of reconfiguring Berlin. If you
> prefer to do it by yourself, the procedure is the following:

Thanks, I pushed to guix.git and maintenance.git. Can you do the rest?
I'm not free to spend much time on it today.
Leo Famulari Jan. 5, 2023, 3:48 a.m. UTC | #3
On Thu, Dec 29, 2022 at 11:33:37AM +0100, Mathieu Othacehe wrote:
> You can go ahead and I'll take care of reconfiguring Berlin. If you
> prefer to do it by yourself, the procedure is the following:
> 
> - Log in on Berlin
> - Checkout the latest maintenance repository in your home
> - Run guix pull
> - Run sudo -E guix system reconfigure ~/maintenance/hydra/berlin.scm -L
> ~/maintenance/hydra/modules/
> - Notify sysadmins about the reconfiguration

Okay, I've gone ahead and reconfigured berlin based on maintenance.git
commit 97cbea05bfc53e8d3fba1d2e1455dda8237eb3c0.

It's not clear to me if I need to restart any services now in order to
make my new Cuirass jobsets effective. A few services were restarted
automatically:

------
[...]
shepherd: Service host-name has been started.
shepherd: Service user-homes has been started.
shepherd: Service sysctl has been started.
shepherd: Service postgres-roles has been started.
[...]
------
Mathieu Othacehe Jan. 5, 2023, 5:37 p.m. UTC | #4
Hello Leo,

> Okay, I've gone ahead and reconfigured berlin based on maintenance.git
> commit 97cbea05bfc53e8d3fba1d2e1455dda8237eb3c0.

Thanks for taking care of it. I added
0fad0d2cc4e7e440e80bcbcc519184a7a9111347 to the maintenance repository
because "kernel-updates" was not part of the default branches and
reconfigured.

I then restarted the "cuirass" service which is required to install the
new specifications. They are now listed in the web interface. Lets see
if they can be evaluated now ;)

Mathieu
Leo Famulari Jan. 6, 2023, 1:19 a.m. UTC | #5
On Thu, Jan 05, 2023 at 06:37:40PM +0100, Mathieu Othacehe wrote:
> Thanks for taking care of it. I added
> 0fad0d2cc4e7e440e80bcbcc519184a7a9111347 to the maintenance repository
> because "kernel-updates" was not part of the default branches and
> reconfigured.

Thanks for your help!

> I then restarted the "cuirass" service which is required to install the
> new specifications. They are now listed in the web interface. Lets see
> if they can be evaluated now ;)

I just pushed to the kernel-updates branch. Now watching the Cuirass web
interface to see how it goes :)
Leo Famulari Jan. 6, 2023, 3 a.m. UTC | #6
On Thu, Jan 05, 2023 at 08:19:41PM -0500, Leo Famulari wrote:
> I just pushed to the kernel-updates branch. Now watching the Cuirass web
> interface to see how it goes :)

It doesn't look like the kernel-updates job is working right:

https://ci.guix.gnu.org/jobset/kernel-updates

I confirmed the substitutes aren't available on the server.

The images seem to be failing often, but not exclusively on the
kernel-updates branch:

https://ci.guix.gnu.org/jobset/kernel-updates-images
https://ci.guix.gnu.org/jobset/images
Leo Famulari Jan. 6, 2023, 5:33 a.m. UTC | #7
On Thu, Jan 05, 2023 at 10:00:18PM -0500, Leo Famulari wrote:
> It doesn't look like the kernel-updates job is working right:
> 
> https://ci.guix.gnu.org/jobset/kernel-updates

I think some modules were missing from kernels-manifest.scm. I added
them in commit 8be0a97a8139fdd4d196092008b98668f1a8b2bb, reconfigured,
and restarted Cuirass.
Leo Famulari Jan. 6, 2023, 6:27 a.m. UTC | #8
On Fri, Jan 06, 2023 at 12:33:39AM -0500, Leo Famulari wrote:
> I think some modules were missing from kernels-manifest.scm. I added
> them in commit 8be0a97a8139fdd4d196092008b98668f1a8b2bb, reconfigured,
> and restarted Cuirass.

It didn't help, unfortunately.
Mathieu Othacehe Jan. 7, 2023, 2:50 p.m. UTC | #9
Hey Leo,

> I think some modules were missing from kernels-manifest.scm. I added
> them in commit 8be0a97a8139fdd4d196092008b98668f1a8b2bb, reconfigured,
> and restarted Cuirass.

Note that in that specific case, i.e modifying a manifest that is part
of Guix, it is not necessary to reconfigure Berlin.

The reason is that Cuirass role is to checkout the latest Guix then
evaluate the etc/kernel-manifest.scm file in an inferior, and build the
resulting derivations.

In that case, pushing the edited manifest to Guix's git then waiting for
the next evaluation of the specification is enough :)

Thanks,

Mathieu
diff mbox series

Patch

diff --git a/hydra/modules/sysadmin/services.scm b/hydra/modules/sysadmin/services.scm
index d0c5b24..66bf231 100644
--- a/hydra/modules/sysadmin/services.scm
+++ b/hydra/modules/sysadmin/services.scm
@@ -2,6 +2,7 @@ 
 ;;;
 ;;; Copyright © 2016-2022 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2017, 2018, 2020, 2022 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2022 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This program is free software: you can redistribute it and/or modify
 ;;; it under the terms of the GNU General Public License as published by
@@ -347,6 +348,26 @@ 
                         (branch "core-updates"))))
                 (priority 4)
                 (systems '#$systems)))
+            #~())
+     #$@(if (member "kernel-updates" branches)
+            #~((specification
+                (name "kernel-updates")
+                (build '(manifests "etc/kernels-manifests.scm"))
+                (period 7200)
+                (priority 2)
+                (systems '#$systems))
+               (specification
+                (name "kernel-updates-images")
+                (build 'images)
+                (period 7200)
+                (priority 2)
+                (systems '#$systems))
+               (specification
+                (name "kernel-updates-system-tests")
+                (build 'system-tests)
+                (period 7200)
+                (priority 2)
+                (systems '("x86_64-linux"))))
             #~())))