[pve-devel] [PATCH v7 qemu-server 10/10] Include "-cpu" parameter with snapshots/suspend

Thomas Lamprecht t.lamprecht at proxmox.com
Mon Jan 27 11:22:04 CET 2020


On 1/27/20 10:52 AM, Stefan Reiter wrote:
> On 1/27/20 9:54 AM, Thomas Lamprecht wrote:
>> On 1/16/20 4:40 PM, Stefan Reiter wrote:
>>> Just like with live-migration, custom CPU models might change after a
>>> snapshot has been taken (or a VM suspended), which would lead to a
>>> different QEMU invocation on rollback/resume.
>>>
>>> Save the "-cpu" argument as a new "runningcpu" option into the VM conf
>>> akin to "runningmachine" and use as override during rollback/resume.
>>>
>>> No functional change with non-custom CPU types intended.
>>
>> few general things:
>>
>> 1. wouldn't this belong before or in patch 03/10 to avoid temporary
>>     breakage possibility? I mean a user has to actively enable it so
>>     it could be OK, but still.
> 
> Rebasing 09/10 & 10/10 after 04/10 is the earliest it works without (trivial, but still) conflicts, but that should be fine as well (since only 06/10 allows a user to actually choose a custom CPU for a VM). So yes, I agree it makes sense to do that.
> 
>>
>> 2. Doesn't this need a bump of the perversion for the machine? Else
>>     this fails on migration with due to the new option, which could
>>     be confusing/seem like a bug. Maybe only allow/add the whole custom
>>     thing with a bumped machine version?
>>
> 
> The only issue I see is with taking a snapshot and trying to restore on an older version? What scenario did you come up with where it breaks?

Snapshot and migration to older qemu-sever. Guarding with the PVE machine version
would give the user a clear error.

> 
> 
> Slightly off-topic, but relevant: should it be possible to run newer +pveX machine types on older qemu-server versions? I.e. we currently check for QEMU version ("Installed QEMU version FOO is too old to run machine type BAR ..."), but accept a newer pveversion, say 'pc-q35-4.1+pve42', without warning/error.

No. That would defeat the purpose of that and introduce again possibility for
live migration breakage.





More information about the pve-devel mailing list