
On Fri, 2018-10-05 at 09:54 +0100, Daniel P. Berrangé wrote:
On Fri, Oct 05, 2018 at 10:34:33AM +0200, Jiri Denemark wrote:
But what if QEMU (or any other hypervisor) marks something (device model, machine type) as deprecated and we use that deprecated value as our default. Shouldn't we be able to tell about it to our users (here runtime warnings could help) when they use such thing explicitly and choose a different default value? That would help users with the transition and once hypervisor drops support for it completely, fewer existing domains will be affected since the recently created ones would already use non-deprecated defaults.
QEMU already emits warnings on stderr whenever something that is deprecated is used, and those end up in the libvirt log file for that guest. I don't think that we need to duplicate what QEMU is already reporting again.
Warnings printed on stderr -> users and developers will actually see them, be annoyed by them, eventually cave in and act upon them. Warnings written to a log -> nobody will notice them, until one day things suddenly stop working apparently out of the blue. We might pretend that's not the case, but really, it is.
So taking "q35" as an example, if QEMU marks i440fx machine types as deprecated (they seem to be thinking about it) I don't see that big difference[*] in changing the default machine type to "q35". After all we will automatically change the default once i440fx is removed completely.
There's no active plans to deprecate or remove i440fx upstream in QEMU. If a downstream did remove it, then clearly that'll impose some level of pain on applications.
While i440fx itself has not been deprecated and might possibly never be, other machine types (x86's pc-0.10 and pc-0.11, ppc's prep) are in fact already marked as deprecated and will eventually be dropped entirely from QEMU. -- Andrea Bolognani / Red Hat / Virtualization