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(a)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(a)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...
Thomas