public inbox for pve-devel@lists.proxmox.com
 help / color / mirror / Atom feed
From: Fiona Ebner <f.ebner@proxmox.com>
To: Arthur Bied-Charreton <a.bied-charreton@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:28:46 +0100	[thread overview]
Message-ID: <21976f11-3da8-4e35-9586-a20bdcdf7a19@proxmox.com> (raw)
In-Reply-To: <t73ko3ejcbmkjo2euqinmbwxdo4vm77sll5dmfxjjegp3xpwig@quicdzqjb5tu>

Am 27.03.26 um 2:06 PM schrieb Arthur Bied-Charreton:
> 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? 

I think we can still show them and don't need to filter them out. In
particular, not having the 'supported-on' for those flags can also lead
to confusion, as can (artificially) hiding them from users. I don't see
why we should force people to use the abstract 'nested-virt'. It can be
convenient for mixed-CPU-vendor clusters, and having the flag be part of
the VM-specific ones was the main motivation to add it.




      reply	other threads:[~2026-03-27 13:28 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
2026-03-27 13:28     ` Fiona Ebner [this message]

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=21976f11-3da8-4e35-9586-a20bdcdf7a19@proxmox.com \
    --to=f.ebner@proxmox.com \
    --cc=a.bied-charreton@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