Eric Blake <[email protected]> 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 <[email protected]> >> Reviewed-by: Eric Blake <[email protected]> >> --- > >> +++ 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!
