[libvirt] [PATCH 2/2] qemu: don't update cpu unconditionally for migratable flag

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Fri Sep 22 06:18:45 UTC 2017



On 21.09.2017 18:50, Peter Krempa wrote:
> On Thu, Sep 21, 2017 at 17:32:33 +0300, Nikolay Shirokovskiy wrote:
>>
>>
>> On 21.09.2017 17:24, Jiri Denemark wrote:
>>> On Thu, Sep 21, 2017 at 16:39:39 +0300, Nikolay Shirokovskiy wrote:
>>>> Imagine if we use 'virsh dumpxml --migratable' for offline domain
>>>> to get config to tweak before migration. Currenly cpu section will
>>>> be expanded, host-cpu mode turns into custom and migration fails
>>>> because of ABI check.
>>>>
>>>> Looks like ABI check does not make much sence for offline migration
>>>> but we don't want host-cpu mode to turn into custom in the first place.
>>>> Using --migratable is reasonable in this case because this flags
>>>> makes changes for inactive configs too like removing automatically
>>>> added parts that old versions can not handle.
>>>>
>>>> I suggest not to update cpu for inactive configs. This appoach is
>>>> coherent with the way migration works for inactive configs in case
>>>> it is not specified externally to migration: function qemuMigrationCookieXMLFormat
>>>> don't expand cpu too.
>>>>
>>>> Adding flag for active configs is useless because qemuDomainFormatXML
>>>> will clear it in this case.
>>>
>>> Not anymore, see commit v3.7.0-151-g06f75ff2cb.
>>
>> Is g06f75ff2cb commit in public libvirt tree? I can't see it even on https://libvirt.org/git/?p=libvirt.git;a=summary.
> 
> Note that 'g' isn't really a hex digit as it's usual in commit hashes.
> That's a tricky part of the git describe string.
> 
> https://libvirt.org/git/?p=libvirt.git;a=commit;h=06f75ff2cb
> 
> 
> commit 06f75ff2cb292e2658b4f2f6949c700550006272
> Author:     Jiri Denemark <jdenemar at redhat.com>
> AuthorDate: Fri Jun 30 16:55:20 2017 +0200
> Commit:     Jiri Denemark <jdenemar at redhat.com>
> CommitDate: Thu Sep 21 15:27:39 2017 +0200
> 
>     qemu: Don't update CPU when formatting live def
>     
>     Since commit v2.2.0-199-g7ce711a30e libvirt stores an updated guest CPU
>     in domain's live definition and there's no need to update it every time
>     we want to format the definition. The commit itself tried to address
>     this in qemuDomainFormatXML, but forgot to fix qemuDomainDefFormatLive.
>     Not to mention that masking a previously set flag is only acceptable if
>     the flag was set by a public API user. Internally, libvirt should have
>     never set the flag in the first place.
>     
>     https://bugzilla.redhat.com/show_bug.cgi?id=1485022
>     
>     Signed-off-by: Jiri Denemark <jdenemar at redhat.com>
> 

I see, thanx!




More information about the libvir-list mailing list