[libvirt] [PATCH 2/7] virsh: domain: Add --print-xml flag for command change-media

Michal Privoznik mprivozn at redhat.com
Tue Mar 17 15:45:42 UTC 2015


On 12.03.2015 18:09, Peter Krempa wrote:
> 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.

s/specified/specified,/

Michal




More information about the libvir-list mailing list