[PULL 00/25] Python patches

John Snow posted 25 patches 1 year, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20231013190941.3699288-1-jsnow@redhat.com
Maintainers: Paolo Bonzini <pbonzini@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Thomas Huth <thuth@redhat.com>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Wainer dos Santos Moschetta <wainersm@redhat.com>, Beraldo Leal <bleal@redhat.com>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Ani Sinha <anisinha@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, "Cédric Le Goater" <clg@kaod.org>, Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>, Aurelien Jarno <aurelien@aurel32.net>, Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Eric Farman <farman@linux.ibm.com>, Juan Quintela <quintela@redhat.com>, Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Leonardo Bras <leobras@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Eric Blake <eblake@redhat.com>, Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
There is a newer version of this series
docs/devel/testing.rst                        |  10 +-
configure                                     |   5 +-
python/qemu/machine/console_socket.py         |  29 +-
python/qemu/machine/machine.py                |  78 +--
python/qemu/machine/qtest.py                  |  54 +-
python/qemu/qmp/legacy.py                     |  10 +-
python/qemu/qmp/protocol.py                   |   1 -
python/qemu/qmp/qmp_shell.py                  |  20 +-
python/qemu/utils/qemu_ga_client.py           |   2 +-
python/qemu/utils/qom.py                      |   8 +-
python/qemu/utils/qom_common.py               |   2 +-
python/qemu/utils/qom_fuse.py                 |   6 +-
python/setup.cfg                              |   3 +-
scripts/cpu-x86-uarch-abi.py                  |   8 +-
scripts/device-crash-test                     |   8 +-
scripts/python_qmp_updater.py                 | 136 +++++
scripts/render_block_graph.py                 |   8 +-
tests/avocado/acpi-bits.py                    |   5 +-
tests/avocado/avocado_qemu/__init__.py        |   6 +-
tests/avocado/cpu_queries.py                  |   5 +-
tests/avocado/hotplug_cpu.py                  |  10 +-
tests/avocado/info_usernet.py                 |   4 +-
tests/avocado/machine_arm_integratorcp.py     |   6 +-
tests/avocado/machine_aspeed.py               |  17 +-
tests/avocado/machine_m68k_nextcube.py        |   4 +-
tests/avocado/machine_mips_malta.py           |   6 +-
tests/avocado/machine_s390_ccw_virtio.py      |  28 +-
tests/avocado/migration.py                    |  10 +-
tests/avocado/pc_cpu_hotplug_props.py         |   2 +-
tests/avocado/version.py                      |   4 +-
tests/avocado/virtio_check_params.py          |   6 +-
tests/avocado/virtio_version.py               |   5 +-
tests/avocado/vnc.py                          |  16 +-
tests/avocado/x86_cpu_model_versions.py       |  13 +-
tests/docker/dockerfiles/python.docker        |   6 +-
tests/migration/guestperf/engine.py           | 144 +++---
tests/qemu-iotests/030                        | 168 +++----
tests/qemu-iotests/040                        | 171 +++----
tests/qemu-iotests/041                        | 470 ++++++++----------
tests/qemu-iotests/045                        |  15 +-
tests/qemu-iotests/055                        |  62 +--
tests/qemu-iotests/056                        |  77 ++-
tests/qemu-iotests/093                        |  42 +-
tests/qemu-iotests/118                        | 223 ++++-----
tests/qemu-iotests/124                        | 102 ++--
tests/qemu-iotests/129                        |  14 +-
tests/qemu-iotests/132                        |   5 +-
tests/qemu-iotests/139                        |  45 +-
tests/qemu-iotests/147                        |  30 +-
tests/qemu-iotests/151                        | 103 ++--
tests/qemu-iotests/152                        |   8 +-
tests/qemu-iotests/155                        |  55 +-
tests/qemu-iotests/165                        |   8 +-
tests/qemu-iotests/196                        |   3 +-
tests/qemu-iotests/205                        |   6 +-
tests/qemu-iotests/218                        |  95 ++--
tests/qemu-iotests/245                        | 245 ++++-----
tests/qemu-iotests/256                        |  34 +-
tests/qemu-iotests/257                        |  34 +-
tests/qemu-iotests/264                        |  31 +-
tests/qemu-iotests/281                        |  21 +-
tests/qemu-iotests/295                        |  16 +-
tests/qemu-iotests/296                        |  21 +-
tests/qemu-iotests/298                        |  13 +-
tests/qemu-iotests/300                        |  54 +-
tests/qemu-iotests/iotests.py                 |  23 +-
.../tests/backing-file-invalidation           |  11 +-
tests/qemu-iotests/tests/copy-before-write    |  18 +-
.../tests/export-incoming-iothread            |   6 +-
.../qemu-iotests/tests/graph-changes-while-io |  18 +-
tests/qemu-iotests/tests/image-fleecing       |   3 +-
.../tests/migrate-bitmaps-postcopy-test       |  31 +-
tests/qemu-iotests/tests/migrate-bitmaps-test |  45 +-
.../qemu-iotests/tests/migrate-during-backup  |  37 +-
.../qemu-iotests/tests/migration-permissions  |   9 +-
.../tests/mirror-ready-cancel-error           |  74 ++-
tests/qemu-iotests/tests/mirror-top-perms     |  16 +-
tests/qemu-iotests/tests/nbd-multiconn        |  16 +-
tests/qemu-iotests/tests/reopen-file          |   3 +-
.../qemu-iotests/tests/stream-error-on-reset  |   6 +-
.../qemu-iotests/tests/stream-under-throttle  |   7 +-
tests/vm/basevm.py                            |   4 +-
82 files changed, 1466 insertions(+), 1717 deletions(-)
create mode 100755 scripts/python_qmp_updater.py
[PULL 00/25] Python patches
Posted by John Snow 1 year, 1 month ago
The following changes since commit a51e5124a655b3dad80b36b18547cb1eca2c5eb2:

  Merge tag 'pull-omnibus-111023-1' of https://gitlab.com/stsquad/qemu into staging (2023-10-11 09:43:10 -0400)

are available in the Git repository at:

  https://gitlab.com/jsnow/qemu.git tags/python-pull-request

for you to fetch changes up to b6aed193e5ecca32bb07e062f58f0daca06e7009:

  python: use vm.cmd() instead of vm.qmp() where appropriate (2023-10-12 14:21:44 -0400)

----------------------------------------------------------------
Python Pullreq

Python PR:

- Use socketpair for all machine.py connections
- Support Python 3.12
- Switch iotests over to using raise-on-error QMP command interface
  (Thank you very much, Vladimir!)

----------------------------------------------------------------

John Snow (10):
  python/machine: move socket setup out of _base_args property
  python/machine: close sock_pair in cleanup path
  python/console_socket: accept existing FD in initializer
  python/machine: use socketpair() for console connections
  python/machine: use socketpair() for qtest connection
  python/machine: remove unused sock_dir argument
  Python/iotests: Add type hint for nbd module
  python/qmp: remove Server.wait_closed() call for Python 3.12
  configure: fix error message to say Python 3.8
  Python: Enable python3.12 support

Vladimir Sementsov-Ogievskiy (15):
  python/qemu/qmp/legacy: cmd(): drop cmd_id unused argument
  qmp_shell.py: _fill_completion() use .command() instead of .cmd()
  scripts/cpu-x86-uarch-abi.py: use .command() instead of .cmd()
  python: rename QEMUMonitorProtocol.cmd() to cmd_raw()
  python/qemu: rename command() to cmd()
  python/machine.py: upgrade vm.cmd() method
  iotests: QemuStorageDaemon: add cmd() method like in QEMUMachine.
  iotests: add some missed checks of qmp result
  iotests: refactor some common qmp result checks into generic pattern
  iotests: drop some extra semicolons
  iotests: drop some extra ** in qmp() call
  iotests.py: pause_job(): drop return value
  tests/vm/basevm.py: use cmd() instead of qmp()
  scripts: add python_qmp_updater.py
  python: use vm.cmd() instead of vm.qmp() where appropriate

 docs/devel/testing.rst                        |  10 +-
 configure                                     |   5 +-
 python/qemu/machine/console_socket.py         |  29 +-
 python/qemu/machine/machine.py                |  78 +--
 python/qemu/machine/qtest.py                  |  54 +-
 python/qemu/qmp/legacy.py                     |  10 +-
 python/qemu/qmp/protocol.py                   |   1 -
 python/qemu/qmp/qmp_shell.py                  |  20 +-
 python/qemu/utils/qemu_ga_client.py           |   2 +-
 python/qemu/utils/qom.py                      |   8 +-
 python/qemu/utils/qom_common.py               |   2 +-
 python/qemu/utils/qom_fuse.py                 |   6 +-
 python/setup.cfg                              |   3 +-
 scripts/cpu-x86-uarch-abi.py                  |   8 +-
 scripts/device-crash-test                     |   8 +-
 scripts/python_qmp_updater.py                 | 136 +++++
 scripts/render_block_graph.py                 |   8 +-
 tests/avocado/acpi-bits.py                    |   5 +-
 tests/avocado/avocado_qemu/__init__.py        |   6 +-
 tests/avocado/cpu_queries.py                  |   5 +-
 tests/avocado/hotplug_cpu.py                  |  10 +-
 tests/avocado/info_usernet.py                 |   4 +-
 tests/avocado/machine_arm_integratorcp.py     |   6 +-
 tests/avocado/machine_aspeed.py               |  17 +-
 tests/avocado/machine_m68k_nextcube.py        |   4 +-
 tests/avocado/machine_mips_malta.py           |   6 +-
 tests/avocado/machine_s390_ccw_virtio.py      |  28 +-
 tests/avocado/migration.py                    |  10 +-
 tests/avocado/pc_cpu_hotplug_props.py         |   2 +-
 tests/avocado/version.py                      |   4 +-
 tests/avocado/virtio_check_params.py          |   6 +-
 tests/avocado/virtio_version.py               |   5 +-
 tests/avocado/vnc.py                          |  16 +-
 tests/avocado/x86_cpu_model_versions.py       |  13 +-
 tests/docker/dockerfiles/python.docker        |   6 +-
 tests/migration/guestperf/engine.py           | 144 +++---
 tests/qemu-iotests/030                        | 168 +++----
 tests/qemu-iotests/040                        | 171 +++----
 tests/qemu-iotests/041                        | 470 ++++++++----------
 tests/qemu-iotests/045                        |  15 +-
 tests/qemu-iotests/055                        |  62 +--
 tests/qemu-iotests/056                        |  77 ++-
 tests/qemu-iotests/093                        |  42 +-
 tests/qemu-iotests/118                        | 223 ++++-----
 tests/qemu-iotests/124                        | 102 ++--
 tests/qemu-iotests/129                        |  14 +-
 tests/qemu-iotests/132                        |   5 +-
 tests/qemu-iotests/139                        |  45 +-
 tests/qemu-iotests/147                        |  30 +-
 tests/qemu-iotests/151                        | 103 ++--
 tests/qemu-iotests/152                        |   8 +-
 tests/qemu-iotests/155                        |  55 +-
 tests/qemu-iotests/165                        |   8 +-
 tests/qemu-iotests/196                        |   3 +-
 tests/qemu-iotests/205                        |   6 +-
 tests/qemu-iotests/218                        |  95 ++--
 tests/qemu-iotests/245                        | 245 ++++-----
 tests/qemu-iotests/256                        |  34 +-
 tests/qemu-iotests/257                        |  34 +-
 tests/qemu-iotests/264                        |  31 +-
 tests/qemu-iotests/281                        |  21 +-
 tests/qemu-iotests/295                        |  16 +-
 tests/qemu-iotests/296                        |  21 +-
 tests/qemu-iotests/298                        |  13 +-
 tests/qemu-iotests/300                        |  54 +-
 tests/qemu-iotests/iotests.py                 |  23 +-
 .../tests/backing-file-invalidation           |  11 +-
 tests/qemu-iotests/tests/copy-before-write    |  18 +-
 .../tests/export-incoming-iothread            |   6 +-
 .../qemu-iotests/tests/graph-changes-while-io |  18 +-
 tests/qemu-iotests/tests/image-fleecing       |   3 +-
 .../tests/migrate-bitmaps-postcopy-test       |  31 +-
 tests/qemu-iotests/tests/migrate-bitmaps-test |  45 +-
 .../qemu-iotests/tests/migrate-during-backup  |  37 +-
 .../qemu-iotests/tests/migration-permissions  |   9 +-
 .../tests/mirror-ready-cancel-error           |  74 ++-
 tests/qemu-iotests/tests/mirror-top-perms     |  16 +-
 tests/qemu-iotests/tests/nbd-multiconn        |  16 +-
 tests/qemu-iotests/tests/reopen-file          |   3 +-
 .../qemu-iotests/tests/stream-error-on-reset  |   6 +-
 .../qemu-iotests/tests/stream-under-throttle  |   7 +-
 tests/vm/basevm.py                            |   4 +-
 82 files changed, 1466 insertions(+), 1717 deletions(-)
 create mode 100755 scripts/python_qmp_updater.py

-- 
2.41.0

Re: [PULL 00/25] Python patches
Posted by Stefan Hajnoczi 1 year, 1 month ago
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.
Re: [PULL 00/25] Python patches
Posted by John Snow 1 year, 1 month ago
On Mon, Oct 16, 2023 at 3:21 PM Stefan Hajnoczi <stefanha@redhat.com> wrote:
>
> Applied, thanks.
>
> Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.

Hi Vladimir: all done!

I've created a MR to backport your changes to the standalone repo
here: https://gitlab.com/qemu-project/python-qemu-qmp/-/merge_requests/30
- please give it a quick glance to make sure I didn't butcher anything
in transit.

Thanks,
--js
Re: [PULL 00/25] Python patches
Posted by Vladimir Sementsov-Ogievskiy 1 year, 1 month ago
On 17.10.23 02:44, John Snow wrote:
> On Mon, Oct 16, 2023 at 3:21 PM Stefan Hajnoczi <stefanha@redhat.com> wrote:
>>
>> Applied, thanks.
>>
>> Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.
> 
> Hi Vladimir: all done!
> 

Thanks!

> I've created a MR to backport your changes to the standalone repo
> here: https://gitlab.com/qemu-project/python-qemu-qmp/-/merge_requests/30

Looks good to me.

> - please give it a quick glance to make sure I didn't butcher anything
> in transit.
> 
> Thanks,
> --js
> 

-- 
Best regards,
Vladimir