Allow printing the XML that would be used mostly for debugging purposes. --- tools/virsh-domain.c | 17 +++++++++++++---- tools/virsh.pod | 3 +++ 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 8bc0512..23d0b63 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -12274,6 +12274,10 @@ static const vshCmdOptDef opts_change_media[] = { .type = VSH_OT_BOOL, .help = N_("force media changing") }, + {.name = "print-xml", + .type = VSH_OT_BOOL, + .help = N_("print XML document rather than change media") + }, {.name = NULL} }; @@ -12354,12 +12358,17 @@ cmdChangeMedia(vshControl *ctl, const vshCmd *cmd) if (!(disk_xml = vshPrepareDiskXML(disk_node, source, path, prepare_type))) goto cleanup; - if (virDomainUpdateDeviceFlags(dom, disk_xml, flags) != 0) { - vshError(ctl, _("Failed to complete action %s on media"), action); - goto cleanup; + if (vshCommandOptBool(cmd, "print-xml")) { + vshPrint(ctl, "%s", disk_xml); + } else { + if (virDomainUpdateDeviceFlags(dom, disk_xml, flags) != 0) { + vshError(ctl, _("Failed to complete action %s on media"), action); + goto cleanup; + } + + vshPrint(ctl, _("succeeded to complete action %s on media\n"), action); } - vshPrint(ctl, _("succeeded to complete action %s on media\n"), action); ret = true; cleanup: diff --git a/tools/virsh.pod b/tools/virsh.pod index 714de34..7d43f6f 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -2581,6 +2581,7 @@ expected. =item B<change-media> I<domain> I<path> [I<--eject>] [I<--insert>] [I<--update>] [I<source>] [I<--force>] [[I<--live>] [I<--config>] | [I<--current>]] +[I<--print-xml>] Change media of CDROM or floppy drive. I<path> can be the fully-qualified path or the unique target name (<target dev='hdc'>) of the disk device. I<source> @@ -2604,6 +2605,8 @@ the hypervisor's implementation. Both I<--live> and I<--config> flags may be given, but I<--current> is exclusive. If no flag is specified, behavior is different depending on hypervisor. +If I<--print-xml> is specified the XML that would be used to change media is +printed instead of changing the media. =back -- 2.2.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list