[PULL 00/28] Misc patchesfor python, iotests, qom, crypto & io

Daniel P. Berrangé posted 28 patches 1 week, 4 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260519125153.1015315-1-berrange@redhat.com
Maintainers: "Alex Bennée" <alex.bennee@linaro.org>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, John Snow <jsnow@redhat.com>, Cleber Rosa <crosa@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>
.gitlab-ci.d/buildtest-template.yml           |  30 ++-
.gitlab-ci.d/buildtest.yml                    |  27 +-
authz/listfile.c                              |   4 +-
crypto/tlscredsanon.c                         |   2 +
docs/devel/testing/main.rst                   |  26 +-
include/io/channel-socket.h                   |   6 +-
include/io/channel.h                          |   4 +-
include/qom/object.h                          | 121 +++++++--
include/qom/object_interfaces.h               |  18 --
io/channel-socket.c                           |  16 +-
python/scripts/vendor.py                      |   4 +-
...ny.whl => qemu_qmp-0.0.6-py3-none-any.whl} | Bin 72263 -> 72379 bytes
pythondeps.toml                               |   2 +-
qom/object.c                                  | 230 ++++++++++++++++--
qom/object_interfaces.c                       | 101 +-------
qom/trace-events                              |  12 +-
scripts/mtest2make.py                         |  30 ++-
system/qdev-monitor.c                         |   4 +-
system/vl.c                                   |   7 +-
tests/Makefile.include                        |   3 +-
tests/qemu-iotests/128                        |   6 +
tests/qemu-iotests/149                        |  13 +-
tests/qemu-iotests/185                        |   1 +
tests/qemu-iotests/common.rc                  |  16 ++
tests/qemu-iotests/meson.build                |  65 ++++-
tests/qemu-iotests/testrunner.py              |   2 +-
tests/unit/check-qom-proplist.c               |  97 ++++++--
tests/unit/test-crypto-tlssession.c           | 120 ++++++++-
28 files changed, 712 insertions(+), 255 deletions(-)
rename python/wheels/{qemu_qmp-0.0.5-py3-none-any.whl => qemu_qmp-0.0.6-py3-none-any.whl} (64%)
[PULL 00/28] Misc patchesfor python, iotests, qom, crypto & io
Posted by Daniel P. Berrangé 1 week, 4 days ago
The following changes since commit ac6721b88df944ade0048822b2b74210f543d656:

  Merge tag 'vhost-user-rtc-pr-1' of https://gitlab.com/epilys/qemu into staging (2026-05-16 17:37:33 -0400)

are available in the Git repository at:

  https://gitlab.com/berrange/qemu tags/misc-next-pull-request

for you to fetch changes up to d92ae44c28906a219e4c8e4ee8929e5fcfb2d32c:

  qom: drop user_creatable_add_type method (2026-05-18 18:23:34 +0100)

----------------------------------------------------------------
Misc patches for python, iotests, qom, crypto & io

 * Bump python-qemu-qmp to 0.6.0
 * Fix client side anoymous TLS credentials
 * Fix return value semantics for qio_channel_flush
 * Add ID validation of internal QOM constructor
 * Fix ability to create internal QOM objects
   without a parent
 * Merge user creatable object constructor into
   main QOM file
 * Print reason for skipping I/O tests
 * Remove redundant meson suits for I/O tests
 * Add I/O tests in meson for NBD and LUKS
 * Expose make targets for all block driver I/O tests
 * Run I/O tests for 10 block drivers in GitLab CI
 * Fix sudo check for LUKS I/O test
 * Mark I/O test 185 as flaky
 * Ensure stable sorting for mtest2make output

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

Daniel P. Berrangé (26):
  crypto: fix client side anonymous TLS credentials
  gitlab: ensure all meson jobs capture build/meson-logs by default
  iotests: print reason when I/O test is skipped in TAP mode
  iotests: remove redundant meson suite for iotests
  iotests: ensure all qcow2 I/O tests are able to be run via make
  scripts/mtest2make: ensure output has stable sorting
  scripts/mtest2make: support optional tests grouping
  iotests: add a meson suite / make target per block I/O tests format
  docs/devel/testing: expand documentation for 'make check-block'
  iotests: add nbd and luks to the I/O test suites
  iotests: use 'driver' as collective term for either format or protocol
  iotests: validate dmsetup result in test 128
  iotests: fix check for sudo access in LUKS I/O test
  iotests: mark 185 as a flaky test
  gitlab: add jobs for thorough block tests
  gitlab: remove I/O tests from build-tcg-disabled job
  qom: add trace events for object/property lifecycle
  qom: validate ID format when creating objects
  qom: make errp last param in methods taking va_list
  qom: shorten name of object_set_properties_from_keyval
  qom: have object_set_props_keyval return bool
  qom: move object_set_prop_keyval into object.c
  qom: add object_new_with_props_from_qdict
  qom: fix ability to create objects without a parent
  qom: allow object_new_with_prop* to trigger module loading
  qom: drop user_creatable_add_type method

John Snow (1):
  python: bump qemu.qmp to v0.0.6

Tejus GK (1):
  io: invert the return semantics of qio_channel_flush

 .gitlab-ci.d/buildtest-template.yml           |  30 ++-
 .gitlab-ci.d/buildtest.yml                    |  27 +-
 authz/listfile.c                              |   4 +-
 crypto/tlscredsanon.c                         |   2 +
 docs/devel/testing/main.rst                   |  26 +-
 include/io/channel-socket.h                   |   6 +-
 include/io/channel.h                          |   4 +-
 include/qom/object.h                          | 121 +++++++--
 include/qom/object_interfaces.h               |  18 --
 io/channel-socket.c                           |  16 +-
 python/scripts/vendor.py                      |   4 +-
 ...ny.whl => qemu_qmp-0.0.6-py3-none-any.whl} | Bin 72263 -> 72379 bytes
 pythondeps.toml                               |   2 +-
 qom/object.c                                  | 230 ++++++++++++++++--
 qom/object_interfaces.c                       | 101 +-------
 qom/trace-events                              |  12 +-
 scripts/mtest2make.py                         |  30 ++-
 system/qdev-monitor.c                         |   4 +-
 system/vl.c                                   |   7 +-
 tests/Makefile.include                        |   3 +-
 tests/qemu-iotests/128                        |   6 +
 tests/qemu-iotests/149                        |  13 +-
 tests/qemu-iotests/185                        |   1 +
 tests/qemu-iotests/common.rc                  |  16 ++
 tests/qemu-iotests/meson.build                |  65 ++++-
 tests/qemu-iotests/testrunner.py              |   2 +-
 tests/unit/check-qom-proplist.c               |  97 ++++++--
 tests/unit/test-crypto-tlssession.c           | 120 ++++++++-
 28 files changed, 712 insertions(+), 255 deletions(-)
 rename python/wheels/{qemu_qmp-0.0.5-py3-none-any.whl => qemu_qmp-0.0.6-py3-none-any.whl} (64%)

-- 
2.54.0


Re: [PULL 00/28] Misc patchesfor python, iotests, qom, crypto & io
Posted by Stefan Hajnoczi 1 week, 4 days ago
On Tue, May 19, 2026 at 8:52 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> The following changes since commit ac6721b88df944ade0048822b2b74210f543d656:
>
>   Merge tag 'vhost-user-rtc-pr-1' of https://gitlab.com/epilys/qemu into staging (2026-05-16 17:37:33 -0400)
>
> are available in the Git repository at:
>
>   https://gitlab.com/berrange/qemu tags/misc-next-pull-request
>
> for you to fetch changes up to d92ae44c28906a219e4c8e4ee8929e5fcfb2d32c:
>
>   qom: drop user_creatable_add_type method (2026-05-18 18:23:34 +0100)
>
> ----------------------------------------------------------------
> Misc patches for python, iotests, qom, crypto & io
>
>  * Bump python-qemu-qmp to 0.6.0
>  * Fix client side anoymous TLS credentials
>  * Fix return value semantics for qio_channel_flush
>  * Add ID validation of internal QOM constructor
>  * Fix ability to create internal QOM objects
>    without a parent
>  * Merge user creatable object constructor into
>    main QOM file
>  * Print reason for skipping I/O tests
>  * Remove redundant meson suits for I/O tests
>  * Add I/O tests in meson for NBD and LUKS
>  * Expose make targets for all block driver I/O tests
>  * Run I/O tests for 10 block drivers in GitLab CI
>  * Fix sudo check for LUKS I/O test
>  * Mark I/O test 185 as flaky
>  * Ensure stable sorting for mtest2make output
>
> ----------------------------------------------------------------

The following vfio_user_client tests are failed:
https://gitlab.com/qemu-project/qemu/-/jobs/14442956771
https://gitlab.com/qemu-project/qemu/-/jobs/14442956762
https://gitlab.com/qemu-project/qemu/-/jobs/14442956764

Please take a look. The tests passed when I dropped your pull request
from the staging tree, but I'm not sure what caused the failures.

If you need to change something, please send a v2 pull request.

If you cannot reproduce the failure, please let me know.

Thanks,
Stefan

>
> Daniel P. Berrangé (26):
>   crypto: fix client side anonymous TLS credentials
>   gitlab: ensure all meson jobs capture build/meson-logs by default
>   iotests: print reason when I/O test is skipped in TAP mode
>   iotests: remove redundant meson suite for iotests
>   iotests: ensure all qcow2 I/O tests are able to be run via make
>   scripts/mtest2make: ensure output has stable sorting
>   scripts/mtest2make: support optional tests grouping
>   iotests: add a meson suite / make target per block I/O tests format
>   docs/devel/testing: expand documentation for 'make check-block'
>   iotests: add nbd and luks to the I/O test suites
>   iotests: use 'driver' as collective term for either format or protocol
>   iotests: validate dmsetup result in test 128
>   iotests: fix check for sudo access in LUKS I/O test
>   iotests: mark 185 as a flaky test
>   gitlab: add jobs for thorough block tests
>   gitlab: remove I/O tests from build-tcg-disabled job
>   qom: add trace events for object/property lifecycle
>   qom: validate ID format when creating objects
>   qom: make errp last param in methods taking va_list
>   qom: shorten name of object_set_properties_from_keyval
>   qom: have object_set_props_keyval return bool
>   qom: move object_set_prop_keyval into object.c
>   qom: add object_new_with_props_from_qdict
>   qom: fix ability to create objects without a parent
>   qom: allow object_new_with_prop* to trigger module loading
>   qom: drop user_creatable_add_type method
>
> John Snow (1):
>   python: bump qemu.qmp to v0.0.6
>
> Tejus GK (1):
>   io: invert the return semantics of qio_channel_flush
>
>  .gitlab-ci.d/buildtest-template.yml           |  30 ++-
>  .gitlab-ci.d/buildtest.yml                    |  27 +-
>  authz/listfile.c                              |   4 +-
>  crypto/tlscredsanon.c                         |   2 +
>  docs/devel/testing/main.rst                   |  26 +-
>  include/io/channel-socket.h                   |   6 +-
>  include/io/channel.h                          |   4 +-
>  include/qom/object.h                          | 121 +++++++--
>  include/qom/object_interfaces.h               |  18 --
>  io/channel-socket.c                           |  16 +-
>  python/scripts/vendor.py                      |   4 +-
>  ...ny.whl => qemu_qmp-0.0.6-py3-none-any.whl} | Bin 72263 -> 72379 bytes
>  pythondeps.toml                               |   2 +-
>  qom/object.c                                  | 230 ++++++++++++++++--
>  qom/object_interfaces.c                       | 101 +-------
>  qom/trace-events                              |  12 +-
>  scripts/mtest2make.py                         |  30 ++-
>  system/qdev-monitor.c                         |   4 +-
>  system/vl.c                                   |   7 +-
>  tests/Makefile.include                        |   3 +-
>  tests/qemu-iotests/128                        |   6 +
>  tests/qemu-iotests/149                        |  13 +-
>  tests/qemu-iotests/185                        |   1 +
>  tests/qemu-iotests/common.rc                  |  16 ++
>  tests/qemu-iotests/meson.build                |  65 ++++-
>  tests/qemu-iotests/testrunner.py              |   2 +-
>  tests/unit/check-qom-proplist.c               |  97 ++++++--
>  tests/unit/test-crypto-tlssession.c           | 120 ++++++++-
>  28 files changed, 712 insertions(+), 255 deletions(-)
>  rename python/wheels/{qemu_qmp-0.0.5-py3-none-any.whl => qemu_qmp-0.0.6-py3-none-any.whl} (64%)
>
> --
> 2.54.0
>
>
Re: [PULL 00/28] Misc patchesfor python, iotests, qom, crypto & io
Posted by Daniel P. Berrangé 1 week, 3 days ago
On Tue, May 19, 2026 at 01:19:27PM -0400, Stefan Hajnoczi wrote:
> On Tue, May 19, 2026 at 8:52 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
> >
> > The following changes since commit ac6721b88df944ade0048822b2b74210f543d656:
> >
> >   Merge tag 'vhost-user-rtc-pr-1' of https://gitlab.com/epilys/qemu into staging (2026-05-16 17:37:33 -0400)
> >
> > are available in the Git repository at:
> >
> >   https://gitlab.com/berrange/qemu tags/misc-next-pull-request
> >
> > for you to fetch changes up to d92ae44c28906a219e4c8e4ee8929e5fcfb2d32c:
> >
> >   qom: drop user_creatable_add_type method (2026-05-18 18:23:34 +0100)
> >
> > ----------------------------------------------------------------
> > Misc patches for python, iotests, qom, crypto & io
> >
> >  * Bump python-qemu-qmp to 0.6.0
> >  * Fix client side anoymous TLS credentials
> >  * Fix return value semantics for qio_channel_flush
> >  * Add ID validation of internal QOM constructor
> >  * Fix ability to create internal QOM objects
> >    without a parent
> >  * Merge user creatable object constructor into
> >    main QOM file
> >  * Print reason for skipping I/O tests
> >  * Remove redundant meson suits for I/O tests
> >  * Add I/O tests in meson for NBD and LUKS
> >  * Expose make targets for all block driver I/O tests
> >  * Run I/O tests for 10 block drivers in GitLab CI
> >  * Fix sudo check for LUKS I/O test
> >  * Mark I/O test 185 as flaky
> >  * Ensure stable sorting for mtest2make output
> >
> > ----------------------------------------------------------------
> 
> The following vfio_user_client tests are failed:
> https://gitlab.com/qemu-project/qemu/-/jobs/14442956771
> https://gitlab.com/qemu-project/qemu/-/jobs/14442956762
> https://gitlab.com/qemu-project/qemu/-/jobs/14442956764
> 
> Please take a look. The tests passed when I dropped your pull request
> from the staging tree, but I'm not sure what caused the failures.

The cause is that the vfio-user code did not use a well formed
ID when creating an iothread from its internal code, and the
internal QOM APIs failed to validate a wellformed ID until a
patch in this series.

The (trivial) fix for this pull is this patch:

  https://lists.gnu.org/archive/html/qemu-devel/2026-05/msg04931.html

With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|


Re: [PULL 00/28] Misc patchesfor python, iotests, qom, crypto & io
Posted by Daniel P. Berrangé 1 week, 3 days ago
On Tue, May 19, 2026 at 01:19:27PM -0400, Stefan Hajnoczi wrote:
> On Tue, May 19, 2026 at 8:52 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
> >
> > The following changes since commit ac6721b88df944ade0048822b2b74210f543d656:
> >
> >   Merge tag 'vhost-user-rtc-pr-1' of https://gitlab.com/epilys/qemu into staging (2026-05-16 17:37:33 -0400)
> >
> > are available in the Git repository at:
> >
> >   https://gitlab.com/berrange/qemu tags/misc-next-pull-request
> >
> > for you to fetch changes up to d92ae44c28906a219e4c8e4ee8929e5fcfb2d32c:
> >
> >   qom: drop user_creatable_add_type method (2026-05-18 18:23:34 +0100)
> >
> > ----------------------------------------------------------------
> > Misc patches for python, iotests, qom, crypto & io
> >
> >  * Bump python-qemu-qmp to 0.6.0
> >  * Fix client side anoymous TLS credentials
> >  * Fix return value semantics for qio_channel_flush
> >  * Add ID validation of internal QOM constructor
> >  * Fix ability to create internal QOM objects
> >    without a parent
> >  * Merge user creatable object constructor into
> >    main QOM file
> >  * Print reason for skipping I/O tests
> >  * Remove redundant meson suits for I/O tests
> >  * Add I/O tests in meson for NBD and LUKS
> >  * Expose make targets for all block driver I/O tests
> >  * Run I/O tests for 10 block drivers in GitLab CI
> >  * Fix sudo check for LUKS I/O test
> >  * Mark I/O test 185 as flaky
> >  * Ensure stable sorting for mtest2make output
> >
> > ----------------------------------------------------------------
> 
> The following vfio_user_client tests are failed:
> https://gitlab.com/qemu-project/qemu/-/jobs/14442956771
> https://gitlab.com/qemu-project/qemu/-/jobs/14442956762
> https://gitlab.com/qemu-project/qemu/-/jobs/14442956764
> 
> Please take a look. The tests passed when I dropped your pull request
> from the staging tree, but I'm not sure what caused the failures.

Oh those are some jobs which don't run by default in forks.

Now I've manually run them I see the failures too, so I can
investigate.


With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|