On 06/22/2018 09:30 AM, Daniel P. Berrangé wrote:
Perhaps we could use a more structured notification, to make detecting
use of deprecated features programmatically trivial.  A QMP event might
do.

Libvirt currently has CI that is largely focused on unit testing. We
recently did some work, however, to get our functional test suite
working properly again (Sys-Virt-TCK) and are trying to get some
new CI hardware. So if we get that running, we coud run tests on real
QEMU versions and check the /var/log/libvirt/qemu/$GUEST.logs to
make sure we're not triggering unexpected warnings from QEMU

This could be even easier if there was a --no-deprecations flag to
QEMU which triggered abort() whenever mgmt app uses a deprecated
feature.

Yes, a QMP event (which libvirt could then turn into a hard error if it ever receives the event) or a qemu command line option to make deprecated usage fatal (which libvirt would choose to enable) would both be pragmatic approaches to quickly vetting whether libvirt is using something that qemu has marked deprecated - provided that we are careful to always wire up the event/abort into qemu at each location where we also add a deprecation message. An event might be more flexible than qemu aborting (as libvirt could make programmatic decisions on whether to keep going in spite of the event, rather than the guest unconditionally being lost).

--
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Reply via email to