public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Arthur Bied-Charreton <a.bied-charreton@proxmox.com>
To: Fiona Ebner <f.ebner@proxmox.com>
Cc: pve-devel@lists.proxmox.com
Subject: Re: [PATCH manager/qemu-server 0/8] Add API and UI for custom CPU models
Date: Fri, 27 Mar 2026 14:07:32 +0100	[thread overview]
Message-ID: <t73ko3ejcbmkjo2euqinmbwxdo4vm77sll5dmfxjjegp3xpwig@quicdzqjb5tu> (raw)
In-Reply-To: <6a0a3489-d0c5-4995-9ca8-caa19260d619@proxmox.com>

On Thu, Mar 26, 2026 at 03:54:53PM +0100, Fiona Ebner wrote:
> Am 12.03.26 um 9:40 AM schrieb Arthur Bied-Charreton:
> > This is picked up from an old series [0] by Stefan Reiter.
> > 
> > As of before this series, the only way to create custom CPU models is by
> > editing `/etc/pve/virtual-guest/cpu-models.conf` manually.
> > 
> > This can be cumbersome for a few reasons, e.g., due to the fact that flags
> > misconfigurations are only caught when starting the VM.
> > 
> > `cpu-flags` endpoint:
> > The `cpu-flags` endpoint previously returned a list of hardcoded flags,
> > which is both non-exhaustive (some flags I should be able to set are missing),
> > and partly incorrect (some flags my host(s) do not support set are returned).
> > This is limiting and can lead to misconfigurations. The updated endpoint
> > intersects all flags QEMU accepts as `-cpu` arguments with all flags the host
> > hardware/emulation actually supports. This way, if I am able to set a flag in
> > the UI, I can be confident that the VM will actually be able to start.
> > 
> > Custom CPU model CRUD functionality:
> > Expose CRUD endpoints and UI flow to interact with `cpu-models.conf`. For each
> > flag, show a list of the cluster nodes supporting it, and only expose flags that
> > at least one node supports to avoid misconfigurations. Filter flags by
> > acceleration type (KVM/TCG).
> > 
> > [0] https://lore.proxmox.com/pve-devel/20211028114150.3245864-1-s.reiter@proxmox.com/
> 
> With a pre-existing, manually added model:
> 
> [I] root@pve9a1 ~# cat /etc/pve/virtual-guest/cpu-models.conf
> cpu-model: nested-for-wsl
> 	flags +svm
> 	hidden 1
> 	hv-vendor-id AuthenticAMD
> 	reported-model EPYC
> 
> When opening it up in the UI, the editor seems to immediately detect a
> change, i.e. the OK button is clickable and when I click it, I get the
> following error:
> 
> Parameter verification failed. (400)
> flags: value does not match the regex pattern
> 
Thanks a lot for catching that!

> It seems to be because of the 'svm' flag not being in the flags grid.
Yes, just confirmed that.
> Since users might've already added such models manually, it would be
> nice if it would work. Maybe list the unknown flags in the grid without
> description?
Yes, I will display unknown flags in the grid with empty supported-on
fields. 

On this topic: I currently manually filter out occurrences of svm/vmx to 
replace them with nested-virt. Would it make sense to still display them
in the flags selector, even if they overlap with our abstraction? 




  reply	other threads:[~2026-03-27 13:07 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-12  8:40 Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH pve-manager 1/8] ui: VMCPUFlagSelector: Fix unknownFlags behaviour Arthur Bied-Charreton
2026-03-25 15:57   ` Fiona Ebner
2026-03-26 13:47     ` Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH pve-manager 2/8] ui: CPUModelSelector: Fix dirty state on default Arthur Bied-Charreton
2026-03-26  9:53   ` Fiona Ebner
2026-03-26 14:14     ` Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH pve-manager 3/8] ui: CPUModelSelector: Allow filtering out custom models Arthur Bied-Charreton
2026-03-26  9:59   ` Fiona Ebner
2026-03-26 14:17     ` Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH pve-manager 4/8] ui: Add basic custom CPU model editor Arthur Bied-Charreton
2026-03-26 15:10   ` Fiona Ebner
2026-03-27  9:23     ` Arthur Bied-Charreton
2026-03-27  9:32       ` Fiona Ebner
2026-03-27  9:34         ` Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH pve-manager 5/8] ui: Add CPU flag editor for custom models Arthur Bied-Charreton
2026-03-26 15:22   ` Fiona Ebner
2026-03-27  9:34     ` Arthur Bied-Charreton
2026-03-26 15:40   ` Maximiliano Sandoval
2026-03-27  7:48     ` Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH qemu-server 6/8] qemu: Add helpers for new custom models endpoints Arthur Bied-Charreton
2026-03-20 17:20   ` Fiona Ebner
2026-03-23  6:56     ` Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH qemu-server 7/8] api: qemu: Extend cpu-flags endpoint to return actually supported flags Arthur Bied-Charreton
2026-03-20 17:20   ` Fiona Ebner
2026-03-23  7:25     ` Arthur Bied-Charreton
2026-03-12  8:40 ` [PATCH qemu-server 8/8] api: qemu: Add CRUD handlers for custom CPU models Arthur Bied-Charreton
2026-03-23 14:46   ` Fiona Ebner
2026-03-23 16:04     ` Arthur Bied-Charreton
2026-03-23 16:10       ` Arthur Bied-Charreton
2026-03-24  9:27         ` Fiona Ebner
2026-03-26 14:54 ` [PATCH manager/qemu-server 0/8] Add API and UI " Fiona Ebner
2026-03-27 13:07   ` Arthur Bied-Charreton [this message]
2026-03-27 13:28     ` Fiona Ebner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=t73ko3ejcbmkjo2euqinmbwxdo4vm77sll5dmfxjjegp3xpwig@quicdzqjb5tu \
    --to=a.bied-charreton@proxmox.com \
    --cc=f.ebner@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal