[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