[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 01/10] qemu-options: New -compat to set policy for depreca
From: |
Markus Armbruster |
Subject: |
Re: [PATCH v6 01/10] qemu-options: New -compat to set policy for deprecated interfaces |
Date: |
Mon, 15 Mar 2021 17:29:45 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Eric Blake <eblake@redhat.com> writes:
> On 3/12/21 9:32 AM, Markus Armbruster wrote:
>> New option -compat lets you configure what to do when deprecated
>> interfaces get used. This is intended for testing users of the
>> management interfaces. It is experimental.
>>
>> -compat deprecated-input=<input-policy> configures what to do when
>> deprecated input is received. Input policy can be "accept" (accept
>> silently), or "reject" (reject the request with an error).
>>
>> -compat deprecated-output=<out-policy> configures what to do when
>> deprecated output is sent. Output policy can be "accept" (pass on
>> unchanged), or "hide" (filter out the deprecated parts).
>>
>> Default is "accept". Policies other than "accept" are implemented
>> later in this series.
>>
>> For now, -compat covers only syntactic aspects of QMP, i.e. stuff
>> tagged with feature 'deprecated'. We may want to extend it to cover
>> semantic aspects, CLI, and experimental features.
>>
>> Note that there is no good way for management application to detect
>> presence of -compat: it's not visible output of query-qmp-schema or
>> query-command-line-options. Tolerable, because it's meant for
>> testing. If running with -compat fails, skip the test.
>>
>> Signed-off-by: Markus Armbruster <armbru@redhat.com>
>> Reviewed-by: Eric Blake <eblake@redhat.com>
>> ---
>
>> +++ b/qapi/compat.json
>> @@ -0,0 +1,51 @@
>> +# -*- Mode: Python -*-
>> +
>> +##
>> +# = Compatibility policy
>> +##
>> +
>> +##
>> +# @CompatPolicyInput:
>> +#
>> +# Policy for handling "funny" input.
>> +#
>> +# @accept: Accept silently
>> +# @reject: Reject with an error
>> +#
>> +# Since: 5.2
>
> 6.0
>
>> +##
>> +{ 'enum': 'CompatPolicyInput',
>> + 'data': [ 'accept', 'reject' ] }
>> +
>> +##
>> +# @CompatPolicyOutput:
>> +#
>> +# Policy for handling "funny" output.
>> +#
>> +# @accept: Pass on unchanged
>> +# @hide: Filter out
>> +#
>> +# Since: 5.2
>
> and here
>
>> +##
>> +{ 'enum': 'CompatPolicyOutput',
>> + 'data': [ 'accept', 'hide' ] }
>> +
>> +##
>> +# @CompatPolicy:
>> +#
>> +# Policy for handling deprecated management interfaces.
>> +#
>> +# This is intended for testing users of the management interfaces.
>> +#
>> +# Limitation: covers only syntactic aspects of QMP, i.e. stuff tagged
>> +# with feature 'deprecated'. We may want to extend it to cover
>> +# semantic aspects, CLI, and experimental features.
>> +#
>> +# @deprecated-input: how to handle deprecated input (default 'accept')
>> +# @deprecated-output: how to handle deprecated output (default 'accept')
>> +#
>> +# Since: 5.2
>
> and here
>
>> +##
>> +{ 'struct': 'CompatPolicy',
>> + 'data': { '*deprecated-input': 'CompatPolicyInput',
>> + '*deprecated-output': 'CompatPolicyOutput' } }
>> diff --git a/qapi/qapi-schema.json b/qapi/qapi-schema.json
>> index 3441c9a9ae..4912b9744e 100644
>
> R-b still stands once you make the necessary tweaks.
I thought I had updated these... Thanks for catching my mistake!
- [PATCH v6 00/10] Configurable policy for handling deprecated interfaces, Markus Armbruster, 2021/03/12
- [PATCH v6 01/10] qemu-options: New -compat to set policy for deprecated interfaces, Markus Armbruster, 2021/03/12
- [PATCH v6 04/10] qapi: Implement deprecated-output=hide for QMP event data, Markus Armbruster, 2021/03/12
- [PATCH v6 08/10] qapi: Implement deprecated-input=reject for QMP commands, Markus Armbruster, 2021/03/12
- [PATCH v6 02/10] qapi: Implement deprecated-output=hide for QMP command results, Markus Armbruster, 2021/03/12
- [PATCH v6 07/10] test-util-sockets: Add stub for monitor_set_cur(), Markus Armbruster, 2021/03/12
- [PATCH v6 05/10] monitor: Drop query-qmp-schema 'gen': false hack, Markus Armbruster, 2021/03/12