[libvirt PATCH v3 7/8] virsh: Add "validate" argument to [hypervisor-]cpu-compare

Tim Wiederhake twiederh at redhat.com
Wed Sep 30 11:55:04 UTC 2020


Signed-off-by: Tim Wiederhake <twiederh at redhat.com>
---
 docs/manpages/virsh.rst |  9 ++++++---
 tools/virsh-host.c      | 14 ++++++++++++++
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
index ebf4f16cf7..86ef51ff17 100644
--- a/docs/manpages/virsh.rst
+++ b/docs/manpages/virsh.rst
@@ -866,7 +866,7 @@ cpu-compare
 
 .. code-block::
 
-   cpu-compare FILE [--error]
+   cpu-compare FILE [--error] [--validate]
 
 Compare CPU definition from XML <file> with host CPU. (See
 ``hypervisor-cpu-compare`` command for comparing the CPU definition with the CPU
@@ -882,7 +882,8 @@ the CPU definition. For more information on guest CPU definition see:
 `https://libvirt.org/formatdomain.html#elementsCPU <https://libvirt.org/formatdomain.html#elementsCPU>`__. If *--error* is
 specified, the command will return an error when the given CPU is
 incompatible with host CPU and a message providing more details about the
-incompatibility will be printed out.
+incompatibility will be printed out. If *--validate* is specified, validates
+the format of the XML document against an internal RNG schema.
 
 
 cpu-models
@@ -928,7 +929,7 @@ hypervisor-cpu-compare
 
 .. code-block::
 
-   hypervisor-cpu-compare FILE [virttype] [emulator] [arch] [machine] [--error]
+   hypervisor-cpu-compare FILE [virttype] [emulator] [arch] [machine] [--error] [--validate]
 
 Compare CPU definition from XML <file> with the CPU the hypervisor is able to
 provide on the host. (This is different from ``cpu-compare`` which compares the
@@ -951,6 +952,8 @@ specifies the path to the emulator, *arch* specifies the CPU architecture, and
 *machine* specifies the machine type. If *--error* is specified, the command
 will return an error when the given CPU is incompatible with the host CPU and a
 message providing more details about the incompatibility will be printed out.
+If *--validate* is specified, validates the format of the XML document against
+an internal RNG schema.
 
 
 hypervisor-cpu-baseline
diff --git a/tools/virsh-host.c b/tools/virsh-host.c
index 722c47958b..d5d75ade24 100644
--- a/tools/virsh-host.c
+++ b/tools/virsh-host.c
@@ -1214,6 +1214,10 @@ static const vshCmdOptDef opts_cpu_compare[] = {
      .type = VSH_OT_BOOL,
      .help = N_("report error if CPUs are incompatible")
     },
+    {.name = "validate",
+     .type = VSH_OT_BOOL,
+     .help = N_("validate the XML document against schema")
+    },
     {.name = NULL}
 };
 
@@ -1230,6 +1234,9 @@ cmdCPUCompare(vshControl *ctl, const vshCmd *cmd)
     if (vshCommandOptBool(cmd, "error"))
         flags |= VIR_CONNECT_COMPARE_CPU_FAIL_INCOMPATIBLE;
 
+    if (vshCommandOptBool(cmd, "validate"))
+        flags |= VIR_CONNECT_COMPARE_CPU_VALIDATE_XML;
+
     if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0)
         return false;
 
@@ -1636,6 +1643,10 @@ static const vshCmdOptDef opts_hypervisor_cpu_compare[] = {
      .type = VSH_OT_BOOL,
      .help = N_("report error if CPUs are incompatible")
     },
+    {.name = "validate",
+     .type = VSH_OT_BOOL,
+     .help = N_("validate the XML document against schema")
+    },
     {.name = NULL}
 };
 
@@ -1657,6 +1668,9 @@ cmdHypervisorCPUCompare(vshControl *ctl,
     if (vshCommandOptBool(cmd, "error"))
         flags |= VIR_CONNECT_COMPARE_CPU_FAIL_INCOMPATIBLE;
 
+    if (vshCommandOptBool(cmd, "validate"))
+        flags |= VIR_CONNECT_COMPARE_CPU_VALIDATE_XML;
+
     if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0 ||
         vshCommandOptStringReq(ctl, cmd, "virttype", &virttype) < 0 ||
         vshCommandOptStringReq(ctl, cmd, "emulator", &emulator) < 0 ||
-- 
2.26.2




More information about the libvir-list mailing list