[PATCH v5 0/4] compare machine type compat_props

Maksim Davydov posted 4 patches 1 year, 3 months ago
There is a newer version of this series
hw/core/machine-qmp-cmds.c    |  23 +-
python/qemu/qmp/qmp_client.py |   4 +-
qapi/machine.json             |  54 +++-
qom/qom-qmp-cmds.c            |   1 +
scripts/compare_mt.py         | 506 ++++++++++++++++++++++++++++++++++
tests/qtest/fuzz/qos_fuzz.c   |   2 +-
6 files changed, 584 insertions(+), 6 deletions(-)
create mode 100755 scripts/compare_mt.py
[PATCH v5 0/4] compare machine type compat_props
Posted by Maksim Davydov 1 year, 3 months ago
This script is necessary to choose the best machine type in the
appropriate cases. Also we have to check compat_props of the old MT
after changes to be sure that they haven't broken old the MT. For
example, pc_compat_3_1 of pc-q35-3.1 has Icelake-Client which was
removed in March.

v5 -> v4:
* minor fixes

v4 -> v3:
* increase read buffer limit to limit value in libvirt
* add caching of qmp requests to speed up the script 

v3 -> v2:
* simplify adding new methods for getting QEMU default values
* add typing
* change concept from fixed dictionaries to classes

v2 -> v1:
* fix script code style and descriptions
* reorder patches
 
v1 -> previous iteration:
* new default value print concept
* QEMU python library is used to collect qmp data
* remove auxiliary patches (that was used to fix `->get` sematics)
* print compat_props in the correct order
* delete `absract` field to reduce output JSON size

Maksim Davydov (4):
  qom: add default value
  python/qmp: increase read buffer size
  qmp: add dump machine type compatible properties
  scripts: add script to compare compatible properties

 hw/core/machine-qmp-cmds.c    |  23 +-
 python/qemu/qmp/qmp_client.py |   4 +-
 qapi/machine.json             |  54 +++-
 qom/qom-qmp-cmds.c            |   1 +
 scripts/compare_mt.py         | 506 ++++++++++++++++++++++++++++++++++
 tests/qtest/fuzz/qos_fuzz.c   |   2 +-
 6 files changed, 584 insertions(+), 6 deletions(-)
 create mode 100755 scripts/compare_mt.py

-- 
2.25.1