[libvirt PATCH v4 0/5] Make unknown XML elements fail CPU comparison

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We currently ignore unknown elements in the CPU XML description, e.g.
with virsh cpu-compare and hypervisor-cpu-compare.  This makes
'<cpu><faeture name=3D"..."/></cpu>' (note the typo in "faeture")
semantically identic to '<cpu/>'.  No error is reported.

This series adds checks for unrecognized attributes and elements in
the "<cpu>" element, catching this kind of mistake.

V1: https://www.redhat.com/archives/libvir-list/2020-September/msg00933.html
V2: https://www.redhat.com/archives/libvir-list/2020-September/msg01073.html
V3: https://www.redhat.com/archives/libvir-list/2020-September/msg01555.html

Changed:
* Some patches from V3 are merged
* Changes to commit messages
* Perform testing by means of virschematest

Tim Wiederhake (5):
  schema: Make element "topology" in host CPU definition optional
  cpu: Wire in XML validation
  tests: Rename some test files in cputestdata
  tests: Enable CPU XML validation in the tests.
  virsh: Add "validate" argument to [hypervisor-]cpu-compare

 docs/manpages/virsh.rst                       |  9 ++--
 docs/schemas/cpu_test.rng                     | 48 +++++++++++++++++++
 docs/schemas/cputypes.rng                     | 24 +++++-----
 docs/schemas/meson.build                      |  1 +
 include/libvirt/libvirt-host.h                |  2 +
 src/bhyve/bhyve_driver.c                      |  7 ++-
 src/conf/cpu_conf.c                           | 25 ++++++++--
 src/conf/cpu_conf.h                           |  6 ++-
 src/conf/domain_conf.c                        |  3 +-
 src/cpu/cpu.c                                 |  5 +-
 src/cpu/cpu.h                                 |  3 +-
 src/libxl/libxl_driver.c                      |  7 ++-
 src/qemu/qemu_domain.c                        |  5 +-
 src/qemu/qemu_driver.c                        | 18 +++++--
 src/qemu/qemu_migration_cookie.c              |  3 +-
 tests/cputest.c                               | 15 +++---
 ...invalid.xml =3D> ppc64-guest-compat-bad.xml} |  0
 ...invalid.xml =3D> ppc64-guest-legacy-bad.xml} |  0
 ...id.xml =3D> ppc64-host+guest-compat-bad.xml} |  0
 ...id.xml =3D> ppc64-host+guest-legacy-bad.xml} |  0
 tests/virschematest.c                         |  1 +
 tools/virsh-host.c                            | 14 ++++++
 22 files changed, 153 insertions(+), 43 deletions(-)
 create mode 100644 docs/schemas/cpu_test.rng
 rename tests/cputestdata/{ppc64-guest-compat-invalid.xml =3D> ppc64-guest-co=
mpat-bad.xml} (100%)
 rename tests/cputestdata/{ppc64-guest-legacy-invalid.xml =3D> ppc64-guest-le=
gacy-bad.xml} (100%)
 rename tests/cputestdata/{ppc64-host+guest-compat-invalid.xml =3D> ppc64-hos=
t+guest-compat-bad.xml} (100%)
 rename tests/cputestdata/{ppc64-host+guest-legacy-invalid.xml =3D> ppc64-hos=
t+guest-legacy-bad.xml} (100%)

--=20
2.26.2





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux