From patchwork Wed Jan 8 20:19:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Raven Hallsby X-Patchwork-Id: 36776 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 6623727BBEA; Wed, 8 Jan 2025 20:20:36 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE, SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id C8E1727BBE2 for ; Wed, 8 Jan 2025 20:20:35 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tVcXG-0005yU-IB; Wed, 08 Jan 2025 15:20:14 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tVcX9-0005vJ-1D for guix-patches@gnu.org; Wed, 08 Jan 2025 15:20:08 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tVcX8-0006C9-3T; Wed, 08 Jan 2025 15:20:06 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:References:In-Reply-To:Date:From:To:Subject; bh=2oS6EvHjNG9pm/F6DkUys+pQL8DqT8XGe8gCfpwjsZc=; b=tSykjMh7V2OIWs4CuUuyI+ARuLUr8RKUMaymEQgegu5uqqN09jlkEUMYd9b0V2qUbLS7rfGwUi7ug1qlRNnpvNS+pRnv/jcpksCKj6hBlm49Oude+pRRLnXjWQ/iGaBABU2JdEBHYk3HygHciNotMX4ULMzDOb2m7YL+wsWATrn4YFBlekWIJV/xlixzzPs6FqCFPqLWA9Fa2Z4h4w6gs4YURn4MURRxwTuQy3ETPiRATy2esO3PLXDr4oJ/QhZXykkkjYZHOK+v2cVh5KyExcYdVKsfaqXSG7jEthEKqhG/M2OoEU5Y3YZrTQRCbdWUFWmyiHgvZBpvmnsxAOqF9w==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tVcX7-0001IZ-Uc; Wed, 08 Jan 2025 15:20:05 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#75445] [PATCH 7/7] services: Add xen-guest-agent-service-type. Resent-From: Karl Hallsby Original-Sender: "Debbugs-submit" Resent-CC: ludo@gnu.org, maxim.cournoyer@gmail.com, guix-patches@gnu.org Resent-Date: Wed, 08 Jan 2025 20:20:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 75445 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 75445@debbugs.gnu.org Cc: Karl Hallsby , Ludovic =?utf-8?q?Court=C3=A8s?= , Maxim Cournoyer X-Debbugs-Original-Xcc: Ludovic =?utf-8?q?Court=C3=A8s?= , Maxim Cournoyer Received: via spool by 75445-submit@debbugs.gnu.org id=B75445.17363675734882 (code B ref 75445); Wed, 08 Jan 2025 20:20:05 +0000 Received: (at 75445) by debbugs.gnu.org; 8 Jan 2025 20:19:33 +0000 Received: from localhost ([127.0.0.1]:49134 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tVcWa-0001GZ-Ve for submit@debbugs.gnu.org; Wed, 08 Jan 2025 15:19:33 -0500 Received: from mail-io1-xd2e.google.com ([2607:f8b0:4864:20::d2e]:42424) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tVcWZ-0001Fa-7V for 75445@debbugs.gnu.org; Wed, 08 Jan 2025 15:19:31 -0500 Received: by mail-io1-xd2e.google.com with SMTP id ca18e2360f4ac-844d5444b3dso8000639f.1 for <75445@debbugs.gnu.org>; Wed, 08 Jan 2025 12:19:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hallsby.com; s=google; t=1736367564; x=1736972364; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=2oS6EvHjNG9pm/F6DkUys+pQL8DqT8XGe8gCfpwjsZc=; b=IW1fj0T5D6CK9xMb/ACCcheT8yuiLoJ1MwVHR0Jc3BZiRW4yq+2Gg1k7wuMabGLD/U QUenmZYk6jzafWblEyach5kCRfmvcn0MPE2OqXKhCTCD8Z+c9bHQQT7/R88/GSAmjJXL drlwkrRYN0/+gq5eD5Hwz7AhMxCVxCwE1a6Z35k9JRACl2xOcxrWGe+Jr3K2qkFDWn3o g9kYXnl0vQ6qLlDvxSlJig11dpktoG/PnjnnlJeSGT3O5rttOm0idkqYyrQ/5A24VqDh 1E+MPeCFhR66Arjl1JwuTYncnOQCAOlGGjvo1MX2doQeCfU3I+l5/iG/kTnX12qFVCrr 2MTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1736367564; x=1736972364; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2oS6EvHjNG9pm/F6DkUys+pQL8DqT8XGe8gCfpwjsZc=; b=MLYr1lxmzcO1rJJlWi9tPIW3+zN6AUJCC1meQBz4E8+3NuAiQw4kaEB7IpyZRg/Ki0 SxayqVqaWr6Ada23fTlVyL8TIuvIYZDZ67Cgsdvr0ElGAMRGdMvlFbkFgtfzY8ww+O9c szl+XXchwLAF+Iovt2pv/N/zpvCugPUSRrp8AJUPuuuTv0NVl82CzPltS+G4FVnwkwsN intkPTpPU3MUtKNnX3Q43TZ9M0fiQoKUNEe90SR62qD/QwF99+xLWuOo2++Ma7zkj81L 6VmeBiuMDJUX/wk6tH2unWc4OyqJ9enU4uiVZHO3M/XV/QBcmfxiksSMqIf3316I2Gug G+EA== X-Gm-Message-State: AOJu0YyTBV18wX+bf2dM8iPBA9V3PU3K+hSN0VHyZ/bT5/PdEp32gBCI KnHw7MSOeDsGCM6R3yQA5bwitLZtM8mhEQ+Mt20eaKbFqX/ZRZAl2HqOg7K68qHrUYVNgUSr97U = X-Gm-Gg: ASbGncsOufY4psBIPhQ/XRDMBuYmbs+Ys/iCPDhtZJf5i+HU6Dy//wz0mcRFsVzF9hZ bCGspFAarTjr0PPwztE7lI3ZDr9t0VJr/xIxoK8+IbjsDtkrsJg81MkiWPpA5DG4Bns6R0/1o80 soaECK3zp/D2Fl2joMhVHYJ4qL3KJ+roEwlxOe3DbnDMwTDewJwuEeUMIKJgGJcHz90WwK0P2Rg W0u6VAWrPgudG1+fClOzOWYQitPrYqVcVST99lQmzPpcybqDuweQThvdFLxzQ== X-Google-Smtp-Source: AGHT+IGiBBC7Dec+DEiXkGCG7Qs/YUuoV+Dlhyop40dtnX+dAYU+SeZLwURhJcvmgSezmxMkC2u/Ug== X-Received: by 2002:a5e:8e01:0:b0:841:9225:1f56 with SMTP id ca18e2360f4ac-84cebf70158mr62035539f.3.1736367564525; Wed, 08 Jan 2025 12:19:24 -0800 (PST) Received: from Karl-Desktop.raven ([207.237.222.72]) by smtp.gmail.com with ESMTPSA id 8926c6da1cb9f-4e68bf5073dsm10838222173.29.2025.01.08.12.19.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 08 Jan 2025 12:19:24 -0800 (PST) Date: Wed, 8 Jan 2025 14:19:01 -0600 Message-ID: <7945dde8e89d4efaf17b2ec64f7489631d0a0bab.1736366802.git.karl@hallsby.com> X-Mailer: git-send-email 2.46.0 In-Reply-To: References: MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-to: Karl Hallsby X-ACL-Warn: , Karl Hallsby via Guix-patches X-Patchwork-Original-From: Karl Hallsby via Guix-patches via From: Raven Hallsby Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches * gnu/services/virtualization.scm (xen-guest-agent-configuration, xen-guest-agent-service-type): New variables. * doc/guix.texi: Document them. Change-Id: Id1b1f4fc2b193d73f4401e74a214222dfe1b6ea7 --- doc/guix.texi | 24 +++++++++++++++++++++++ gnu/services/virtualization.scm | 34 ++++++++++++++++++++++++++++++++- 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index ee827717a1..89f153146a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -37365,6 +37365,30 @@ Virtualization Services @end table @end deftp +@code{xe-guest-utilities} is the standard guest utilities used for Xen +guests. More recently the Xen Project has been working to develop +@code{xen-guest-agent}, a modern drop-in replacement for +@code{xe-guest-utilities}. While they nearly have feature-parity, +@code{xen-guest-agent} currently lacks some of the features of its +predecessor, namely disk metrics and ``PV drivers version''. + +@defvar xen-guest-agent-service-type +Service type for the Xen guest agent service. +@end defvar + +@deftp {Data Type} xen-guest-agent-configuration +Configuration for the @code{xen-guest-agent} service. + +@table @asis +@item @code{package} (default: @code{xen-guest-agent}) +The Xen guest agent package to use. +@end table +@end deftp + +@quotation Warning +@code{xe-guest-utilities} and @code{xen-guest-agent} are mutually exclusive. +@end quotation + @anchor{build-vm} @subsubheading Virtual Build Machines diff --git a/gnu/services/virtualization.scm b/gnu/services/virtualization.scm index 874abcd73f..b697ae9526 100644 --- a/gnu/services/virtualization.scm +++ b/gnu/services/virtualization.scm @@ -113,7 +113,9 @@ (define-module (gnu services virtualization) qemu-guest-agent-service-type xe-guest-utilities-configuration - xe-guest-utilities-service-type)) + xe-guest-utilities-service-type + xen-guest-agent-configuration + xen-guest-agent-service-type)) (define (uglify-field-name field-name) (let ((str (symbol->string field-name))) @@ -1083,6 +1085,36 @@ (define xe-guest-utilities-service-type (default-value (xe-guest-utilities-configuration)) (description "Run the Xen guest management utilities."))) +(define-configuration/no-serialization xen-guest-agent-configuration + (package + (package xen-guest-agent) + "Xen guest agent package.")) + +(define (generate-xen-guest-agent-documentation) + "Generate documentation for xen-guest-agent-configuration fields" + (generate-documentation + `((xen-guest-agent-configuration ,xen-guest-agent-configuration-fields)) + 'xen-guest-agent-configuration)) + +(define (xen-guest-agent-shepherd-service config) + (list + (shepherd-service + (provision '(xen-guest-agent)) + (requirement '(networking user-processes udev)) + (documentation "Run the Xen guest management agent.") + (start #~(make-forkexec-constructor + (list #$(file-append xen-guest-agent "/bin/xen-guest-agent")))) + (stop #~(make-kill-destructor))))) + +(define xen-guest-agent-service-type + (service-type + (name 'xen-guest-agent) + (extensions + (list (service-extension shepherd-root-service-type + xen-guest-agent-shepherd-service))) + (default-value (xen-guest-agent-configuration)) + (description "Run the Xen guest management utilities."))) + ;;; ;;; Secrets for guest VMs.