From nobody Tue Sep 9 19:05:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=cyberus-technology.de Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1748333506536310.2126288206721; Tue, 27 May 2025 01:11:46 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 96F6413E8; Tue, 27 May 2025 04:11:45 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 9B28A13EC; Tue, 27 May 2025 04:10:55 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 31E2C139F; Tue, 27 May 2025 04:10:50 -0400 (EDT) Received: from FR4P281CU032.outbound.protection.outlook.com (mail-germanywestcentralazon11022123.outbound.protection.outlook.com [40.107.149.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id BD7DF138E for ; Tue, 27 May 2025 04:10:48 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BE1P281MB1505.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:1c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Tue, 27 May 2025 08:10:44 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%4]) with mapi id 15.20.8769.025; Tue, 27 May 2025 08:10:44 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DA1F7B/Iqtaftchj6Pax1O54JS3QrI4ueC7O3iluLJhuCQbDiIaiJxh3NPn6ghOgYAyJsix/BAMxoIan7BdWBlKp587ruEEeQBh/lNKWhY+Iq/u4tb8hLzxRPgswomEY8P2xQMPqVqr5EnX2bJCrF1LUikTTxiDKku917ip61VbNX3PORyBasmQ8hb3vKVeQAPXfQnmBsvvPfQ59j2WKCKkybdB4iFUpNWtLnN2kDk76z6SxrChvrMp9RGLyXl2skBAX3hSHHhtYr3Fn5eZ47BswlG9c941zHtL6wl1lxMLj9P61b9IobzDqN/ak92Xaxp2uPnKmTdPuHDTMY/rDPA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=3c+LFrCWquNJNWt8CAmXeSp1hLrfLBxcT8JX0NNzLok=; b=CYxxykzM4iMdoOqoLaqTcISolofRtcJGwXpobPbOav28jb8ZQDOYJLFd3jNy7Evd+IOoIDVFbFY9ppaxdwkfERpjLYHAC2/U1sCIBNGjY/OlcikP3yev5nEwQotVVl4GXqYpO8IPMcpCu8VuEPEsfr43EF14Ieh9kRVycCqCmAou5hr3+cV2oei5M8iVrP6E/WEKOp+ApLVcJXapotUxne5asB1lJRpyt98My157TUixcnRnz3S3omCDF1ttiClW2vmJldqfBl942x2Qvxxqn0ydG07RWCI/tu6RwYB2y7WwC08/rCNPGuavbjBDEFXPPUUMsfC4XrtV8XzDkYgrNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3c+LFrCWquNJNWt8CAmXeSp1hLrfLBxcT8JX0NNzLok=; b=rRuRsF1rvbTRuqTtE9hMjSKmcNrPe0vre2kvpeXBl8SlOV6VWHMQIAvLQthWxuUJ50iqduhEJ0/m0riCvZ8hXgZ64HojQwSrkkHRWtsnY2X4oLfoGGB3+kIbVG9CcUC+8nTBJuDb1dimXVenCWrG9o7/aPa+RRoewasSmPSSQXcS25JF7BJMI7f2TsEZvwe0advxxNfQi7QJdpLKXIA3Nh1FTHFFic/a84FzRu23zomZFO8yRsBTJczv9c0muRUNyxNe94tDcm/rp2Geo2CeJkF5w18+PnzPBNSF3YbWuJ9IbJ1dri2OvRGLQr4WCDF20SRbojJattbf1WZfGN/8hQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v2 1/3] ch: Add config file support Date: Tue, 27 May 2025 10:10:32 +0200 Message-ID: <20250527081034.255383-2-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250527081034.255383-1-stefan.kober@cyberus-technology.de> References: <20250527081034.255383-1-stefan.kober@cyberus-technology.de> X-ClientProxiedBy: FR3P281CA0009.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::8) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BE1P281MB1505:EE_ X-MS-Office365-Filtering-Correlation-Id: 2aa7a988-8fea-4ef0-ad2d-08dd9cf5fa4a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|10070799003|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?h6X1FJjpwt9RDdqYUUg2vGa4K2eSuzHkXHBtlYBWzG0iGLn4DqiT25rfwh0g?= =?us-ascii?Q?09pjstAfQDsmObsA9fqc2SHUWngptpWpuEq4+USxYxG8nUNJ1bVFJfvBIyxj?= =?us-ascii?Q?KxFOgvxP8c6+Fz81FaCiYnk17sBUE1t3FZP/UZJfRu4069/n8uZOwKKd60q0?= =?us-ascii?Q?HPIg78OaRGcHKbfoeNEC0DC8GxPllHxJ1mywO2b1a8c6kYz+Nl85uGnDCcXp?= =?us-ascii?Q?4vqi/LLMy3rTWr0m0Lhxt3KLTIlidpsyW0g4u32v0UW0QwNKqmEZhqJpl+PP?= =?us-ascii?Q?AWZDvar6ZNv2zM61Y8KFnGJVhf4NPN5JSoBAtREC9RPbqJhsB1XjGRVRpTMs?= =?us-ascii?Q?N7XbjKrbU+IawXuqWTB8ESTOUOs0o3uaZMbssR7Epfg8JZKX86F7FOuU+GCF?= =?us-ascii?Q?y3DRJq1MP3XT2mIqIK5+DlfF8K1crbdj1exQvZU0SZ49mSpN7unA3m+7yWaa?= =?us-ascii?Q?N57GTHW64st31pcZsMQUEMe6mVzNdwntbNDHDOrk0+aZ62z48uMhjwwoj0XX?= =?us-ascii?Q?q81yhOmyu3cLQbyPxUM+5TGtbrblrQJVVkYe52sGTS0SnNvJlPNT74yWUfEv?= =?us-ascii?Q?COpK/HlOzDnD2XBbNNPcIDk70LK+XR/mgKArdxTjmDpyP2YXe3Gd2ww1YVnX?= =?us-ascii?Q?R4SMk4XKqfcTKYpl+gmxUndYAroWVNpZt2WWSogzIJigDchj4d8pyDGBib1F?= =?us-ascii?Q?u5fSfCk6mH9nNeM5NhQaJuu78Qt+mC7x6IZBeCinDJ0h4K+GzgT6S06mPvLC?= =?us-ascii?Q?4NzA+pLJ1e9CeVLWEdcjP3C+6g9gegFQRYCO3RAZmb2UttYIxvjWrb3B0y9J?= =?us-ascii?Q?KqFruqJ4g3L5J4t15XZTTpjSazsneLXneoLhIRWrpXOTvtbFYVGs6ba4gqTQ?= =?us-ascii?Q?t0HUhCk/FGzH3OlFDOx3p4IjNxX4pEN2UYFf8yj2YKnLppHMLHRl0GgehJ4N?= =?us-ascii?Q?rZcqLO0KYzluMBqF9zb36cIL4mRfvbA3UQTAB6pt8OUl4jR3PBLQP/i9XSbn?= =?us-ascii?Q?i+0VpNLPFU6e6eKu+kH+fKiK5DAHtIQ+yGs5Ib7/Bjr8bf/ywZH6LmJA0CwB?= =?us-ascii?Q?lSCCysi8aB3Ahofpk8qWbdYuUEDYpfcboUCLvNZJwmp1UpE90tSvz6DkRO6U?= =?us-ascii?Q?7iGnv4WDZQuSLuV3EsQJ74qKO+IZ5Ztx2nQnucxckRFq7fbMDbmqHtOgQ9CU?= =?us-ascii?Q?+iIEXtqrr3oTcdB7y2vNt1gFx8t3ozEw4cGLCU9Rbelr/gU/dPvSSBE5uOlb?= =?us-ascii?Q?tJVfpMAcIxGfqlFHGn7YPtW1OQeP14dCil0K6Z9bRM0WA9Tdrzl6Tq6JY78m?= =?us-ascii?Q?e6spdpMbow6EYIznXXGZOG8QVC8am30NbWXhmPejawOCcREaYCci5lhF1GfY?= =?us-ascii?Q?HHYdmNNyAg3QD2PuwyjBRmh6ZipDqwrFtvRXKT9zAa4JSBhwZgCqRFhHeg5U?= =?us-ascii?Q?cXJBFZZTRPk=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(10070799003)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?p3WX+1tLb4JvV+jK6cTxG/im/onqe7HjF/R3DD4T+3KR+Faj4TIwsF+YnrBX?= =?us-ascii?Q?dzXSybvYI1P5+/pjEkTUSz3rAl/h6MTQqcr2Os02ZND87FfcBVkwHoVSINS/?= =?us-ascii?Q?FG1m0drTHztxk9Ia5jqQo8c/cUzuLZCszkvhhhgjcrhum/AuTFHRj8aGd3WJ?= =?us-ascii?Q?f4RbGJvMqpxrdwg3XFRigu7nqyidHkLk4U01Ba7aYKk5HwSDzM6xQEAnHye0?= =?us-ascii?Q?1hzEeIQhgVsNk8p+KGOklPZ+atlKeqGhss366TzXfjkL4U8cBXhToIQr9TJm?= =?us-ascii?Q?idbkXfc2DmfvU5yFxMXuG1WMwLvfZXE1Dlg7CXQVhn7R6HDEk1yLlcYO/zlf?= =?us-ascii?Q?bjmqyvCi6k1Dgh8xnPSZ1TRVPkI76Mo04VwL+q6SG2K3kFXozjr6Nn5AYu3y?= =?us-ascii?Q?tuXeryjNotYRL19r9w9OyMts2z9KoGuNw3tJlWUqulTdHf12cxlNyfhd79sl?= =?us-ascii?Q?shnkR/GtO+TM1i9HEu+Le7+G2PUCifh3VFpd1MtT+GcKs5YT5qwyN9AsK6aJ?= =?us-ascii?Q?eV64nsBd4bCLymiso1XzIYtDNNUP5hPsVqA3+mnT3KcxK8RXCS7mA1zQa+UO?= =?us-ascii?Q?Uc0LyIrnUYPlYzHcrJizj3MMSVUHAJNV/1vXntuuJh3vBdCE6mKDeYXSgSIi?= =?us-ascii?Q?Lpvb9T1+SztMi7JamjvvACQcqwwsKwA1b76AYz7ybPwxqHeUbNaKmwS9+QJ2?= =?us-ascii?Q?ImBkgTocFIeYcE9fVxnEUjVru6BAjdqPHbtTERGkgi8GhX7WInBGVYNbeOmO?= =?us-ascii?Q?M+l2Adp+Px7qb5Hg7P3eC754WyeLNw+jPJ8c8CnjlP9aGZu4/kpGlIoYRfRB?= =?us-ascii?Q?/PCJ/7uKvaEKEIfaYKVvSY6pgTkgPwjyJhNhMRFtMguQ350oFmizNLVzle4N?= =?us-ascii?Q?EIyae8zSgNblUQYo3YzhVwpI40T2deHytoGpAGJVfU5/Ttrls7gHbD6DieK1?= =?us-ascii?Q?RSGCfk+2XFsS8fjVyRD6d6RpHjvqMq8fIxDEDA4RaASRe/P1f3H2sv3v/f+m?= =?us-ascii?Q?WpC/6UeHHWM7eUkOu3XyboAv8nYdPG2FK85QZpR6EeDF2jIuxxMPNAE100xv?= =?us-ascii?Q?RhA7RN+iQLKLxGuvf8/xRuzO+NsI/VLnw4SZ+/Z4U1shBRuObOH7+ytfD+56?= =?us-ascii?Q?lSrvkiOIETsHd29i8CtHOre0dpB0qJDZ3MrQDTF5rkP/a4w3Xj63nkVPUM3w?= =?us-ascii?Q?PYN2Lu7vrv/Db0NYPIGViZize5x1wobbce24C6ifuxCoed2CZRPB1juSGfFl?= =?us-ascii?Q?3vENKuwLZu8GrzNdDij6+/nzTGY8NVltj9b53D3RoMOpLoCV9nXE8pKvNLUU?= =?us-ascii?Q?67YRaK5pOTynGZ2g5S/b2SgtGJOYtDqMlyZ42Sb7Pr0tIzy4c808G8uUdHbK?= =?us-ascii?Q?f8qb7uVz3ZzhWTvQ23a3c/8f14rFDFrd8yEkw1MAh/ZoJcXePVWP6nbjFQZa?= =?us-ascii?Q?zdVVD8srw8wQfQ6V+94bP5eBSt7xb4f3gcN0e6lSXGCHH3dEQbk8dLBCs7Q8?= =?us-ascii?Q?b8rHHwSWwiVouw/LKhtNBV3+iJs77eQ0Jbh4IqzRBqqQoWtPzrdECPlc9wHU?= =?us-ascii?Q?KzzNG9wmZgSCOBYziEojuUfbFC4ZR630lu/VnpzerXsbjw/Nwa4htp1hDvh0?= =?us-ascii?Q?8SqqGJJEWz8EBwMyfLZPf9nnSe9wZ/QciSHiKhHgrdU/7+Vp/Mnl1jfgxAoG?= =?us-ascii?Q?hgyhI/aRq3mDqkkmhayCQSjAlKc=3D?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: 2aa7a988-8fea-4ef0-ad2d-08dd9cf5fa4a X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 08:10:44.2375 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JWYZcAlKYr4ANSFm5ky9Anr2z0/Wxp1C5kAmKMVMdYFSX8r3m6UMrKzggYZgmzS68yrVCmAmFcG6BIOwrusHBDS2GZyf8MKJP/Uw3opbxS/oFP9MfGCy9cOBTIR/9nZs X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1P281MB1505 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: ZZQO7BTOO7L3Q27WK6MDXNN2MJPC67NC X-Message-ID-Hash: ZZQO7BTOO7L3Q27WK6MDXNN2MJPC67NC X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Computed bodyhash is different from the expected one) X-ZM-MESSAGEID: 1748333508844116600 Content-Type: text/plain; charset="utf-8" Similar to the QEMU driver, the ch driver receives support for configuration files that allows doing certain configuration on the virtchd daemon. The initial use case will be setting the verbosity of the cloud hypervisor instances started by virtchd, but the implementation allows for adding further options. --- src/ch/ch.conf | 3 +++ src/ch/ch_conf.c | 22 ++++++++++++++++++++++ src/ch/ch_conf.h | 3 +++ src/ch/ch_driver.c | 6 ++++++ src/ch/libvirtd_ch.aug | 40 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 74 insertions(+) create mode 100644 src/ch/ch.conf create mode 100644 src/ch/libvirtd_ch.aug diff --git a/src/ch/ch.conf b/src/ch/ch.conf new file mode 100644 index 0000000000..8ce987f675 --- /dev/null +++ b/src/ch/ch.conf @@ -0,0 +1,3 @@ +# Master configuration file for the QEMU driver. +# All settings described here are optional - if omitted, sensible +# defaults are used. diff --git a/src/ch/ch_conf.c b/src/ch/ch_conf.c index cab97639c4..7d3f600707 100644 --- a/src/ch/ch_conf.c +++ b/src/ch/ch_conf.c @@ -22,6 +22,7 @@ =20 #include "configmake.h" #include "vircommand.h" +#include "virconf.h" #include "virfile.h" #include "virlog.h" #include "virobject.h" @@ -81,6 +82,25 @@ virCaps *virCHDriverCapsInit(void) return g_steal_pointer(&caps); } =20 +int virCHDriverConfigLoadFile(virCHDriverConfig *cfg, + const char *filename) +{ + g_autoptr(virConf) conf =3D NULL; + + /* Just check the file is readable before opening it, otherwise + * libvirt emits an error. + */ + if (access(filename, R_OK) =3D=3D -1) { + VIR_INFO("Could not read ch config file %s", filename); + return 0; + } + + if (!(conf =3D virConfReadFile(filename, 0))) + return -1; + + return 0; +} + /** * virCHDriverGetCapabilities: * @@ -149,6 +169,7 @@ virCHDriverConfigNew(bool privileged) cfg->logDir =3D g_strdup_printf("%s/log/libvirt/ch", LOCALSTATEDIR= ); cfg->stateDir =3D g_strdup_printf("%s/libvirt/ch", RUNSTATEDIR); cfg->saveDir =3D g_strdup_printf("%s/lib/libvirt/ch/save", LOCALST= ATEDIR); + cfg->configDir =3D g_strdup_printf("%s/lib/libvirt/ch", LOCALSTATE= DIR); =20 } else { g_autofree char *rundir =3D NULL; @@ -164,6 +185,7 @@ virCHDriverConfigNew(bool privileged) =20 configbasedir =3D virGetUserConfigDirectory(); cfg->saveDir =3D g_strdup_printf("%s/ch/save", configbasedir); + cfg->configDir =3D g_strdup_printf("%s/ch", configbasedir); } =20 return cfg; diff --git a/src/ch/ch_conf.h b/src/ch/ch_conf.h index b08573476e..2f0d090d35 100644 --- a/src/ch/ch_conf.h +++ b/src/ch/ch_conf.h @@ -38,6 +38,7 @@ struct _virCHDriverConfig { GObject parent; =20 char *stateDir; + char *configDir; char *logDir; char *saveDir; =20 @@ -103,6 +104,8 @@ struct _CHSaveXMLHeader { uint32_t unused[11]; }; =20 +int virCHDriverConfigLoadFile(virCHDriverConfig *cfg, + const char *filename); virCaps *virCHDriverCapsInit(void); virCaps *virCHDriverGetCapabilities(virCHDriver *driver, bool refresh); diff --git a/src/ch/ch_driver.c b/src/ch/ch_driver.c index 3bdcf66ebd..cf6874f22e 100644 --- a/src/ch/ch_driver.c +++ b/src/ch/ch_driver.c @@ -1411,6 +1411,7 @@ chStateInitialize(bool privileged, virStateInhibitCallback callback G_GNUC_UNUSED, void *opaque G_GNUC_UNUSED) { + g_autofree char *driverConf =3D NULL; int ret =3D VIR_DRV_STATE_INIT_ERROR; int rv; =20 @@ -1447,6 +1448,11 @@ chStateInitialize(bool privileged, if (!(ch_driver->config =3D virCHDriverConfigNew(privileged))) goto cleanup; =20 + driverConf =3D g_strdup_printf("%s/ch.conf", ch_driver->config->config= Dir); + + if (virCHDriverConfigLoadFile(ch_driver->config, driverConf) < 0) + goto cleanup; + if (!(ch_driver->hostdevMgr =3D virHostdevManagerGetDefault())) goto cleanup; =20 diff --git a/src/ch/libvirtd_ch.aug b/src/ch/libvirtd_ch.aug new file mode 100644 index 0000000000..d0b0964987 --- /dev/null +++ b/src/ch/libvirtd_ch.aug @@ -0,0 +1,40 @@ +(* /etc/libvirt/ch.conf *) + +module Libvirtd_ch =3D + autoload xfm + + let eol =3D del /[ \t]*\n/ "\n" + let value_sep =3D del /[ \t]*=3D[ \t]*/ " =3D " + let indent =3D del /[ \t]*/ "" + + let array_sep =3D del /,[ \t\n]*/ ", " + let array_start =3D del /\[[ \t\n]*/ "[ " + let array_end =3D del /\]/ "]" + + let str_val =3D del /\"/ "\"" . store /[^\"]*/ . del /\"/ "\"" + let bool_val =3D store /0|1/ + let int_val =3D store /[0-9]+/ + let str_array_element =3D [ seq "el" . str_val ] . del /[ \t\n]*/ "" + let str_array_val =3D counter "el" . array_start . ( str_array_element = . ( array_sep . str_array_element ) * ) ? . array_end + + let str_entry (kw:string) =3D [ key kw . value_sep . str_val ] + let bool_entry (kw:string) =3D [ key kw . value_sep . bool_val ] + let int_entry (kw:string) =3D [ key kw . value_sep . int_val ] + let str_array_entry (kw:string) =3D [ key kw . value_sep . str_array_va= l ] + + (* Config entry grouped by function - same order as example config *) + let config_entry =3D bool_entry "placeholder" + + (* Each entry in the config is one of the following three ... *) + let entry =3D config_entry + let comment =3D [ label "#comment" . del /#[ \t]*/ "# " . store /([^ \= t\n][^\n]*)?/ . del /\n/ "\n" ] + let empty =3D [ label "#empty" . eol ] + + let record =3D indent . entry . eol + + let lns =3D ( record | comment | empty ) * + + let filter =3D incl "/etc/libvirt/ch.conf" + . Util.stdexcl + + let xfm =3D transform lns filter --=20 2.49.0 From nobody Tue Sep 9 19:05:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=cyberus-technology.de Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1748333533759918.0110944498307; Tue, 27 May 2025 01:12:13 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id CD58C13DE; Tue, 27 May 2025 04:12:12 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id F1D63115; Tue, 27 May 2025 04:10:58 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 958F41399; Tue, 27 May 2025 04:10:50 -0400 (EDT) Received: from FR4P281CU032.outbound.protection.outlook.com (mail-germanywestcentralazon11022123.outbound.protection.outlook.com [40.107.149.123]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 516FF13A9 for ; Tue, 27 May 2025 04:10:49 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BE1P281MB1505.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:1c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Tue, 27 May 2025 08:10:45 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%4]) with mapi id 15.20.8769.025; Tue, 27 May 2025 08:10:45 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bqCnkMm2CJcpFhFNjbGe7rNO/PgJpXX+KbGOXv5hi6CPIGyZ9kTRFD6NvdciIYR2MY31MHADzqN6n4RscjgdOZ5fszlRFnJS8KqoERDnCs+IQAGHpid8ohOKjZcS47Qgyoh0Ng4Im8UteYaU/RZ0sP6vYaTObu/uPzyYbWFc2Y21IGyO2gH3Z5lKeK/wn9oKJhtqMrKzG4nCFhNiPgLXDyyLviZIVdTH/yB2s9STgr+w+ypb2mTkiEwiKZrq92usaLety560Ri1zBmciTjwobuEIDRdmMQstP6JfLvlsTgHyfQgfqFccchWDLrJF/R/6jTQPUOUwSWc20f0ACCcaBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=OnV1Ynd3lqNkEq2H9L/KKfNra95bS/5JxakVibV8Z3Q=; b=Kz+VfDluCWuoaP0oD31KoaH8LlfwFA9lDtKCBwelGienQ0dtwyjD+18C8uJ8VXTw+hU3odGbwDHhDFSL5VGEzP3M4TxdHZ/1vlRkCgw/pJhvF97V9iWesL14QfzO48hSbVHXtegpFKwsQRHq5Snra/ERoCa3X5C02D7E6QMf1kZvHG8Ht297DxkPRe8wlv/38y92uaqi/COL1eeFi2+Q8KZKb6t3yS9M5j0fIjAqLJeBBDwwwSu6zQBt/5+7FebPhpUyxmZgDrYuAPgZWItW7d4X4sXCmBWLbyDVvWKRk1+Xux07f3d5yAqeqFs3FQyoArHh/hvMwcbzYp5/YA2V3g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OnV1Ynd3lqNkEq2H9L/KKfNra95bS/5JxakVibV8Z3Q=; b=pcy2zaVipsjYbufR3OQqq75ZNWwkxCt48EK6zP1aLyDY/qDwxIbGzNNuBeCWPwQmlU+e7vZKqSPykuqDvPiG0yYvZhMyZ3fQT0eNQ8GjbbH5LYkCbpr50D+rZKko9auXHzEofKEWiX0rXLYBAgL9iFk26O1vwYlDf5pYd9r0z2nMug6WJ78Hm6mYmD/HafyEpm3bVBSdBLWWzNwgMfj8WN59maNft8/t1HZiasdrgrUTb8+GSnWpuVtcd710SOGWMPSkUz0zpIqmDlbtx7KsxX7qlCiIdVBAephzX47bjnlYyYi7+kjphPuEj7rH/bf4L+S0wCUMS24mM+hDyVx+HQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v2 2/3] ch: add log level configuration option Date: Tue, 27 May 2025 10:10:33 +0200 Message-ID: <20250527081034.255383-3-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250527081034.255383-1-stefan.kober@cyberus-technology.de> References: <20250527081034.255383-1-stefan.kober@cyberus-technology.de> X-ClientProxiedBy: FR3P281CA0009.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::8) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BE1P281MB1505:EE_ X-MS-Office365-Filtering-Correlation-Id: c1bdfe73-8e91-4d3b-d6d4-08dd9cf5faca X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|10070799003|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?gy9qGovME+APnq6dkSEPWP66l4scxDvM6Gl/3+dqvVGAgsX4opTK6Vm/Gj48?= =?us-ascii?Q?PgEnFunKIX7EAtfQZegpWvnSFrK6gMvtLf11gdmwqrpLSu9lFWgRH7Yh7zFS?= =?us-ascii?Q?V5jKakLNy12Cw1QKfQ/nAidm35SJzY7L6gO15hqYFsh5EXRxf/roS70Z4hiL?= =?us-ascii?Q?BmsuHh9A8pexPQX+YTzyv5umise+OIZjx79xiZ6ECoctEi0g/lAsZyXIuyGd?= =?us-ascii?Q?yGhS4kT0ptAQgsRHYbvF0VhcaxIB/K4LSc+eUp4+0U/Jr0wD8EXWsXkXZhkN?= =?us-ascii?Q?nL6Y9HhlV0tVK3ZpaQQz6JbE5Zt+Kz8PADtVYU3WfUAKEB7L+zSh24QcNZzH?= =?us-ascii?Q?tS/HUPA8eTm8EwKvG4WC7+5qQtcOR/n2chA7F/Jf6Emvr8PwM9zMMuZhW8wZ?= =?us-ascii?Q?ZBvuY+Wvq3iR8HTV2jURSUJbmVY02nxX4u/YtbXS839oNqwbxJz+jNX1W1Pm?= =?us-ascii?Q?L0xxm7BJ7XDY2wxdFCiSdkSk2eR/wOXg432giS6Zxh7LwkoNWqlWnlvO/EgM?= =?us-ascii?Q?JAVdl9b6qeMn/PeLLG5ZBbmURoum7l3CVt09xPz1sHg0ltpfS+Trph00FwTz?= =?us-ascii?Q?o7uSjTUapPI0YSA4z5DAdL7kFcRvYgLWGUYvyLxtVFYjwA29IsedJAnDQH79?= =?us-ascii?Q?CsqOCTHr821hg6RvJVFHH2qZzN5cLbLe7j2GUBlHbSc9RHLEuBIpLXw0CImb?= =?us-ascii?Q?klQmJlHhLbVzrBF8tioq091a2ql3BO+POZiPnKUW+lgOqVNCXz33OoVGGtK/?= =?us-ascii?Q?U01ULOgl4FtMP3KNJM7A8o8JUt0yZ6Vi/c/WoExzmOLoJO2lr8t6J8CEHCE7?= =?us-ascii?Q?jSnjQhaFTF22Grb26INPOOPanOtOmG403DmqBF7L2EUVHy6HmKfMmWGcvXeg?= =?us-ascii?Q?5/XeMlgy02PMHS3omNPMIiA8s0Dr3maSP8WSZweljEtNG3D3+NR+x5FGDNKv?= =?us-ascii?Q?aF8FxmqXaemPYUNQqb4lRmgGq9wwrGNWttPVl0BqLbc/tOkUv4yjRas9sl8W?= =?us-ascii?Q?sFVdwbZOfx66wF6cz87J1VDwChkIE7edjwpp9rS74ppEYH3hvLosRsDowW/Y?= =?us-ascii?Q?EIRy3QvsThANcml5cNej06mC6OPILbaAqBuEr7xdRLGc5kQmPXrp7zSQIRtK?= =?us-ascii?Q?NS8m36IBaXlZNCeRvUVixltYM46tHt45C7WA/aoD5+lJ5Yon3SzxvdnMUHHl?= =?us-ascii?Q?iBbWIAOB4hfiEu+RfJrUnneyJOQCQxWJk6u11vQSiWG7EtBhHTwpDtGaHW6/?= =?us-ascii?Q?S/LhEH5jzHqPWmn6UWzwbEwge0O4jVtzv7znBq7GbHiyQ2O/nMdxj621iqla?= =?us-ascii?Q?bHQ3tIIaLS8z3+hU5BEP6+8+BSRR72uxYyPVQySHyIUH5gBacYuAq71cgNt2?= =?us-ascii?Q?47mkz2PXq/6K1fLyZuS+csCvdQdqSE4dx5Rp4sz73+ZMrexXuvAQhKxoKaSQ?= =?us-ascii?Q?3JaLd2I/UFg=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(10070799003)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?d2qLLFrPYT/nHfy9y8jreZcEz4WB8UYIf3KruQch23/pwe387Q9LfgvfaRIX?= =?us-ascii?Q?1tYHYdD86IBDdOyx4nvAPE71UyLBSb+56qrq+/e7D6DBWwR+XG6OlazzgS8/?= =?us-ascii?Q?SBDr8ZHo7Axql0acUPbnrgnf2lgZyBOwZYVoIgiOacxl0gHSZHD5RC3TdOh3?= =?us-ascii?Q?hX3D27eEhsuWc5noTZ8AQFNDiFa3t+44EyMZX2FeriBeW25XdSLrj8WRcKv3?= =?us-ascii?Q?j1IsDEWqX4VycJ6jJz0DUDqfW/UvfA3SYz0m/49WdKKw68b5VBHN/fQfrv7t?= =?us-ascii?Q?X1D5cF68fsk3xNQ8caWZut8mHn2eTV5HAbJpa3h6uCd/5JVXWrEv+YcM/X53?= =?us-ascii?Q?0fZqeorcfLL3Bn9nZcjTSod8eDiNF5Pi0rvLUCYLiHgNjCrc/Phj0TornA7/?= =?us-ascii?Q?X/Oez9ERm9Vxj4R4n7JBRWuF9FHTM60dRWa+hy+WyjVxiVl8Misr28U9RP24?= =?us-ascii?Q?l6o4RjvqDjYdGe3NYkGjua412qBtqnuiML1x9LiiNFf5SQvQX1p8zLoFs7Rj?= =?us-ascii?Q?IjoXxI5RxK2Yj4R+mZFLtcK7U2SxKlvHx8dskQ3cye13yMR5kgVVF2QYoJ/8?= =?us-ascii?Q?eBZ1imzWkk+k/j0HPYIN9UJQBClvg2DhnFGWsQCrQ9irffsiBHJ3SUa8xr0v?= =?us-ascii?Q?GeJ7KylUUAorR+Yjw2fRwjTR4DCu9Cz8UAyPNbQ5H7UbqWNhznQWBE5Gk/do?= =?us-ascii?Q?3ISLqTyjMM+u0yv0+8g+RvzGupmiHOkp0CNv5TF/uVTJDaHKcRsJ9cXGfq7o?= =?us-ascii?Q?pi3AHU4acd+5QJ6BgmTlIoS8TEjNuzAKBLB/hEM29CZYXJVG2nMSCQQ4a0m7?= =?us-ascii?Q?RtBoZDEWaDoVh3hAQEWBIwTFyiBk3Yo/kJtgKDdkQnFavKJMKGEqK6pWLllD?= =?us-ascii?Q?Vs0/kEmAeuM0/KcB/Dv0rHjcEenbWxQcXelVei2JmEx+rWizLB//H5yTLvCz?= =?us-ascii?Q?BoyIZ+TvzgpgJFjATma+8zkPh6Rpttqr0KeCLCdtMQiiIBHQbOomt9JWMk2x?= =?us-ascii?Q?n7kwWUVcFMsQBYEy0STnYivgh0YP3Bu641Ad8PWALWSQj4qk5ZVarZITi79C?= =?us-ascii?Q?Dnottv63G7ozDVG+30HYuAlkh/F53f6mSfZ+Ay+W5Otrt86Tcyf18ZPp294K?= =?us-ascii?Q?nicKnwETHCiUT8IC6W6pAQDbsuiHF8RZ7G93tRlXVpDO94fB2gdrfIXPJwKp?= =?us-ascii?Q?GsUOo1jXaCvUnPpM8bZ5Fk5NLROMdRnO3bDDcZq6NOXlkeQaMSWQqkoN4sP6?= =?us-ascii?Q?+T3UzZn/Km/zdfCoNVZ++StoVWBMXcnwfL7i2qtWn0UZaXVq6rSB2XKzYw4u?= =?us-ascii?Q?5OIRaHBwnfxOees1/p4bWr5Rwlt7uIMLcME4pBEYzgmMSPijjFTgy1kt7wrI?= =?us-ascii?Q?ltskGi2YFSC90adks/6SSNtdhViQjYYNT0/8d1Hn7FStlyDIzJ+Zu3G301Xq?= =?us-ascii?Q?Qh8BXaCqC36ilkuzo2yQPmKIgZ1V11MImFDOalJh/amCUT37+oSDMeB1KtVq?= =?us-ascii?Q?QSdhYAInvq5rb7cXY/I11cr9vYSiKwNqq1hnd7cRAqehBbJwJNow5VN7AIai?= =?us-ascii?Q?QS3VkOE5KVeqvn/mjF5m1wzvN3B0SaKDxdEh12/hI3oGaoKPoqCt6PHqWm0A?= =?us-ascii?Q?mZSbcOd2RCOYhaFTrPpol97IU2A4+8JoVnxupSzyXp3fUhYyKkwRDC1btaFW?= =?us-ascii?Q?YpfL5IJ6JgeQ/Qq4O+47+QWPFuM=3D?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: c1bdfe73-8e91-4d3b-d6d4-08dd9cf5faca X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 08:10:44.6745 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +Nhb9hMfLPpeV5DJZ1hbhHlEyfosJHEHNo/cTSgCLZFaG396MRHfM04RpFLBjyQDZjvAyb1tqYw55jrd0Z19PdxKuRpMwiY1gDAUPVU/d8y4nWk8fNMwm9xPGeXHzKex X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1P281MB1505 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: CHMKLGINWPW6QJ7JFTUFKM7OUVKPZYEP X-Message-ID-Hash: CHMKLGINWPW6QJ7JFTUFKM7OUVKPZYEP X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Computed bodyhash is different from the expected one) X-ZM-MESSAGEID: 1748333535199116600 Content-Type: text/plain; charset="utf-8" Allow a user to set the verbosity of the cloud hypervisor instances by specifying it in the ch.conf configuration file. --- src/ch/ch.conf | 8 ++++++++ src/ch/ch_conf.c | 9 +++++++++ src/ch/ch_conf.h | 15 +++++++++++++++ src/ch/ch_monitor.c | 6 ++++++ src/ch/libvirtd_ch.aug | 2 +- src/ch/meson.build | 12 ++++++++++++ src/ch/test_libvirtd_ch.aug.in | 5 +++++ 7 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 src/ch/test_libvirtd_ch.aug.in diff --git a/src/ch/ch.conf b/src/ch/ch.conf index 8ce987f675..5e3cf8f92f 100644 --- a/src/ch/ch.conf +++ b/src/ch/ch.conf @@ -1,3 +1,11 @@ # Master configuration file for the QEMU driver. # All settings described here are optional - if omitted, sensible # defaults are used. + +# By default, Cloud Hypervisor only emits warning and error messages. By u= sing +# the log_level configuration option, the logging verbosity can be increas= ed. +# +# Using log_level =3D 1 configures Cloud Hypervisor to also show info mess= ages. +# Using log_level =3D 2 configures Cloud Hypervisor to also show debug mes= sages. +# +#log_level =3D 0 diff --git a/src/ch/ch_conf.c b/src/ch/ch_conf.c index 7d3f600707..b9432e2a42 100644 --- a/src/ch/ch_conf.c +++ b/src/ch/ch_conf.c @@ -98,6 +98,15 @@ int virCHDriverConfigLoadFile(virCHDriverConfig *cfg, if (!(conf =3D virConfReadFile(filename, 0))) return -1; =20 + if (virConfGetValueUInt(conf, "log_level", &cfg->logLevel) < 0) + return -1; + + if (!(cfg->logLevel < VIR_CH_LOGLEVEL_LAST)) { + virReportError(VIR_ERR_INTERNAL_ERROR, _("Invalid log_level %1$u"), + cfg->logLevel); + return -1; + } + return 0; } =20 diff --git a/src/ch/ch_conf.h b/src/ch/ch_conf.h index 2f0d090d35..1660762f2b 100644 --- a/src/ch/ch_conf.h +++ b/src/ch/ch_conf.h @@ -34,6 +34,19 @@ typedef struct _virCHDriver virCHDriver; =20 typedef struct _virCHDriverConfig virCHDriverConfig; =20 +typedef enum { + /* Standard log level only showing warning and error messages. */ + VIR_CH_LOGLEVEL_DEFAULT =3D 0, + + /* Additional info messages are shown. Will not spam the log. */ + VIR_CH_LOGLEVEL_INFO, + + /* Additional debug messages are shown. Will be very verbose. */ + VIR_CH_LOGLEVEL_DEBUG, + + VIR_CH_LOGLEVEL_LAST +} virCHLogLevel; + struct _virCHDriverConfig { GObject parent; =20 @@ -48,6 +61,8 @@ struct _virCHDriverConfig { gid_t group; =20 bool stdioLogD; + + virCHLogLevel logLevel; }; =20 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virCHDriverConfig, virObjectUnref); diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index 3d3b4cb87d..6bf877fef3 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -698,6 +698,12 @@ virCHMonitorNew(virDomainObj *vm, virCHDriverConfig *c= fg, int logfile) return NULL; } =20 + if (cfg->logLevel =3D=3D VIR_CH_LOGLEVEL_INFO) { + virCommandAddArg(cmd, "-v"); + } else if (cfg->logLevel =3D=3D VIR_CH_LOGLEVEL_DEBUG) { + virCommandAddArg(cmd, "-vv"); + } + virCommandAddArg(cmd, "--api-socket"); virCommandAddArgFormat(cmd, "fd=3D%d", socket_fd); virCommandPassFD(cmd, socket_fd, VIR_COMMAND_PASS_FD_CLOSE_PARENT); diff --git a/src/ch/libvirtd_ch.aug b/src/ch/libvirtd_ch.aug index d0b0964987..fa97d2a44a 100644 --- a/src/ch/libvirtd_ch.aug +++ b/src/ch/libvirtd_ch.aug @@ -23,7 +23,7 @@ module Libvirtd_ch =3D let str_array_entry (kw:string) =3D [ key kw . value_sep . str_array_va= l ] =20 (* Config entry grouped by function - same order as example config *) - let config_entry =3D bool_entry "placeholder" + let config_entry =3D int_entry "log_level" =20 (* Each entry in the config is one of the following three ... *) let entry =3D config_entry diff --git a/src/ch/meson.build b/src/ch/meson.build index 0b4a5aeb49..cd20c3d065 100644 --- a/src/ch/meson.build +++ b/src/ch/meson.build @@ -77,6 +77,18 @@ if conf.has('WITH_CH') ], } =20 + ch_conf =3D files('ch.conf') + virt_conf_files +=3D ch_conf + virt_aug_files +=3D files('libvirtd_ch.aug') + virt_test_aug_files +=3D { + 'name': 'test_libvirtd_ch.aug', + 'aug': files('test_libvirtd_ch.aug.in'), + 'conf': ch_conf, + 'test_name': 'libvirtd_ch', + 'test_srcdir': meson.current_source_dir(), + 'test_builddir': meson.current_build_dir(), + } + virt_install_dirs +=3D [ localstatedir / 'lib' / 'libvirt' / 'ch', localstatedir / 'log' / 'libvirt' / 'ch', diff --git a/src/ch/test_libvirtd_ch.aug.in b/src/ch/test_libvirtd_ch.aug.in new file mode 100644 index 0000000000..bddec24b88 --- /dev/null +++ b/src/ch/test_libvirtd_ch.aug.in @@ -0,0 +1,5 @@ +module Test_libvirtd_ch =3D + @CONFIG@ + + test Libvirtd_ch.lns get conf =3D +{ "log_level" =3D "0" } --=20 2.49.0 From nobody Tue Sep 9 19:05:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=cyberus-technology.de Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1748333555835720.515797875141; Tue, 27 May 2025 01:12:35 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id E9F6D966; Tue, 27 May 2025 04:12:34 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 2F558C7A; Tue, 27 May 2025 04:11:01 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 6EE151399; Tue, 27 May 2025 04:10:52 -0400 (EDT) Received: from BEUP281CU002.outbound.protection.outlook.com (mail-germanynorthazon11020076.outbound.protection.outlook.com [52.101.169.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id DACB6138E for ; Tue, 27 May 2025 04:10:51 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by FR2P281MB2490.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:63::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.27; Tue, 27 May 2025 08:10:45 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%4]) with mapi id 15.20.8769.025; Tue, 27 May 2025 08:10:45 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=STJLT/XXKxc5/81lqMwy/Pby9rspEU+zGq0n2zzsnXKEIUJsH4SDuWttUqBXUREIfoTYRiKVCuKDAjTI1FVxCCNdjGalYfi8fVM/KmDmVfNlQUi9eSYAWvzlOylvORmPXXbM2dvpBkC959YmzRgog6yUI9jtnD6Z7RhvYF5rOS+tdWt0cIKeJqxHKWzZkg3jKQa1PU/+P7h8wMH5+h6lrRzb+RoEpiQqe334+Wkd57+CP45lN+71XfeWqSJgoPIWNIQ5TZ9xKr48JlIYRSVP7d1W7+1Pj0L65kMy0Fk8cgx4gFuqaecjZGu9WX1eQGHqRMxud9IkXPM7T4jCAew3QQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=iq7BLNOXQWpvDcFZfan38TFl81BnI/5HHEdRnZhOwYE=; b=fxoKafK5c3P4Q6qt8V49YYtj1erGlbmIKjIorKJY0nFPpQtkheY3TUlki6rVFtgYvJGrH0gWsyvG3OTdCzFLpTwIVkBbM5x/saSnrhZQD+MNG+GYpPo1o98pxtzppZ3M+fhct9GvlpH8FHhrG9hTqMPasKfOB1tX9KoH81BLise/iEHMWXxvK632pwHWLAhTXeAljBXTXcP4uhG2gSSwR3GIQtGiRweIJioH7dgRJUQhGZKLXjAp0skyzO9XJnoIh3PFc+H5bKcUDWOv/2MjFyXJfQfrBim8hbFnlk1kypD09xYJ9bC59UopLnZQT++o8TSG5K9pA+rPc3XvxiYC8Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iq7BLNOXQWpvDcFZfan38TFl81BnI/5HHEdRnZhOwYE=; b=T9duZ+vBCmUTJe2mQamwz0QWP16945togn6PjD3LKMWfY+2L6JWIGRX4Vwu4R+njuqYKduPS7nOnB7KX0tN77cL9MWZe8MsXEv9/Ht9fR1g3Crc1YFX+8uKLQCp92FHx7wjhD4F/IpilHZTiGAYs4g2uBgRxOogzVI4X6AuWDy1xCXBveCAV/Dn/gJ/HauKTm7FtP8b7Sl+DN47lRrMEgQwyR3tskz9FoNkUZH1jNp9Bcw+V+1KwtvJVAOVtczdwaupyM0WB/RXHtWHywRneV9oJKRGtv17Us6dasqU9QlZBGX6VE8ckLWqARZnUdDn2xyGE2lo+mPATSySzBEvStA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v2 3/3] NEWS: ch: announce log_level config option Date: Tue, 27 May 2025 10:10:34 +0200 Message-ID: <20250527081034.255383-4-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250527081034.255383-1-stefan.kober@cyberus-technology.de> References: <20250527081034.255383-1-stefan.kober@cyberus-technology.de> X-ClientProxiedBy: FR3P281CA0009.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::8) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|FR2P281MB2490:EE_ X-MS-Office365-Filtering-Correlation-Id: c82906b1-fa37-4dc4-bd36-08dd9cf5fb19 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|10070799003|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?l0oCxrR6ltOynaYf1qLh2KOE5x1NELHVAhAE0EQy02wUxvAEGLDCb+iEvi0W?= =?us-ascii?Q?KVkvb5LFsjqRE06pUue2/sJTzoQb6sj5UBv9MKIgTMdft/Ha3/iuNwRZWauJ?= =?us-ascii?Q?/ovopbtUZV+qbhDbZJrKKVmw6D/6alAVV7P99zjYO9gCg08BENbubRH7ULti?= =?us-ascii?Q?ZpVobIJ45Djz7SWuD6nAHZQo116sqsGtFPYVa2Aqv7cSyJNLInUKnUwUEgdG?= =?us-ascii?Q?ll6uhcgEcENuoIK+QStQEu7Y5uuAGaGZ7QBR3g+AJWud00OS0rz/lS+Q+5HX?= =?us-ascii?Q?4oifFIcf/LhjdW7loAeAjrHbzaNITNvDs3T3js3xCkGF6/dG1C5gFMrgrhuW?= =?us-ascii?Q?PKODV6F+XBL3DVCvFJYm1ZA3Gc4N41SOeo0j08vXGRz1Wywy4pnHQ2O+iSzM?= =?us-ascii?Q?dEE7NUW+ZAGRyA2rUOpF+WpzJBN+rkdm/jFY7aXlke9Pua/f0Amlhcf5OMc8?= =?us-ascii?Q?WkUlrpkOxZl60/587e41YvSdg7A3uc/AxxteyZlb2WAvuqv9El3PXBnGuYrw?= =?us-ascii?Q?hfCjcPUNbE7vhUNqIkCRxwZ/n4G/gt6KjgURRWv7vNTMJLi8vhB5AsEeY7Pp?= =?us-ascii?Q?NegTPVRa5ZsDaXNsPI578vI59X6hfgnmaI/HzMyQc+w+1HA3vexTgcUxe9XQ?= =?us-ascii?Q?bbIAhR2ofT4JTyxBkQc4voL/861JAiXYmvgmY5mn4BBMVVqXHsTpH97VG+5Q?= =?us-ascii?Q?yDx5qmTKQ9EssR73oeuoGyMXpcPtTfHCO6mcFhtUho52h8Hpk527MiW265Do?= =?us-ascii?Q?Zy1VYPjToM20MtHJDDswiWr7DU0A4dFChdnNBUdocLb3P4a6HPNBgEVb1qRW?= =?us-ascii?Q?wg+Ft3V3r6LxhUMfM5D1vUs4PJAp0cxwRDhF3CtXWm9bMTySBje6nLdcrcMQ?= =?us-ascii?Q?3X7grg8Hx2D3JlYvcBvanZcHMvz8Bo4KzgyEvT8J6onqxXZkvzrCBn0MDfIR?= =?us-ascii?Q?HF/KRzrL4Wx06FTa/LTAHSz9B5amNG8zCwlsneDRfQGXs3SeIvTpcsFoWGK5?= =?us-ascii?Q?GbMhaEGOmEMMs+sobB8VxGfo1p0biqccqxhDvtE5oi5GCHZDpyVqs2jugZvP?= =?us-ascii?Q?tsYeW5GN58Rha7+VlSF2/d6FXxBh+5ALjYnA9EaRP6NA9c4eqenjkvcFrelf?= =?us-ascii?Q?/fdQ3JJKVBEOeBPZurAIpJYAMHDBb7kUdqBLremjGWrpDk1ddyPGpIjIVSQb?= =?us-ascii?Q?HK9LuOVwBN6VU7UpqT8UVmDPePdKrwSGsV7nTPALXfik0xF/TBc+XcZRzPUn?= =?us-ascii?Q?mW6V/t9bezP4e5X/7bLiTlLeoOZN9E5X5h26fAlK6tgQI/JztwNU5lYXxm3W?= =?us-ascii?Q?w3U6u9alZnZeXGaHmAgEo2BbKLf40GZxI3GPrxV1OcaWobYnmpI162xf+waV?= =?us-ascii?Q?gXCXfu1tTTt0PctyC2fGlDnWV2FDXSHjG5kFFBo9/I+8mZApXaIMkWjopFKk?= =?us-ascii?Q?fSZ7r088UlE=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(10070799003)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ayWlQ+QsesstNDr99o+iWGAI0q+3GEq+eETiDY0zxk6qvPLGrYcGJqT/K32Z?= =?us-ascii?Q?Hn+amBHbQVnm+R6UeoMrKziATFz9R3//P5XEUtKSTuJ/yWPQ+7ffzBaRT3Zy?= =?us-ascii?Q?QoBqjkIU6ZusLweiZgkSVKEkqcNzosDVyThH0Qtf19BxuyyiSWSaSdN2byo7?= =?us-ascii?Q?JqplAfYVWGJ4qD/7PkijP5p1+MtlZYJY+LixAJ5kw+vFH8aznqmyLD63+zIE?= =?us-ascii?Q?T/Udgi3UYvxbzY/AvJB/jeZgaND2D3PsW6lhFbhif8JlolaL7hjgDt5ETOLF?= =?us-ascii?Q?Sn7dziSI7oDhLw0RHzB0qEa9WrNom3pX3rapv4XB2LH3zzAVsdSqpIr+F9/y?= =?us-ascii?Q?YVtbCi71kqEEa20op6fBY0tOZzPALrl/w04rMGA6gk2D6DDYQwklE+hPi3l0?= =?us-ascii?Q?tG9Xl3vp5eZdYMyhle583RAkgTDGcmVxDDb/ygr44y4Yla9pk6RxLM3L/e4a?= =?us-ascii?Q?fyq6YNtJDPbwCM+xOSZ83p8ioaVUC2s0EJ5V7/6dlXo5cRV9NKgsyqfwgRt3?= =?us-ascii?Q?JHOSjLU5IPaqnD/H3zimi0utuj4aTSUHSfAArp7vRpRVyWsnDIGaYn/IMaus?= =?us-ascii?Q?1dne42OTgNLAYwqGJsN9R4ukk2TyxQ90beGWvXKqUDCAH22yHXYRF0Unm8eq?= =?us-ascii?Q?ttWox5evScn3+f7U3kXAjX7VqshLiqr1+SOO1gRWV/pBiv36QLiPcqsz9Jgi?= =?us-ascii?Q?NvoMqvfji7SnAdiaZZx9NHOCQJzF4zLsltKdNELrpHIEwzzkxDyyihIc/o1M?= =?us-ascii?Q?S+sX1uqA8+NxlRWckRN2U/Y0uuskpUdFnCA5PJyk9Z9nSWuMMCfVCF3dcOSu?= =?us-ascii?Q?VjS8DZ5yos53YXzV+xpBbXpJcpgec7ioC9xAEX5cX1Xz27WQ3LdwoDDM6SYT?= =?us-ascii?Q?WHXkJFdDTGbj6P5DnLwuouRHmM37Y2U6KvwaY7jzR3CZzbGUHzDDbTMn0ngI?= =?us-ascii?Q?Llc3UOEGNi9IxqCaozyTsBHZ6P+fkBc4WGSszbXeqFCvMNOTOW5tHLP1F9hk?= =?us-ascii?Q?I9DHneIhUnISiLr1Y5Z+4IuHyPxq4lZaVEtjD8tUcMKYApmAA4wtFtU09zeF?= =?us-ascii?Q?LicIznQ6l3AGvuSXZtf3WlcB2F6wQohg7sBraWMFKYj/qdhGVUgTRI/hnBmp?= =?us-ascii?Q?qy8fVgyLDw4xbPImYn1vJzYiT0LSWPrNgduGGYhhpecca08KBo1iOtlsOjFs?= =?us-ascii?Q?r+eWvgdUYHn+XZhJ3rcbqPScuW5QkMlyXsf8meYXYL/MDM6/ddhpifBhaf1J?= =?us-ascii?Q?y+TOonnEChhtplV+EWH2K1PvA88/ZyDKoLXYP+KUJlWhYB7kmWiWd1cNQeh1?= =?us-ascii?Q?K1t1tlVPGBoftZjcQEgpcAw/2odzLq/F/FJwOcX32IPDKJXTvguUfWmc6v9y?= =?us-ascii?Q?ep5Nd5aecKyBCY5+HBgLfVLoq6+AHM5SSO6bSJ6TpzyNVwR5kQolLusNnXUN?= =?us-ascii?Q?VK0f6+WZkBTKHo3l+kbK2suP014/2eRJl8h8CqSqLv6+rO5Z8mgaBrnzD+nk?= =?us-ascii?Q?vILlP2TusDZ4jHiNnJ90YQRQqht3ioczxlQ/GM/LSa3Z99oXCrpMSCLolgrS?= =?us-ascii?Q?sr0z8tKiNk5XVWpf6xJNlyZVfb46Xj9CbLVaobnum899pMZcUd4HmzffwhyP?= =?us-ascii?Q?z418XL1DAqTTnqbx5fyebT9KLG7YFN0oXoIfIb0jgTa5oRfESdr2qZHae0KB?= =?us-ascii?Q?0H52G83R6L7Q33eojE3bz5DJ9m8=3D?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: c82906b1-fa37-4dc4-bd36-08dd9cf5fb19 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 May 2025 08:10:45.4015 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hrZk9yl5WHSHwsmFKFioP1FB+y139RoJDYHvLJmz95duR1imYMJpSP46UQqCEUi02K8HOvsE4uBiebJ2FlUaJDVUhuI1+G3fBYVDFD+RIPPFWHvidJaxPOxi44sYtNkJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR2P281MB2490 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: JB6LXH3PCMFTQKBQJRIOIPCFHFQDVJAQ X-Message-ID-Hash: JB6LXH3PCMFTQKBQJRIOIPCFHFQDVJAQ X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Computed bodyhash is different from the expected one) X-ZM-MESSAGEID: 1748333557365116600 Content-Type: text/plain; charset="utf-8" --- NEWS.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/NEWS.rst b/NEWS.rst index 636fcbd573..cfeddd10df 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -17,6 +17,11 @@ v11.4.0 (unreleased) =20 * **New features** =20 + * Allow setting the log level of Cloud Hypervisor + + Users can now configure the verbosity of Cloud Hypervisor by setting + the "log_level" option in ch.conf + * **Improvements** =20 * virsh: Add option ``--no-pkttyagent`` --=20 2.49.0