This struct will be used to represent support and deprecation
status of QEMU features.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
qapi/common.json | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
diff --git a/qapi/common.json b/qapi/common.json
index 99d313ef3b..b59d0dc66b 100644
--- a/qapi/common.json
+++ b/qapi/common.json
@@ -193,3 +193,27 @@
'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
'x86_64', 'xtensa', 'xtensaeb' ] }
+
+##
+# @SupportStatusInfo:
+#
+# Information on support status of a given feature
+# (e.g. machine type)
+#
+# @deprecated: if true, the given feature is deprecated and may be removed
+# in future versions of QEMU according to the QEMU deprecation
+# policy.
+#
+# @status-message: Human readable message describing support status
+# of the feature.
+#
+# @suggested-alternative: Optional. Suggested alternative for a deprecated
+# feature. For machine types, this should be the name
+# of an available machine-type.
+#
+# Since: 4.1
+##
+{ 'struct': 'SupportStatusInfo',
+ 'data': { 'deprecated': 'bool',
+ '*status-message': 'str',
+ '*suggested-alternative': 'str' } }
--
2.18.0.rc1.1.g3f1ff2140
Hi Eduardo,
On 4/23/19 11:22 PM, Eduardo Habkost wrote:
> This struct will be used to represent support and deprecation
> status of QEMU features.
Excellent idea!
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> qapi/common.json | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/qapi/common.json b/qapi/common.json
> index 99d313ef3b..b59d0dc66b 100644
> --- a/qapi/common.json
> +++ b/qapi/common.json
> @@ -193,3 +193,27 @@
> 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
> 'x86_64', 'xtensa', 'xtensaeb' ] }
> +
> +##
> +# @SupportStatusInfo:
> +#
> +# Information on support status of a given feature
> +# (e.g. machine type)
Hopefully it is generic, we can use it for devices too.
> +#
> +# @deprecated: if true, the given feature is deprecated and may be removed
> +# in future versions of QEMU according to the QEMU deprecation
> +# policy.
> +#
> +# @status-message: Human readable message describing support status
> +# of the feature.
> +#
> +# @suggested-alternative: Optional. Suggested alternative for a deprecated
> +# feature. For machine types, this should be the name
> +# of an available machine-type.
> +#
> +# Since: 4.1
> +##
> +{ 'struct': 'SupportStatusInfo',
> + 'data': { 'deprecated': 'bool',
> + '*status-message': 'str',
This one shouldn't be optional IMHO, we should enforce developpers to
give a reason for their deprecation.
With this argument not optional:
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> + '*suggested-alternative': 'str' } }
>
On Wed, Apr 24, 2019 at 12:23:33AM +0200, Philippe Mathieu-Daudé wrote:
> Hi Eduardo,
>
> On 4/23/19 11:22 PM, Eduardo Habkost wrote:
> > This struct will be used to represent support and deprecation
> > status of QEMU features.
>
> Excellent idea!
>
> >
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> > qapi/common.json | 24 ++++++++++++++++++++++++
> > 1 file changed, 24 insertions(+)
> >
> > diff --git a/qapi/common.json b/qapi/common.json
> > index 99d313ef3b..b59d0dc66b 100644
> > --- a/qapi/common.json
> > +++ b/qapi/common.json
> > @@ -193,3 +193,27 @@
> > 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> > 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
> > 'x86_64', 'xtensa', 'xtensaeb' ] }
> > +
> > +##
> > +# @SupportStatusInfo:
> > +#
> > +# Information on support status of a given feature
> > +# (e.g. machine type)
>
> Hopefully it is generic, we can use it for devices too.
Yes, I want to keep it generic.
>
> > +#
> > +# @deprecated: if true, the given feature is deprecated and may be removed
> > +# in future versions of QEMU according to the QEMU deprecation
> > +# policy.
> > +#
> > +# @status-message: Human readable message describing support status
> > +# of the feature.
> > +#
> > +# @suggested-alternative: Optional. Suggested alternative for a deprecated
> > +# feature. For machine types, this should be the name
> > +# of an available machine-type.
> > +#
> > +# Since: 4.1
> > +##
> > +{ 'struct': 'SupportStatusInfo',
> > + 'data': { 'deprecated': 'bool',
> > + '*status-message': 'str',
>
> This one shouldn't be optional IMHO, we should enforce developpers to
> give a reason for their deprecation.
>
> With this argument not optional:
>
> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
I might agree with you if you show me what would be a good
"reason for deprecation" string for pc-0.15 and spapr. :)
The only information contained in these machines today is "use
another machine instead", and this is already encoded in the
suggested-alternative field.
--
Eduardo
On Tue, Apr 23, 2019 at 06:22:44PM -0300, Eduardo Habkost wrote:
> This struct will be used to represent support and deprecation
> status of QEMU features.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> qapi/common.json | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/qapi/common.json b/qapi/common.json
> index 99d313ef3b..b59d0dc66b 100644
> --- a/qapi/common.json
> +++ b/qapi/common.json
> @@ -193,3 +193,27 @@
> 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
> 'x86_64', 'xtensa', 'xtensaeb' ] }
> +
> +##
> +# @SupportStatusInfo:
> +#
> +# Information on support status of a given feature
> +# (e.g. machine type)
> +#
> +# @deprecated: if true, the given feature is deprecated and may be removed
> +# in future versions of QEMU according to the QEMU deprecation
> +# policy.
> +#
> +# @status-message: Human readable message describing support status
> +# of the feature.
> +#
> +# @suggested-alternative: Optional. Suggested alternative for a deprecated
> +# feature. For machine types, this should be the name
> +# of an available machine-type.
> +#
> +# Since: 4.1
> +##
> +{ 'struct': 'SupportStatusInfo',
> + 'data': { 'deprecated': 'bool',
> + '*status-message': 'str',
> + '*suggested-alternative': 'str' } }
I see status-message has to be optional, since you're embedding the
struct into another struct and want deprecated==false by default.
I'd be inclined to change it to embed a pointer to the struct and
drop the deprecated field, and make both status-message and
suggested-alternative be mandatory. ie a struct "DeprecationInfo"
the pointer to which is NULL if not deprecated.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On Wed, Apr 24, 2019 at 09:26:52AM +0100, Daniel P. Berrangé wrote:
> On Tue, Apr 23, 2019 at 06:22:44PM -0300, Eduardo Habkost wrote:
> > This struct will be used to represent support and deprecation
> > status of QEMU features.
> >
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> > qapi/common.json | 24 ++++++++++++++++++++++++
> > 1 file changed, 24 insertions(+)
> >
> > diff --git a/qapi/common.json b/qapi/common.json
> > index 99d313ef3b..b59d0dc66b 100644
> > --- a/qapi/common.json
> > +++ b/qapi/common.json
> > @@ -193,3 +193,27 @@
> > 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> > 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
> > 'x86_64', 'xtensa', 'xtensaeb' ] }
> > +
> > +##
> > +# @SupportStatusInfo:
> > +#
> > +# Information on support status of a given feature
> > +# (e.g. machine type)
> > +#
> > +# @deprecated: if true, the given feature is deprecated and may be removed
> > +# in future versions of QEMU according to the QEMU deprecation
> > +# policy.
> > +#
> > +# @status-message: Human readable message describing support status
> > +# of the feature.
> > +#
> > +# @suggested-alternative: Optional. Suggested alternative for a deprecated
> > +# feature. For machine types, this should be the name
> > +# of an available machine-type.
> > +#
> > +# Since: 4.1
> > +##
> > +{ 'struct': 'SupportStatusInfo',
> > + 'data': { 'deprecated': 'bool',
> > + '*status-message': 'str',
> > + '*suggested-alternative': 'str' } }
>
> I see status-message has to be optional, since you're embedding the
> struct into another struct and want deprecated==false by default.
>
> I'd be inclined to change it to embed a pointer to the struct and
> drop the deprecated field, and make both status-message and
> suggested-alternative be mandatory. ie a struct "DeprecationInfo"
> the pointer to which is NULL if not deprecated.
That could be a simple solution if we were sure we would only
track deprecation info. But I would like us to track additional
support status on that struct eventually.
Also, I'd like to explicitly differentiate "information is not
available because QEMU is old" from "information is available and
machine type is not deprecated".
--
Eduardo
On Wed, Apr 24, 2019 at 03:20:36PM -0300, Eduardo Habkost wrote:
> On Wed, Apr 24, 2019 at 09:26:52AM +0100, Daniel P. Berrangé wrote:
> > On Tue, Apr 23, 2019 at 06:22:44PM -0300, Eduardo Habkost wrote:
> > > This struct will be used to represent support and deprecation
> > > status of QEMU features.
> > >
> > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > > ---
> > > qapi/common.json | 24 ++++++++++++++++++++++++
> > > 1 file changed, 24 insertions(+)
> > >
> > > diff --git a/qapi/common.json b/qapi/common.json
> > > index 99d313ef3b..b59d0dc66b 100644
> > > --- a/qapi/common.json
> > > +++ b/qapi/common.json
> > > @@ -193,3 +193,27 @@
> > > 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> > > 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
> > > 'x86_64', 'xtensa', 'xtensaeb' ] }
> > > +
> > > +##
> > > +# @SupportStatusInfo:
> > > +#
> > > +# Information on support status of a given feature
> > > +# (e.g. machine type)
> > > +#
> > > +# @deprecated: if true, the given feature is deprecated and may be removed
> > > +# in future versions of QEMU according to the QEMU deprecation
> > > +# policy.
> > > +#
> > > +# @status-message: Human readable message describing support status
> > > +# of the feature.
> > > +#
> > > +# @suggested-alternative: Optional. Suggested alternative for a deprecated
> > > +# feature. For machine types, this should be the name
> > > +# of an available machine-type.
> > > +#
> > > +# Since: 4.1
> > > +##
> > > +{ 'struct': 'SupportStatusInfo',
> > > + 'data': { 'deprecated': 'bool',
> > > + '*status-message': 'str',
> > > + '*suggested-alternative': 'str' } }
> >
> > I see status-message has to be optional, since you're embedding the
> > struct into another struct and want deprecated==false by default.
> >
> > I'd be inclined to change it to embed a pointer to the struct and
> > drop the deprecated field, and make both status-message and
> > suggested-alternative be mandatory. ie a struct "DeprecationInfo"
> > the pointer to which is NULL if not deprecated.
>
> That could be a simple solution if we were sure we would only
> track deprecation info. But I would like us to track additional
> support status on that struct eventually.
I've no objection to expanding it to capture other info - we'll
want to change the 'deprecated' field to an enum though. Also,
in some cases there won't be any real alternative so lets just
call it 'hint' instead. How about
{ 'enum': "SupportStatus",
'data': { 'production', # Secure for use in hostile production env
'development', # No security guarentee, friendly dev only
'deprecated', # To be removed in the future
} }
{ 'struct': "SupportStatusInfo",
'data': { 'status': 'SupportStatus',
'*info': 'str',
'*hint': 'str' } }
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On Tue, Apr 30, 2019 at 11:10:06AM +0100, Daniel P. Berrangé wrote:
> On Wed, Apr 24, 2019 at 03:20:36PM -0300, Eduardo Habkost wrote:
> > On Wed, Apr 24, 2019 at 09:26:52AM +0100, Daniel P. Berrangé wrote:
> > > On Tue, Apr 23, 2019 at 06:22:44PM -0300, Eduardo Habkost wrote:
> > > > This struct will be used to represent support and deprecation
> > > > status of QEMU features.
> > > >
> > > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > > > ---
> > > > qapi/common.json | 24 ++++++++++++++++++++++++
> > > > 1 file changed, 24 insertions(+)
> > > >
> > > > diff --git a/qapi/common.json b/qapi/common.json
> > > > index 99d313ef3b..b59d0dc66b 100644
> > > > --- a/qapi/common.json
> > > > +++ b/qapi/common.json
> > > > @@ -193,3 +193,27 @@
> > > > 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> > > > 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
> > > > 'x86_64', 'xtensa', 'xtensaeb' ] }
> > > > +
> > > > +##
> > > > +# @SupportStatusInfo:
> > > > +#
> > > > +# Information on support status of a given feature
> > > > +# (e.g. machine type)
> > > > +#
> > > > +# @deprecated: if true, the given feature is deprecated and may be removed
> > > > +# in future versions of QEMU according to the QEMU deprecation
> > > > +# policy.
> > > > +#
> > > > +# @status-message: Human readable message describing support status
> > > > +# of the feature.
> > > > +#
> > > > +# @suggested-alternative: Optional. Suggested alternative for a deprecated
> > > > +# feature. For machine types, this should be the name
> > > > +# of an available machine-type.
> > > > +#
> > > > +# Since: 4.1
> > > > +##
> > > > +{ 'struct': 'SupportStatusInfo',
> > > > + 'data': { 'deprecated': 'bool',
> > > > + '*status-message': 'str',
> > > > + '*suggested-alternative': 'str' } }
> > >
> > > I see status-message has to be optional, since you're embedding the
> > > struct into another struct and want deprecated==false by default.
> > >
> > > I'd be inclined to change it to embed a pointer to the struct and
> > > drop the deprecated field, and make both status-message and
> > > suggested-alternative be mandatory. ie a struct "DeprecationInfo"
> > > the pointer to which is NULL if not deprecated.
> >
> > That could be a simple solution if we were sure we would only
> > track deprecation info. But I would like us to track additional
> > support status on that struct eventually.
>
> I've no objection to expanding it to capture other info - we'll
> want to change the 'deprecated' field to an enum though. Also,
> in some cases there won't be any real alternative so lets just
> call it 'hint' instead. How about
>
> { 'enum': "SupportStatus",
> 'data': { 'production', # Secure for use in hostile production env
> 'development', # No security guarentee, friendly dev only
> 'deprecated', # To be removed in the future
> } }
"secure for production" and "deprecated" are independent
variables. There are deprecated features that are still secure,
and deprecated features that were never supposed to be used in
production in the first place.
>
> { 'struct': "SupportStatusInfo",
> 'data': { 'status': 'SupportStatus',
> '*info': 'str',
> '*hint': 'str' } }
"hint" seems nicer than "suggested" or "recommended". I like it.
--
Eduardo
On Tue, Apr 30, 2019 at 09:42:36AM -0300, Eduardo Habkost wrote:
> On Tue, Apr 30, 2019 at 11:10:06AM +0100, Daniel P. Berrangé wrote:
> > On Wed, Apr 24, 2019 at 03:20:36PM -0300, Eduardo Habkost wrote:
> > > On Wed, Apr 24, 2019 at 09:26:52AM +0100, Daniel P. Berrangé wrote:
> > > > On Tue, Apr 23, 2019 at 06:22:44PM -0300, Eduardo Habkost wrote:
> > > > > This struct will be used to represent support and deprecation
> > > > > status of QEMU features.
> > > > >
> > > > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > > > > ---
> > > > > qapi/common.json | 24 ++++++++++++++++++++++++
> > > > > 1 file changed, 24 insertions(+)
> > > > >
> > > > > diff --git a/qapi/common.json b/qapi/common.json
> > > > > index 99d313ef3b..b59d0dc66b 100644
> > > > > --- a/qapi/common.json
> > > > > +++ b/qapi/common.json
> > > > > @@ -193,3 +193,27 @@
> > > > > 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> > > > > 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
> > > > > 'x86_64', 'xtensa', 'xtensaeb' ] }
> > > > > +
> > > > > +##
> > > > > +# @SupportStatusInfo:
> > > > > +#
> > > > > +# Information on support status of a given feature
> > > > > +# (e.g. machine type)
> > > > > +#
> > > > > +# @deprecated: if true, the given feature is deprecated and may be removed
> > > > > +# in future versions of QEMU according to the QEMU deprecation
> > > > > +# policy.
> > > > > +#
> > > > > +# @status-message: Human readable message describing support status
> > > > > +# of the feature.
> > > > > +#
> > > > > +# @suggested-alternative: Optional. Suggested alternative for a deprecated
> > > > > +# feature. For machine types, this should be the name
> > > > > +# of an available machine-type.
> > > > > +#
> > > > > +# Since: 4.1
> > > > > +##
> > > > > +{ 'struct': 'SupportStatusInfo',
> > > > > + 'data': { 'deprecated': 'bool',
> > > > > + '*status-message': 'str',
> > > > > + '*suggested-alternative': 'str' } }
> > > >
> > > > I see status-message has to be optional, since you're embedding the
> > > > struct into another struct and want deprecated==false by default.
> > > >
> > > > I'd be inclined to change it to embed a pointer to the struct and
> > > > drop the deprecated field, and make both status-message and
> > > > suggested-alternative be mandatory. ie a struct "DeprecationInfo"
> > > > the pointer to which is NULL if not deprecated.
> > >
> > > That could be a simple solution if we were sure we would only
> > > track deprecation info. But I would like us to track additional
> > > support status on that struct eventually.
> >
> > I've no objection to expanding it to capture other info - we'll
> > want to change the 'deprecated' field to an enum though. Also,
> > in some cases there won't be any real alternative so lets just
> > call it 'hint' instead. How about
> >
> > { 'enum': "SupportStatus",
> > 'data': { 'production', # Secure for use in hostile production env
> > 'development', # No security guarentee, friendly dev only
> > 'deprecated', # To be removed in the future
> > } }
>
> "secure for production" and "deprecated" are independent
> variables. There are deprecated features that are still secure,
> and deprecated features that were never supposed to be used in
> production in the first place.
Good point - we should track quality status separately. So still
need a boolean deprecation flag too i guess.
>
> >
> > { 'struct': "SupportStatusInfo",
> > 'data': { 'status': 'SupportStatus',
> > '*info': 'str',
> > '*hint': 'str' } }
>
> "hint" seems nicer than "suggested" or "recommended". I like it.
>
> --
> Eduardo
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
Hi Eduardo,
On 04/23/2019 06:22 PM, Eduardo Habkost wrote:
> This struct will be used to represent support and deprecation
> status of QEMU features.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> qapi/common.json | 24 ++++++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/qapi/common.json b/qapi/common.json
> index 99d313ef3b..b59d0dc66b 100644
> --- a/qapi/common.json
> +++ b/qapi/common.json
> @@ -193,3 +193,27 @@
> 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4',
> 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32',
> 'x86_64', 'xtensa', 'xtensaeb' ] }
> +
> +##
> +# @SupportStatusInfo:
> +#
> +# Information on support status of a given feature
> +# (e.g. machine type)
> +#
> +# @deprecated: if true, the given feature is deprecated and may be removed
> +# in future versions of QEMU according to the QEMU deprecation
> +# policy.
Eventually management software will need the know the QEMU version the
feature is planed for removal. So makes sense to include a field to
capture that information as well or do you expect it to be added (as a
good practice) in the 'status-message'?
- Wainer
> +#
> +# @status-message: Human readable message describing support status
> +# of the feature.
> +#
> +# @suggested-alternative: Optional. Suggested alternative for a deprecated
> +# feature. For machine types, this should be the name
> +# of an available machine-type.
> +#
> +# Since: 4.1
> +##
> +{ 'struct': 'SupportStatusInfo',
> + 'data': { 'deprecated': 'bool',
> + '*status-message': 'str',
> + '*suggested-alternative': 'str' } }
On Thu, Apr 25, 2019 at 11:20:58AM -0300, Wainer dos Santos Moschetta wrote: > Hi Eduardo, > > > On 04/23/2019 06:22 PM, Eduardo Habkost wrote: > > This struct will be used to represent support and deprecation > > status of QEMU features. > > > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > > --- > > qapi/common.json | 24 ++++++++++++++++++++++++ > > 1 file changed, 24 insertions(+) > > > > diff --git a/qapi/common.json b/qapi/common.json > > index 99d313ef3b..b59d0dc66b 100644 > > --- a/qapi/common.json > > +++ b/qapi/common.json > > @@ -193,3 +193,27 @@ > > 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4', > > 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32', > > 'x86_64', 'xtensa', 'xtensaeb' ] } > > + > > +## > > +# @SupportStatusInfo: > > +# > > +# Information on support status of a given feature > > +# (e.g. machine type) > > +# > > +# @deprecated: if true, the given feature is deprecated and may be removed > > +# in future versions of QEMU according to the QEMU deprecation > > +# policy. > > Eventually management software will need the know the QEMU version the > feature is planed for removal. So makes sense to include a field to capture > that information as well or do you expect it to be added (as a good > practice) in the 'status-message'? If we really want to provide extra information like version numbers, adding a separate field sounds better than using status-message. But I'm not sure we really want to include this amount of detail in the API. Mentioning explicit version numbers could make things more complex for downstream distributions of QEMU that include backports and/or have a different deprecation policy. I'd like to hear opinions from others. -- Eduardo
On Thu, Apr 25, 2019 at 02:42:08PM -0300, Eduardo Habkost wrote: > On Thu, Apr 25, 2019 at 11:20:58AM -0300, Wainer dos Santos Moschetta wrote: > > Hi Eduardo, > > > > > > On 04/23/2019 06:22 PM, Eduardo Habkost wrote: > > > This struct will be used to represent support and deprecation > > > status of QEMU features. > > > > > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> > > > --- > > > qapi/common.json | 24 ++++++++++++++++++++++++ > > > 1 file changed, 24 insertions(+) > > > > > > diff --git a/qapi/common.json b/qapi/common.json > > > index 99d313ef3b..b59d0dc66b 100644 > > > --- a/qapi/common.json > > > +++ b/qapi/common.json > > > @@ -193,3 +193,27 @@ > > > 'ppc64', 'riscv32', 'riscv64', 's390x', 'sh4', > > > 'sh4eb', 'sparc', 'sparc64', 'tricore', 'unicore32', > > > 'x86_64', 'xtensa', 'xtensaeb' ] } > > > + > > > +## > > > +# @SupportStatusInfo: > > > +# > > > +# Information on support status of a given feature > > > +# (e.g. machine type) > > > +# > > > +# @deprecated: if true, the given feature is deprecated and may be removed > > > +# in future versions of QEMU according to the QEMU deprecation > > > +# policy. > > > > Eventually management software will need the know the QEMU version the > > feature is planed for removal. So makes sense to include a field to capture > > that information as well or do you expect it to be added (as a good > > practice) in the 'status-message'? > > If we really want to provide extra information like version > numbers, adding a separate field sounds better than using > status-message. > > But I'm not sure we really want to include this amount of detail > in the API. Mentioning explicit version numbers could make > things more complex for downstream distributions of QEMU that > include backports and/or have a different deprecation policy. > > I'd like to hear opinions from others. Yeah, I'm *not* in favour of mentioning any version number in this. Our "2 cycle" deprecation rule is more of a guideline than a strict rule. It can be extended if we find some blocking problem that makes removal more painful than expected. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
© 2016 - 2026 Red Hat, Inc.