57df0dff1a
New option parameters unstable-input and unstable-output set policy for unstable interfaces just like deprecated-input and deprecated-output set policy for deprecated interfaces (see commit 6dd75472d5 "qemu-options: New -compat to set policy for deprecated interfaces"). This is intended for testing users of the management interfaces. It is experimental. For now, this covers only syntactic aspects of QMP, i.e. stuff tagged with feature 'unstable'. We may want to extend it to cover semantic aspects, or the command line. Note that there is no good way for management application to detect presence of these new option parameters: they are 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> Acked-by: John Snow <jsnow@redhat.com> Message-Id: <20211028102520.747396-10-armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> [Doc comments fixed up]
62 lines
1.6 KiB
Python
62 lines
1.6 KiB
Python
# -*- Mode: Python -*-
|
|
|
|
##
|
|
# = Compatibility policy
|
|
##
|
|
|
|
##
|
|
# @CompatPolicyInput:
|
|
#
|
|
# Policy for handling "funny" input.
|
|
#
|
|
# @accept: Accept silently
|
|
# @reject: Reject with an error
|
|
# @crash: abort() the process
|
|
#
|
|
# Since: 6.0
|
|
##
|
|
{ 'enum': 'CompatPolicyInput',
|
|
'data': [ 'accept', 'reject', 'crash' ] }
|
|
|
|
##
|
|
# @CompatPolicyOutput:
|
|
#
|
|
# Policy for handling "funny" output.
|
|
#
|
|
# @accept: Pass on unchanged
|
|
# @hide: Filter out
|
|
#
|
|
# Since: 6.0
|
|
##
|
|
{ '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.
|
|
#
|
|
# Limitation: deprecated-output policy @hide is not implemented for
|
|
# enumeration values. They behave the same as with policy @accept.
|
|
#
|
|
# @deprecated-input: how to handle deprecated input (default 'accept')
|
|
# @deprecated-output: how to handle deprecated output (default 'accept')
|
|
# @unstable-input: how to handle unstable input (default 'accept')
|
|
# (since 6.2)
|
|
# @unstable-output: how to handle unstable output (default 'accept')
|
|
# (since 6.2)
|
|
#
|
|
# Since: 6.0
|
|
##
|
|
{ 'struct': 'CompatPolicy',
|
|
'data': { '*deprecated-input': 'CompatPolicyInput',
|
|
'*deprecated-output': 'CompatPolicyOutput',
|
|
'*unstable-input': 'CompatPolicyInput',
|
|
'*unstable-output': 'CompatPolicyOutput' } }
|