[PATCH v4 0/5] Disable Deprecated Features by Default on s390 CPU Models

Collin Walling posted 5 patches 2 months, 3 weeks ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20250613133315.41095-1-walling@linux.ibm.com
There is a newer version of this series
docs/formatdomain.rst                         |  8 ++++
src/qemu/libvirtd_qemu.aug                    |  3 ++
src/qemu/qemu.conf.in                         | 14 ++++++
src/qemu/qemu_capabilities.c                  |  6 +--
src/qemu/qemu_capabilities.h                  |  3 +-
src/qemu/qemu_conf.c                          | 33 +++++++++++++
src/qemu/qemu_conf.h                          | 12 +++++
src/qemu/qemu_driver.c                        |  3 +-
src/qemu/qemu_process.c                       | 46 +++++++++++++++----
src/qemu/test_libvirtd_qemu.aug.in            |  1 +
...ated-features-none-active.s390x-latest.xml | 25 ++++++++++
...ed-features-none-inactive.s390x-latest.xml | 25 ++++++++++
...cated-features-off-active.s390x-latest.xml | 25 ++++++++++
...ted-features-off-inactive.s390x-latest.xml | 25 ++++++++++
...ecated-features-on-active.s390x-latest.xml | 25 ++++++++++
...ated-features-on-inactive.s390x-latest.xml | 25 ++++++++++
tests/qemuxmlactivetest.c                     | 11 ++++-
...deprecated-features-none.s390x-latest.args | 32 +++++++++++++
...-deprecated-features-none.s390x-latest.xml | 25 ++++++++++
.../cpu-model-deprecated-features-none.xml    | 15 ++++++
...l-deprecated-features-on.s390x-latest.args | 32 +++++++++++++
...el-deprecated-features-on.s390x-latest.xml | 25 ++++++++++
.../cpu-model-deprecated-features-on.xml      | 15 ++++++
...default-video-type-s390x.s390x-latest.args |  2 +-
...vfio-zpci-ccw-memballoon.s390x-latest.args |  2 +-
.../launch-security-s390-pv.s390x-latest.args |  2 +-
...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args |  2 +-
.../s390-defaultconsole.s390x-latest.args     |  2 +-
.../s390-panic.s390x-latest.args              |  2 +-
tests/qemuxmlconftest.c                       |  2 +
30 files changed, 426 insertions(+), 22 deletions(-)
create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-none-active.s390x-latest.xml
create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-none-inactive.s390x-latest.xml
create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-off-active.s390x-latest.xml
create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-off-inactive.s390x-latest.xml
create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-on-active.s390x-latest.xml
create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-on-inactive.s390x-latest.xml
create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-none.s390x-latest.args
create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-none.s390x-latest.xml
create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-none.xml
create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-on.s390x-latest.args
create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-on.s390x-latest.xml
create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-on.xml
[PATCH v4 0/5] Disable Deprecated Features by Default on s390 CPU Models
Posted by Collin Walling 2 months, 3 weeks ago
Changelog

    v4
    - added qemu.conf option to dictate the default behavior for the
        deprecated_features attribute (Boris)
    - added qemuxmlactivetests (Boris)
    - snuck in missing documentation for deprecated_features in
        formatdomain.rst

    v3
    - added qemu caps check to avoid breaking s390 guests trying to
        default deprecated_features='off' on QEMU versions that
        do not support reporting these features

    v2
    - changed behavior from disabling features on the host model to 
        instead flagging the guest CPU to disable deprecated features
    - removed disabling deprecated features on host model in
        virQEMUCapsInitCPUModelS390
    - added flagging deprecated_feats in qemuProcessUpdateGuestCPU
    - added tests for deprecated_features='on'
    - split virQEMUCapsUpdateCPUDeprecatedFeatures update and
        qemuProcessUpdateGuestCPU changes

The intention of reporting deprecated features and modifying the guest
CPU model was to alleviate the user from the burden of preparing a guest
with the necessary amendments to assure migration to newer hardware.
While that goal was met by way of the "deprecated_features='on|off'"
attribute, it still adds an extra step that the user must be aware to
prepare a guest for migration and the errors that stem from an
unsuccessful migration (due to feature incompatibility) is not always
clear how to resolve.

These patches make s390 CPU *host models* migration ready from the get-go
by introducing a qemu.conf option for disabling deprecated features by
default.  They may still be disabled for other model types via the
respective attribute, or reenabled if desired.  The configured behavior
may be overridden by explicitly providing the attribute within the
guest XML.

Boris Fiuczynski (1):
  tests: new qemuxmlactive tests for s390x

Collin Walling (4):
  docs: domain: document deprecated_features attribute
  qemu: caps: add virCPUFeaturePolicy param to
    virQEMUCapsUpdateCPUDeprecatedFeatures
  qemu: process: refactor deprecated features code
  qemu: add default_cpu_deprecated_features configuration option

 docs/formatdomain.rst                         |  8 ++++
 src/qemu/libvirtd_qemu.aug                    |  3 ++
 src/qemu/qemu.conf.in                         | 14 ++++++
 src/qemu/qemu_capabilities.c                  |  6 +--
 src/qemu/qemu_capabilities.h                  |  3 +-
 src/qemu/qemu_conf.c                          | 33 +++++++++++++
 src/qemu/qemu_conf.h                          | 12 +++++
 src/qemu/qemu_driver.c                        |  3 +-
 src/qemu/qemu_process.c                       | 46 +++++++++++++++----
 src/qemu/test_libvirtd_qemu.aug.in            |  1 +
 ...ated-features-none-active.s390x-latest.xml | 25 ++++++++++
 ...ed-features-none-inactive.s390x-latest.xml | 25 ++++++++++
 ...cated-features-off-active.s390x-latest.xml | 25 ++++++++++
 ...ted-features-off-inactive.s390x-latest.xml | 25 ++++++++++
 ...ecated-features-on-active.s390x-latest.xml | 25 ++++++++++
 ...ated-features-on-inactive.s390x-latest.xml | 25 ++++++++++
 tests/qemuxmlactivetest.c                     | 11 ++++-
 ...deprecated-features-none.s390x-latest.args | 32 +++++++++++++
 ...-deprecated-features-none.s390x-latest.xml | 25 ++++++++++
 .../cpu-model-deprecated-features-none.xml    | 15 ++++++
 ...l-deprecated-features-on.s390x-latest.args | 32 +++++++++++++
 ...el-deprecated-features-on.s390x-latest.xml | 25 ++++++++++
 .../cpu-model-deprecated-features-on.xml      | 15 ++++++
 ...default-video-type-s390x.s390x-latest.args |  2 +-
 ...vfio-zpci-ccw-memballoon.s390x-latest.args |  2 +-
 .../launch-security-s390-pv.s390x-latest.args |  2 +-
 ...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args |  2 +-
 .../s390-defaultconsole.s390x-latest.args     |  2 +-
 .../s390-panic.s390x-latest.args              |  2 +-
 tests/qemuxmlconftest.c                       |  2 +
 30 files changed, 426 insertions(+), 22 deletions(-)
 create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-none-active.s390x-latest.xml
 create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-none-inactive.s390x-latest.xml
 create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-off-active.s390x-latest.xml
 create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-off-inactive.s390x-latest.xml
 create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-on-active.s390x-latest.xml
 create mode 100644 tests/qemuxmlactive2xmldata/cpu-model-deprecated-features-on-inactive.s390x-latest.xml
 create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-none.s390x-latest.args
 create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-none.s390x-latest.xml
 create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-none.xml
 create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-on.s390x-latest.args
 create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-on.s390x-latest.xml
 create mode 100644 tests/qemuxmlconfdata/cpu-model-deprecated-features-on.xml

-- 
2.47.1