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

Peter Krempa pkrempa at redhat.com
Thu Sep 21 15:50:40 UTC 2017


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>

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170921/456d21dd/attachment-0001.sig>


More information about the libvir-list mailing list