
Thomas Huth <thuth@redhat.com> writes:
On 10.07.2018 17:24, Peter Krempa wrote:
On Tue, Jul 10, 2018 at 17:01:22 +0200, Cornelia Huck wrote:
On Tue, 10 Jul 2018 16:39:31 +0200 Peter Krempa <pkrempa@redhat.com> wrote:
On Tue, Jul 10, 2018 at 16:22:08 +0200, Cornelia Huck wrote:
On Tue, 10 Jul 2018 07:59:15 +0200 Markus Armbruster <armbru@redhat.com> wrote:
[...]
"ERROR: 'old_option' is deprecated and will be removed; use 'modern_option' instead"
and do an exit(1).
Would that be workable?
For delivering the warnings via monitor you'll need a store that will collect all the warnings and prepare them for delivery. You've got basically two options:
1) monitor command to poll for deprecated options 2) event with deprecated options
Both require storing them since libvirt connects to the monitor only after the command line is processed.
Warnings printed to stderr are nearly useless because until something breaks nobody bothers to read the log files.
So, from that I gather that a hard failure would be the easiest for libvirt to detect (and everything else would become complicated really quickly), right?
People start complaining only when stuff breaks. If anything is optional people will usually not enable it. That makes any non-mandatory option not work in most cases.
So would it help if we "invert" the logic, i.e. deprecated_report() would do exit(1) by default? Then, if the (human) users still want to continue with the deprecated option, they have to add a "--ignore-deprecation" command line switch to make QEMU start successfully...
You owe the God of Backward Compatibility one rubber chicken for thinking this heretic thought!