[RFC PATCH 2/3] qemu: conf: Add 'deprecated_debug' setting to qemu.conf
Daniel P. Berrangé
berrange at redhat.com
Thu Apr 30 14:27:58 UTC 2020
On Thu, Apr 30, 2020 at 04:13:43PM +0200, Peter Krempa wrote:
> New QEMU supports an harsh, but hard to ignore way to notify that the
> QMP user used an deprecated command. This is useful e.g. for developers
> to see that something needs to be fixed.
>
> This patch introduces a qemu.conf option to enable the setting in cases
> when qemu supports it so that developers and continiuous integration
> efforts are notified about use of deprecated fields while it's not late.
> ---
> src/qemu/libvirtd_qemu.aug | 1 +
> src/qemu/qemu.conf | 11 +++++++++++
> src/qemu/qemu_conf.c | 2 ++
> src/qemu/qemu_conf.h | 2 ++
> src/qemu/test_libvirtd_qemu.aug.in | 1 +
> 5 files changed, 17 insertions(+)
>
> diff --git a/src/qemu/libvirtd_qemu.aug b/src/qemu/libvirtd_qemu.aug
> index 404498b611..4cf700346f 100644
> --- a/src/qemu/libvirtd_qemu.aug
> +++ b/src/qemu/libvirtd_qemu.aug
> @@ -118,6 +118,7 @@ module Libvirtd_qemu =
>
> let debug_level_entry = int_entry "gluster_debug_level"
> | bool_entry "virtiofsd_debug"
> + | bool_entry "deprecated_debug"
>
> let memory_entry = str_entry "memory_backing_dir"
>
> diff --git a/src/qemu/qemu.conf b/src/qemu/qemu.conf
> index abdbf07fec..558731da0f 100644
> --- a/src/qemu/qemu.conf
> +++ b/src/qemu/qemu.conf
> @@ -852,3 +852,14 @@
> # may change across versions.
> #
> #capability_filters = [ "capname" ]
> +
> +# 'deprecated_debug' setting controls whether qemu should be instructed to crash
> +# when libvirt uses deprecated commands or arguments and at the same time to
> +# stop including deprecated fields in replies. This setting is meant for
> +# developers and continious-integration efforts to make it obvious when
> +# we rely on features which may go away. In cases when qemu doesn't support
> +# dealing with deprecated fields the setting is ignored.
> +#
> +# DO NOT use in production.
> +#
> +#deprecated_debug = 1
Calling it "debug" when the result is to "crash" is a bit misleading !
I think this behaviour is a bit too harsh. As a developer I would be
happy to enable an option in my qemu.conf to causes log messages to
printed to stderr for all my dev servers & VMs, or gracefully rejects
a QMP command with an error. I'm very unlikely to ever enable an
option that is going to hard crash my VMs, because that risks data
loss to me.
So I think we ought to make this a tri-state like
"qemu_deprecations = ignore|error|crash"
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list