On Tue, 2017-03-07 at 09:19 +0100, Pavel Hrdina wrote:
> However, after migration is complete, the <controller>
> element has model='nec-xhci' instead of model='pci-ohci',
> which means that power cycling the guest results in
> breaking the guest ABI.
I'm not so sure that this is an ABI change. The guest ABI is to ensure
that the same guest XML will always start the same QEMU guest. However
the PERSISTENT migration can make ABI changes because it is the same as
virsh dumpxml $domain > $domain.xml && copy the XML onto remote host
and virsh define $domain.xml. This would also change the *model*.
If this would be considered to be guest ABI stable it would mean that
other changes done by using this flag would be wrong because they also
modifies the persistent XML during migration.
I assume there are very good reasons for persistent
migration to behave differently, but as a user I find
it extremely surprising. Do you have any insight on the
rationale behind allowing ABI changes when performing
persistent migration?
The only other example I could find of ABI update being
used is in virDomainDefPostParseMemory(), and AFAIU adding
or removing memory from a guest is not an ABI change. Did
I miss other uses?
--
Andrea Bolognani / Red Hat / Virtualization