virsh: domain: Add --print-xml flag for command change-media

Allow printing the XML that would be used mostly for debugging purposes.
This commit is contained in:
Peter Krempa 2015-03-12 16:04:00 +01:00
parent 1cc820937a
commit 4cbcaffb74
2 changed files with 16 additions and 4 deletions

View File

@ -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:

View File

@ -2597,6 +2597,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>
@ -2620,6 +2621,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