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