mbox series

[00/14] deprecations: remove many old deprecations

Message ID 20210224131142.1952027-1-berrange@redhat.com (mailing list archive)
Headers show
Series deprecations: remove many old deprecations | expand

Message

Daniel P. Berrangé Feb. 24, 2021, 1:11 p.m. UTC
The following features have been deprecated for well over the 2
release cycle we promise

  ``-usbdevice`` (since 2.10.0)
  ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
  ``-vnc acl`` (since 4.0.0)
  ``-mon ...,control=3Dreadline,pretty=3Don|off`` (since 4.1)
  ``migrate_set_downtime`` and ``migrate_set_speed`` (since 2.8.0)
  ``query-named-block-nodes`` result ``encryption_key_missing`` (since 2.10.0)
  ``query-block`` result ``inserted.encryption_key_missing`` (since 2.10.0)
  ``migrate-set-cache-size`` and ``query-migrate-cache-size`` (since 2.11.0)
  ``query-named-block-nodes`` and ``query-block`` result dirty-bitmaps[i].sta=
tus (ince 4.0)
  ``query-cpus`` (since 2.12.0)
  ``query-cpus-fast`` ``arch`` output member (since 3.0.0)
  ``query-events`` (since 4.0)
  chardev client socket with ``wait`` option (since 4.0)
  ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (s=
ince 4.0.0)
  ``ide-drive`` (since 4.2)
  ``scsi-disk`` (since 4.2)

AFAICT, libvirt has ceased to use all of these too.

There are many more similarly old deprecations not (yet) tackled.

Daniel P. Berrang=C3=A9 (14):
  ui, monitor: remove deprecated VNC ACL option and HMP commands
  monitor: raise error when 'pretty' option is used with HMP
  monitor: remove 'query-events' QMP command
  softmmu: remove '-usbdevice' command line option
  migrate: remove QMP/HMP commands for speed, downtime and cache size
  machine: remove 'query-cpus' QMP command
  machine: remove 'arch' field from 'query-cpus-fast' QMP command
  chardev: reject use of 'wait' flag for socket client chardevs
  hw/ide: remove 'ide-drive' device
  hw/scsi: remove 'scsi-disk' device
  block: remove 'encryption_key_missing' flag from QAPI
  block: remove dirty bitmaps 'status' field
  block: remove 'dirty-bitmaps' field from 'BlockInfo' struct
  block: remove support for using "file" driver with block/char devices

 block/dirty-bitmap.c                       |  38 ---
 block/file-posix.c                         |  17 +-
 block/qapi.c                               |   6 -
 chardev/char-socket.c                      |  12 +-
 docs/devel/migration.rst                   |   2 +-
 docs/qdev-device-use.txt                   |   2 +-
 docs/rdma.txt                              |   2 +-
 docs/system/deprecated.rst                 | 117 -------
 docs/system/removed-features.rst           | 123 +++++++
 docs/xbzrle.txt                            |   5 -
 hmp-commands-info.hx                       |  13 -
 hmp-commands.hx                            | 121 -------
 hw/core/machine-hmp-cmds.c                 |   8 +-
 hw/core/machine-qmp-cmds.c                 | 120 -------
 hw/i386/pc.c                               |   2 -
 hw/ide/qdev.c                              |  38 ---
 hw/ppc/mac_newworld.c                      |  13 -
 hw/ppc/mac_oldworld.c                      |  13 -
 hw/scsi/scsi-disk.c                        |  62 ----
 hw/sparc64/sun4u.c                         |  15 -
 include/block/dirty-bitmap.h               |   1 -
 include/monitor/hmp.h                      |   4 -
 migration/migration.c                      |  45 ---
 migration/ram.c                            |   2 +-
 monitor/hmp-cmds.c                         |  34 --
 monitor/misc.c                             | 187 ----------
 monitor/monitor.c                          |   4 +-
 monitor/qmp-cmds-control.c                 |  24 --
 qapi/block-core.json                       |  64 +---
 qapi/control.json                          |  45 ---
 qapi/machine.json                          | 181 +---------
 qapi/migration.json                        |  98 ------
 qemu-options.hx                            |   5 +-
 scripts/device-crash-test                  |   2 -
 softmmu/vl.c                               |  43 ---
 tests/acceptance/pc_cpu_hotplug_props.py   |   2 +-
 tests/acceptance/x86_cpu_model_versions.py |   2 +-
 tests/migration/guestperf/engine.py        |  18 +-
 tests/qemu-iotests/051                     |   4 -
 tests/qemu-iotests/051.pc.out              |  20 --
 tests/qemu-iotests/124                     |   4 -
 tests/qemu-iotests/181                     |   2 +-
 tests/qemu-iotests/184.out                 |   6 +-
 tests/qemu-iotests/191.out                 |  48 +--
 tests/qemu-iotests/194                     |   4 +-
 tests/qemu-iotests/194.out                 |   4 +-
 tests/qemu-iotests/226.out                 |  10 +-
 tests/qemu-iotests/236                     |   2 +-
 tests/qemu-iotests/236.out                 |  42 +--
 tests/qemu-iotests/246                     |   3 +-
 tests/qemu-iotests/246.out                 |  66 ++--
 tests/qemu-iotests/254                     |   2 +-
 tests/qemu-iotests/254.out                 |   9 +-
 tests/qemu-iotests/257.out                 | 378 +++++++--------------
 tests/qemu-iotests/260                     |   5 +-
 tests/qemu-iotests/273.out                 |  15 +-
 tests/qtest/migration-test.c               |  48 ---
 tests/qtest/numa-test.c                    |   6 +-
 tests/qtest/qmp-test.c                     |   6 +-
 tests/qtest/test-hmp.c                     |   6 +-
 tests/qtest/test-x86-cpuid-compat.c        |   4 +-
 tests/qtest/vhost-user-test.c              |   8 +-
 ui/vnc.c                                   |  38 ---
 63 files changed, 380 insertions(+), 1850 deletions(-)

--=20
2.29.2

Comments

Paolo Bonzini Feb. 24, 2021, 1:26 p.m. UTC | #1
On 24/02/21 14:11, Daniel P. Berrangé wrote:
> The following features have been deprecated for well over the 2
> release cycle we promise
> 
>    ``-usbdevice`` (since 2.10.0)
>    ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
>    ``-vnc acl`` (since 4.0.0)
>    ``-mon ...,control=3Dreadline,pretty=3Don|off`` (since 4.1)
>    ``migrate_set_downtime`` and ``migrate_set_speed`` (since 2.8.0)
>    ``query-named-block-nodes`` result ``encryption_key_missing`` (since 2.10.0)
>    ``query-block`` result ``inserted.encryption_key_missing`` (since 2.10.0)
>    ``migrate-set-cache-size`` and ``query-migrate-cache-size`` (since 2.11.0)
>    ``query-named-block-nodes`` and ``query-block`` result dirty-bitmaps[i].sta=
> tus (ince 4.0)
>    ``query-cpus`` (since 2.12.0)
>    ``query-cpus-fast`` ``arch`` output member (since 3.0.0)
>    ``query-events`` (since 4.0)
>    chardev client socket with ``wait`` option (since 4.0)
>    ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (s=
> ince 4.0.0)
>    ``ide-drive`` (since 4.2)
>    ``scsi-disk`` (since 4.2)
> 
> AFAICT, libvirt has ceased to use all of these too.

No objections except possibly for -usbdevice.

Paolo
Peter Maydell Feb. 24, 2021, 2:38 p.m. UTC | #2
On Wed, 24 Feb 2021 at 13:21, Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> The following features have been deprecated for well over the 2
> release cycle we promise
>
>   ``-usbdevice`` (since 2.10.0)
>   ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
>   ``-vnc acl`` (since 4.0.0)
>   ``-mon ...,control=3Dreadline,pretty=3Don|off`` (since 4.1)

Are the literal '=3D' here intended ?


thanks
-- PMM
Daniel P. Berrangé Feb. 24, 2021, 3:02 p.m. UTC | #3
On Wed, Feb 24, 2021 at 02:38:43PM +0000, Peter Maydell wrote:
> On Wed, 24 Feb 2021 at 13:21, Daniel P. Berrangé <berrange@redhat.com> wrote:
> >
> > The following features have been deprecated for well over the 2
> > release cycle we promise
> >
> >   ``-usbdevice`` (since 2.10.0)
> >   ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
> >   ``-vnc acl`` (since 4.0.0)
> >   ``-mon ...,control=3Dreadline,pretty=3Don|off`` (since 4.1)
> 
> Are the literal '=3D' here intended ?

git-publish has done something wierd to the cover letter encoding that
I don't understand.


Regards,
Daniel
Philippe Mathieu-Daudé Feb. 24, 2021, 3:21 p.m. UTC | #4
On 2/24/21 3:38 PM, Peter Maydell wrote:
> On Wed, 24 Feb 2021 at 13:21, Daniel P. Berrangé <berrange@redhat.com> wrote:
>>
>> The following features have been deprecated for well over the 2
>> release cycle we promise
>>
>>   ``-usbdevice`` (since 2.10.0)
>>   ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
>>   ``-vnc acl`` (since 4.0.0)
>>   ``-mon ...,control=3Dreadline,pretty=3Don|off`` (since 4.1)
> 
> Are the literal '=3D' here intended ?

No, this is a git-publish bug:
https://github.com/stefanha/git-publish/issues/88

Apparently the fix is not yet backported to Fedora.
Jim Fehlig Feb. 25, 2021, 5:32 p.m. UTC | #5
Adding xen-devel and Ian to cc.

On 2/24/21 6:11 AM, Daniel P. Berrangé wrote:
> The following features have been deprecated for well over the 2
> release cycle we promise

This reminded me of a bug report we received late last year when updating to 
5.2.0. 'virsh setvcpus' suddenly stopped working for Xen HVM guests. Turns out 
libxl uses cpu-add under the covers.

> 
>    ``-usbdevice`` (since 2.10.0)
>    ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
>    ``-vnc acl`` (since 4.0.0)
>    ``-mon ...,control=3Dreadline,pretty=3Don|off`` (since 4.1)
>    ``migrate_set_downtime`` and ``migrate_set_speed`` (since 2.8.0)
>    ``query-named-block-nodes`` result ``encryption_key_missing`` (since 2.10.0)
>    ``query-block`` result ``inserted.encryption_key_missing`` (since 2.10.0)
>    ``migrate-set-cache-size`` and ``query-migrate-cache-size`` (since 2.11.0)
>    ``query-named-block-nodes`` and ``query-block`` result dirty-bitmaps[i].sta=
> tus (ince 4.0)
>    ``query-cpus`` (since 2.12.0)
>    ``query-cpus-fast`` ``arch`` output member (since 3.0.0)
>    ``query-events`` (since 4.0)
>    chardev client socket with ``wait`` option (since 4.0)
>    ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (s=
> ince 4.0.0)
>    ``ide-drive`` (since 4.2)
>    ``scsi-disk`` (since 4.2)
> 
> AFAICT, libvirt has ceased to use all of these too.

A quick grep of the libxl code shows it uses -usbdevice, query-cpus, and scsi-disk.

> There are many more similarly old deprecations not (yet) tackled.

The Xen tools maintainers will need to be more vigilant of the deprecations. I 
don't follow Xen development close enough to know if this topic has already been 
discussed.

Regards,
Jim
Kevin Wolf March 1, 2021, 11:15 a.m. UTC | #6
Am 25.02.2021 um 18:32 hat Jim Fehlig geschrieben:
> Adding xen-devel and Ian to cc.
> 
> On 2/24/21 6:11 AM, Daniel P. Berrangé wrote:
> > The following features have been deprecated for well over the 2
> > release cycle we promise
> 
> This reminded me of a bug report we received late last year when updating to
> 5.2.0. 'virsh setvcpus' suddenly stopped working for Xen HVM guests. Turns
> out libxl uses cpu-add under the covers.
> 
> > 
> >    ``-usbdevice`` (since 2.10.0)
> >    ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
> >    ``-vnc acl`` (since 4.0.0)
> >    ``-mon ...,control=3Dreadline,pretty=3Don|off`` (since 4.1)
> >    ``migrate_set_downtime`` and ``migrate_set_speed`` (since 2.8.0)
> >    ``query-named-block-nodes`` result ``encryption_key_missing`` (since 2.10.0)
> >    ``query-block`` result ``inserted.encryption_key_missing`` (since 2.10.0)
> >    ``migrate-set-cache-size`` and ``query-migrate-cache-size`` (since 2.11.0)
> >    ``query-named-block-nodes`` and ``query-block`` result dirty-bitmaps[i].sta=
> > tus (ince 4.0)
> >    ``query-cpus`` (since 2.12.0)
> >    ``query-cpus-fast`` ``arch`` output member (since 3.0.0)
> >    ``query-events`` (since 4.0)
> >    chardev client socket with ``wait`` option (since 4.0)
> >    ``acl_show``, ``acl_reset``, ``acl_policy``, ``acl_add``, ``acl_remove`` (s=
> > ince 4.0.0)
> >    ``ide-drive`` (since 4.2)
> >    ``scsi-disk`` (since 4.2)
> > 
> > AFAICT, libvirt has ceased to use all of these too.
> 
> A quick grep of the libxl code shows it uses -usbdevice, query-cpus, and scsi-disk.
> 
> > There are many more similarly old deprecations not (yet) tackled.
> 
> The Xen tools maintainers will need to be more vigilant of the deprecations.
> I don't follow Xen development close enough to know if this topic has
> already been discussed.

MAINTAINERS has a section for "Incompatible changes" that covers
docs/system/deprecated.rst. Maybe if the Xen maintainers are interested
in that, we could add another list or individual people there so they
would see patches that deprecate something?

But either way, it would probably be useful to check the full
deprecation list rather than just what we're going to remove right now.

Kevin
Stefan Hajnoczi March 8, 2021, 4:42 p.m. UTC | #7
On Wed, Feb 24, 2021 at 04:21:13PM +0100, Philippe Mathieu-Daudé wrote:
> On 2/24/21 3:38 PM, Peter Maydell wrote:
> > On Wed, 24 Feb 2021 at 13:21, Daniel P. Berrangé <berrange@redhat.com> wrote:
> >>
> >> The following features have been deprecated for well over the 2
> >> release cycle we promise
> >>
> >>   ``-usbdevice`` (since 2.10.0)
> >>   ``-drive file=3Djson:{...{'driver':'file'}}`` (since 3.0)
> >>   ``-vnc acl`` (since 4.0.0)
> >>   ``-mon ...,control=3Dreadline,pretty=3Don|off`` (since 4.1)
> > 
> > Are the literal '=3D' here intended ?
> 
> No, this is a git-publish bug:
> https://github.com/stefanha/git-publish/issues/88
> 
> Apparently the fix is not yet backported to Fedora.

Thanks for reminding me. I'll roll a new git-publish release and package
it in Fedora.

Stefan