=pod

=head1 NAME

virt-convert - convert ovf/vmx to native libvirt guests

=head1 SYNOPSIS

B<virt-convert> INPUT.vmx|INPUT.ovf|INPUT-DIR|INPUT.zip [OPTIONS]

=head1 DESCRIPTION

B<virt-convert> is a command line tool for converting VMX or OVF virtual
machines to native libvirt XML. Disk format conversion can also be done
at the same time.

The simplest invocation is simply: virt-convert INPUT. INPUT might be
a .vmx or .ovf file, a directory containing a .vmx or .ovf file (and
likely 1 or more disk images), or an appliance archive like .zip, .tar.gz,
or .ova. virt-convert will try to do the right thing in each case.

By default, the virt-convert will convert all encountered disk images
to 'raw' format, sending the output to a new directory location. So the
original disk images are _not_ altered in place.



=head1 OPTIONS

=over 4

=item B<--connect> URI

Connect to a non-default hypervisor. See L<virt-install(1)> for details

=back




=head1 CONVERSION OPTIONS

=over 4

=item B<-i> INPUT-FORMAT

=item B<--input-format> INPUT-FORMAT

Input format. This should be auto-detected, but can be forced if necessary. Currently C<vmx> and C<ovf> are supported.

=item B<-D> OUTPUT-FORMAT

=item B<--disk-format> OUTPUT-FORMAT

Output disk format. The default is 'raw', so any encountered disk images will be converted to 'raw' format using L<qemu-img(1)>. Pass C<none> if no conversion should be performed: in this case the images will just be copied to the specified --destination.

=item B<--destination> DIRECTORY

The directory to send converted/copied disk images. If not specified, the hypervisor default is used, typically /var/lib/libvirt/images.

=back




=head1 MISCELLANEOUS OPTIONS

=over 4

=item B<--noautoconsole>

Don't automatically try to connect to the guest console. The default behaviour
is to launch L<virt-viewer(1)> to display the graphical console, or to run the
C<virsh> C<console> command to display the text console. Use of this parameter
will disable this behaviour.

=item B<--print-xml>

Print the generated libvirt XML, but do not perform any disk conversions or
install/start the guest. This option implies --dry-run.

=item B<--dry-run>

Proceed through the conversion process, but don't convert disks or actually
write any converted files.

=item B<-h>

=item B<--help>

Show the help message and exit

=item B<--version>

Show program's version number and exit

=item B<-q>

=item B<--quiet>

Avoid verbose output.

=item B<-d>

=item B<--debug>

Print debugging information

=back




=head1 EXAMPLES

Run a fedora18 OVA archive:

  # virt-convert fedora18.ova

Run an extracted zip archive containing a centos6 .vmx and .vmdk file, converting the images to qcow2 format

  # virt-convert centos6/ --disk-format qcow2

Convert the specified .vmx file. Any references disk images must be in the same directory. Don't change the disk format. Move the disk images to /tmp

  # virt-convert foo.vmx --disk-format none --destination /tmp

=head1 BUGS

Please see https://virt-manager.org/page/BugReporting

=head1 COPYRIGHT

Copyright (C) Red Hat, Inc, and various contributors.
This is free software. You may redistribute copies of it under the terms
of the GNU General Public License C<https://www.gnu.org/licenses/gpl.html>.
There is NO WARRANTY, to the extent permitted by law.

=head1 SEE ALSO

L<virt-install(1)>, the project website C<https://virt-manager.org>

=cut

