[Libguestfs] [PATCH 2/2] v2v: Add --print-target to display overlay and target information.

Richard W.M. Jones rjones at redhat.com
Fri Mar 16 11:42:54 UTC 2018


On Fri, Mar 16, 2018 at 12:29:15PM +0100, Tomáš Golembiovský wrote:
> On Thu, 15 Mar 2018 17:37:46 +0000
> "Richard W.M. Jones" <rjones at redhat.com> wrote:
> 
> > This is analogous to --print-source, except that it prints the overlay
> > and target disk information.
> > 
> > The output looks like below.  Note there is one overlay and one target
> > section per disk.
> > 
> > Overlay and Target information (--print-target option):
> > 
> >              overlay file: /home/rjones/d/libguestfs/tmp/v2vovlc687fe.qcow2
> >       overlay device name: sda
> > overlay virtual disk size: 6442450944
> >   overlay source qemu URI: /var/tmp/fedora-27.img
> > 
> >           target file: [qemu] json:{ "file.driver": "nbd", "file.path": "/home/rjones/d/libguestfs/tmp/rhvupload.IWrzO6/nbdkit0.sock", "file.export": "/" }
> >         target format: raw
> > target estimated size: 2274060540
> > ---
> >  v2v/cmdline.ml   | 14 +++++++++++++-
> >  v2v/cmdline.mli  |  1 +
> >  v2v/types.ml     | 20 +++++++-------------
> >  v2v/v2v.ml       | 17 +++++++++++++++++
> >  v2v/virt-v2v.pod |  5 +++++
> >  5 files changed, 43 insertions(+), 14 deletions(-)
> > 
> > diff --git a/v2v/cmdline.ml b/v2v/cmdline.ml
> > index 4f651825a..6aba4afb5 100644
> > --- a/v2v/cmdline.ml
> > +++ b/v2v/cmdline.ml
> > @@ -44,6 +44,7 @@ type cmdline = {
> >    output_format : string option;
> >    output_name : string option;
> >    print_source : bool;
> > +  print_target : bool;
> >    root_choice : root_choice;
> >  }
> >  
> > @@ -53,6 +54,7 @@ let parse_cmdline () =
> >    let do_copy = ref true in
> >    let machine_readable = ref false in
> >    let print_source = ref false in
> > +  let print_target = ref false in
> >    let qemu_boot = ref false in
> >  
> >    let input_conn = ref None in
> > @@ -233,6 +235,8 @@ let parse_cmdline () =
> >                                      s_"Use password from file";
> >      [ L"print-source" ], Getopt.Set print_source,
> >                                      s_"Print source and stop";
> > +    [ L"print-target" ], Getopt.Set print_target,
> > +                                    s_"Print target and stop";
> >      [ L"qemu-boot" ], Getopt.Set qemu_boot, s_"Boot in qemu (-o qemu only)";
> >      [ L"rhv-cafile" ], Getopt.String ("ca.pem", set_string_option_once "--rhv-cafile" rhv_cafile),
> >                                      s_"For -o rhv-upload, set ‘ca.pem’ file";
> > @@ -330,6 +334,7 @@ read the man page virt-v2v(1).
> >    let output_storage = !output_storage in
> >    let password_file = !password_file in
> >    let print_source = !print_source in
> > +  let print_target = !print_target in
> >    let qemu_boot = !qemu_boot in
> >    let rhv_cafile = !rhv_cafile in
> >    let rhv_direct = !rhv_direct in
> > @@ -371,6 +376,12 @@ read the man page virt-v2v(1).
> >      exit 0
> >    );
> >  
> > +  (* Some options cannot be used with --in-place. *)
> > +  if in_place then (
> > +    if print_target then
> > +      error (f_"--in-place and --print-target cannot be used together")
> > +  );
> > +
> >    (* Parse out the password from the password file. *)
> >    let password =
> >      match password_file with
> > @@ -620,6 +631,7 @@ read the man page virt-v2v(1).
> >      do_copy = do_copy; in_place = in_place; network_map = network_map;
> >      output_alloc = output_alloc; output_format = output_format;
> >      output_name = output_name;
> > -    print_source = print_source; root_choice = root_choice;
> > +    print_source = print_source; print_target;
> 
> Not print_target = print_target?

It's correct, but I was planning to send another patch which would
change all the other assignments in that same struct.  Unfortunately
I forgot to do it :-(

Thanks,

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org




More information about the Libguestfs mailing list