[PATCH v2 0/9] Python: Remove synchronous QMP library

John Snow posted 9 patches 2 years, 1 month ago
Failed in applying to current master (apply log)
python/README.rst                             |   2 +-
python/qemu/qmp/README.rst                    |   9 -
python/qemu/aqmp/__init__.py                  |  59 ---
python/qemu/aqmp/legacy.py                    | 188 --------
python/qemu/aqmp/py.typed                     |   0
python/qemu/machine/machine.py                |   4 +-
python/qemu/machine/qtest.py                  |   2 +-
python/qemu/qmp/__init__.py                   | 445 ++----------------
python/qemu/{aqmp => qmp}/error.py            |   0
python/qemu/{aqmp => qmp}/events.py           |   2 +-
python/qemu/qmp/legacy.py                     | 315 +++++++++++++
python/qemu/{aqmp => qmp}/message.py          |   0
python/qemu/{aqmp => qmp}/models.py           |   0
python/qemu/{aqmp => qmp}/protocol.py         |   4 +-
python/qemu/{aqmp => qmp}/qmp_client.py       |  16 +-
python/qemu/{aqmp => qmp}/qmp_shell.py        |   4 +-
.../qemu/{aqmp/aqmp_tui.py => qmp/qmp_tui.py} |  15 +-
python/qemu/{aqmp => qmp}/util.py             |   0
python/qemu/utils/qemu_ga_client.py           |   4 +-
python/qemu/utils/qom.py                      |   2 +-
python/qemu/utils/qom_common.py               |   4 +-
python/qemu/utils/qom_fuse.py                 |   2 +-
python/setup.cfg                              |  11 +-
python/tests/protocol.py                      |  14 +-
scripts/cpu-x86-uarch-abi.py                  |   2 +-
scripts/device-crash-test                     |   4 +-
scripts/qmp/qmp-shell                         |   2 +-
scripts/qmp/qmp-shell-wrap                    |   2 +-
scripts/render_block_graph.py                 |   4 +-
scripts/simplebench/bench_block_job.py        |   2 +-
tests/qemu-iotests/iotests.py                 |   2 +-
tests/qemu-iotests/tests/mirror-top-perms     |   4 +-
32 files changed, 409 insertions(+), 715 deletions(-)
delete mode 100644 python/qemu/qmp/README.rst
delete mode 100644 python/qemu/aqmp/__init__.py
delete mode 100644 python/qemu/aqmp/legacy.py
delete mode 100644 python/qemu/aqmp/py.typed
rename python/qemu/{aqmp => qmp}/error.py (100%)
rename python/qemu/{aqmp => qmp}/events.py (99%)
create mode 100644 python/qemu/qmp/legacy.py
rename python/qemu/{aqmp => qmp}/message.py (100%)
rename python/qemu/{aqmp => qmp}/models.py (100%)
rename python/qemu/{aqmp => qmp}/protocol.py (99%)
rename python/qemu/{aqmp => qmp}/qmp_client.py (97%)
rename python/qemu/{aqmp => qmp}/qmp_shell.py (99%)
rename python/qemu/{aqmp/aqmp_tui.py => qmp/qmp_tui.py} (98%)
rename python/qemu/{aqmp => qmp}/util.py (100%)
[PATCH v2 0/9] Python: Remove synchronous QMP library
Posted by John Snow 2 years, 1 month ago
Based-on: https://gitlab.com/jsnow/qemu/-/tree/python/
GitLab: https://gitlab.com/jsnow/qemu/-/tree/python-qmp-legacy-switch-pt1c
CI: https://gitlab.com/jsnow/qemu/-/pipelines/505169095

Hi, this series is part of an effort to publish the qemu.qmp package on
PyPI. It is the first of three series to complete this work:

--> (1) Switch the new async QMP library in as python/qemu/qmp
    (2) Fork python/qemu/qmp out into its own repository,
        with updated GitLab CI/CD targets to build packages.
    (3) Update qemu.git to install qemu.qmp from PyPI,
        and then delete python/qemu/qmp.

This series finalizes swapping out the old QMP library for the new
one. This leaves us with just one QMP library to worry about. It also
implements the rename of "qemu.aqmp" to "qemu.qmp".

This is the last patch series before I perform the actual fork.

These patches are (mostly) reviewed, so I'll likely stage these fairly
quickly barring any objections. The plan is to submit them as soon as
the tree re-opens to help prevent rot while I work on the fork.

John Snow (9):
  python: temporarily silence pylint duplicate-code warnings
  python/aqmp: take QMPBadPortError and parse_address from qemu.qmp
  python/aqmp: fully separate from qmp.QEMUMonitorProtocol
  python/aqmp: copy qmp docstrings to qemu.aqmp.legacy
  python: remove the old QMP package
  python: re-enable pylint duplicate-code warnings
  python: rename qemu.aqmp to qemu.qmp
  python: rename 'aqmp-tui' to 'qmp-tui'
  python/qmp: remove pylint workaround from legacy.py

 python/README.rst                             |   2 +-
 python/qemu/qmp/README.rst                    |   9 -
 python/qemu/aqmp/__init__.py                  |  59 ---
 python/qemu/aqmp/legacy.py                    | 188 --------
 python/qemu/aqmp/py.typed                     |   0
 python/qemu/machine/machine.py                |   4 +-
 python/qemu/machine/qtest.py                  |   2 +-
 python/qemu/qmp/__init__.py                   | 445 ++----------------
 python/qemu/{aqmp => qmp}/error.py            |   0
 python/qemu/{aqmp => qmp}/events.py           |   2 +-
 python/qemu/qmp/legacy.py                     | 315 +++++++++++++
 python/qemu/{aqmp => qmp}/message.py          |   0
 python/qemu/{aqmp => qmp}/models.py           |   0
 python/qemu/{aqmp => qmp}/protocol.py         |   4 +-
 python/qemu/{aqmp => qmp}/qmp_client.py       |  16 +-
 python/qemu/{aqmp => qmp}/qmp_shell.py        |   4 +-
 .../qemu/{aqmp/aqmp_tui.py => qmp/qmp_tui.py} |  15 +-
 python/qemu/{aqmp => qmp}/util.py             |   0
 python/qemu/utils/qemu_ga_client.py           |   4 +-
 python/qemu/utils/qom.py                      |   2 +-
 python/qemu/utils/qom_common.py               |   4 +-
 python/qemu/utils/qom_fuse.py                 |   2 +-
 python/setup.cfg                              |  11 +-
 python/tests/protocol.py                      |  14 +-
 scripts/cpu-x86-uarch-abi.py                  |   2 +-
 scripts/device-crash-test                     |   4 +-
 scripts/qmp/qmp-shell                         |   2 +-
 scripts/qmp/qmp-shell-wrap                    |   2 +-
 scripts/render_block_graph.py                 |   4 +-
 scripts/simplebench/bench_block_job.py        |   2 +-
 tests/qemu-iotests/iotests.py                 |   2 +-
 tests/qemu-iotests/tests/mirror-top-perms     |   4 +-
 32 files changed, 409 insertions(+), 715 deletions(-)
 delete mode 100644 python/qemu/qmp/README.rst
 delete mode 100644 python/qemu/aqmp/__init__.py
 delete mode 100644 python/qemu/aqmp/legacy.py
 delete mode 100644 python/qemu/aqmp/py.typed
 rename python/qemu/{aqmp => qmp}/error.py (100%)
 rename python/qemu/{aqmp => qmp}/events.py (99%)
 create mode 100644 python/qemu/qmp/legacy.py
 rename python/qemu/{aqmp => qmp}/message.py (100%)
 rename python/qemu/{aqmp => qmp}/models.py (100%)
 rename python/qemu/{aqmp => qmp}/protocol.py (99%)
 rename python/qemu/{aqmp => qmp}/qmp_client.py (97%)
 rename python/qemu/{aqmp => qmp}/qmp_shell.py (99%)
 rename python/qemu/{aqmp/aqmp_tui.py => qmp/qmp_tui.py} (98%)
 rename python/qemu/{aqmp => qmp}/util.py (100%)

-- 
2.34.1

Re: [PATCH v2 0/9] Python: Remove synchronous QMP library
Posted by John Snow 2 years, 1 month ago
On Wed, Mar 30, 2022 at 1:28 PM John Snow <jsnow@redhat.com> wrote:
>
> Based-on: https://gitlab.com/jsnow/qemu/-/tree/python/
> GitLab: https://gitlab.com/jsnow/qemu/-/tree/python-qmp-legacy-switch-pt1c
> CI: https://gitlab.com/jsnow/qemu/-/pipelines/505169095
>
> Hi, this series is part of an effort to publish the qemu.qmp package on
> PyPI. It is the first of three series to complete this work:
>
> --> (1) Switch the new async QMP library in as python/qemu/qmp
>     (2) Fork python/qemu/qmp out into its own repository,
>         with updated GitLab CI/CD targets to build packages.
>     (3) Update qemu.git to install qemu.qmp from PyPI,
>         and then delete python/qemu/qmp.
>
> This series finalizes swapping out the old QMP library for the new
> one. This leaves us with just one QMP library to worry about. It also
> implements the rename of "qemu.aqmp" to "qemu.qmp".
>
> This is the last patch series before I perform the actual fork.
>
> These patches are (mostly) reviewed, so I'll likely stage these fairly
> quickly barring any objections. The plan is to submit them as soon as
> the tree re-opens to help prevent rot while I work on the fork.
>
> John Snow (9):
>   python: temporarily silence pylint duplicate-code warnings
>   python/aqmp: take QMPBadPortError and parse_address from qemu.qmp
>   python/aqmp: fully separate from qmp.QEMUMonitorProtocol
>   python/aqmp: copy qmp docstrings to qemu.aqmp.legacy
>   python: remove the old QMP package
>   python: re-enable pylint duplicate-code warnings
>   python: rename qemu.aqmp to qemu.qmp
>   python: rename 'aqmp-tui' to 'qmp-tui'
>   python/qmp: remove pylint workaround from legacy.py
>
>  python/README.rst                             |   2 +-
>  python/qemu/qmp/README.rst                    |   9 -
>  python/qemu/aqmp/__init__.py                  |  59 ---
>  python/qemu/aqmp/legacy.py                    | 188 --------
>  python/qemu/aqmp/py.typed                     |   0
>  python/qemu/machine/machine.py                |   4 +-
>  python/qemu/machine/qtest.py                  |   2 +-
>  python/qemu/qmp/__init__.py                   | 445 ++----------------
>  python/qemu/{aqmp => qmp}/error.py            |   0
>  python/qemu/{aqmp => qmp}/events.py           |   2 +-
>  python/qemu/qmp/legacy.py                     | 315 +++++++++++++
>  python/qemu/{aqmp => qmp}/message.py          |   0
>  python/qemu/{aqmp => qmp}/models.py           |   0
>  python/qemu/{aqmp => qmp}/protocol.py         |   4 +-
>  python/qemu/{aqmp => qmp}/qmp_client.py       |  16 +-
>  python/qemu/{aqmp => qmp}/qmp_shell.py        |   4 +-
>  .../qemu/{aqmp/aqmp_tui.py => qmp/qmp_tui.py} |  15 +-
>  python/qemu/{aqmp => qmp}/util.py             |   0
>  python/qemu/utils/qemu_ga_client.py           |   4 +-
>  python/qemu/utils/qom.py                      |   2 +-
>  python/qemu/utils/qom_common.py               |   4 +-
>  python/qemu/utils/qom_fuse.py                 |   2 +-
>  python/setup.cfg                              |  11 +-
>  python/tests/protocol.py                      |  14 +-
>  scripts/cpu-x86-uarch-abi.py                  |   2 +-
>  scripts/device-crash-test                     |   4 +-
>  scripts/qmp/qmp-shell                         |   2 +-
>  scripts/qmp/qmp-shell-wrap                    |   2 +-
>  scripts/render_block_graph.py                 |   4 +-
>  scripts/simplebench/bench_block_job.py        |   2 +-
>  tests/qemu-iotests/iotests.py                 |   2 +-
>  tests/qemu-iotests/tests/mirror-top-perms     |   4 +-
>  32 files changed, 409 insertions(+), 715 deletions(-)
>  delete mode 100644 python/qemu/qmp/README.rst
>  delete mode 100644 python/qemu/aqmp/__init__.py
>  delete mode 100644 python/qemu/aqmp/legacy.py
>  delete mode 100644 python/qemu/aqmp/py.typed
>  rename python/qemu/{aqmp => qmp}/error.py (100%)
>  rename python/qemu/{aqmp => qmp}/events.py (99%)
>  create mode 100644 python/qemu/qmp/legacy.py
>  rename python/qemu/{aqmp => qmp}/message.py (100%)
>  rename python/qemu/{aqmp => qmp}/models.py (100%)
>  rename python/qemu/{aqmp => qmp}/protocol.py (99%)
>  rename python/qemu/{aqmp => qmp}/qmp_client.py (97%)
>  rename python/qemu/{aqmp => qmp}/qmp_shell.py (99%)
>  rename python/qemu/{aqmp/aqmp_tui.py => qmp/qmp_tui.py} (98%)
>  rename python/qemu/{aqmp => qmp}/util.py (100%)
>
> --
> 2.34.1
>

Thanks, I've tentatively queued this on my Python branch. It won't be
going out until the tree opens again, so there's some time yet to
lodge a formal complaint. O:-)

--js