On Thu, Jun 29, 2023 at 02:34:43PM +0200, Laszlo Ersek wrote:
> It has frequently tripped us up that on RHEL / Fedora, installing the
> right set of libvirt RPMs (such as the one pulled in by
> "libvirt-daemon-kvm") does not result in an immediately running libvirt
> system instance.  Document the need, and the simplest method, for starting
> libvirt up manually.
> 
> Thanks: Daniel Berrangé
> Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2182024
> Signed-off-by: Laszlo Ersek <ler...@redhat.com>
> ---
> 
> Notes:
>     v2:
>     
>     - rewrite using the language suggested by Rich
>     
>     context:-U12
> 
>  docs/virt-v2v.pod | 23 +++++++++++++++++++-
>  1 file changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/docs/virt-v2v.pod b/docs/virt-v2v.pod
> index 4d2f241ad723..ac15108ae332 100644
> --- a/docs/virt-v2v.pod
> +++ b/docs/virt-v2v.pod
> @@ -250,24 +250,26 @@ metadata.  virt-v2v tries to guess the best default 
> metadata.  This is
>  usually adequate but you can get finer control (eg. of memory and
>  vCPUs) by using I<-i libvirtxml> instead.  Only guests that use a single
>  disk can be imported this way.
>  
>  =item B<-i> B<libvirt>
>  
>  Set the input method to I<libvirt>.  This is the default.
>  
>  In this mode you have to specify a libvirt guest name or UUID on the
>  command line.  You may also specify a libvirt connection URI (see
>  I<-ic>).
>  
> +See L</Starting the libvirt system instance> below.
> +
>  =item B<-i> B<libvirtxml>
>  
>  Set the input method to I<libvirtxml>.
>  
>  In this mode you have to pass a libvirt XML file on the command line.
>  This file is read in order to get metadata about the source guest
>  (such as its name, amount of memory), and also to locate the input
>  disks.  See L</Minimal XML for -i libvirtxml option> below.
>  
>  =item B<-i> B<local>
>  
>  This is the same as I<-i disk>.
> @@ -461,25 +463,26 @@ and guest metadata is created in the associated YAML 
> file:
>  
>   /dir/name.yaml
>  
>  where C<name> is the guest name.
>  
>  =item B<-o> B<libvirt>
>  
>  Set the output method to I<libvirt>.  This is the default.
>  
>  In this mode, the converted guest is created as a libvirt guest.  You
>  may also specify a libvirt connection URI (see I<-oc>).
>  
> -See L<virt-v2v-output-local(1)>.
> +See L</Starting the libvirt system instance> below, and
> +L<virt-v2v-output-local(1)>.
>  
>  =item B<-o> B<local>
>  
>  Set the output method to I<local>.
>  
>  In this mode, the converted guest is written to a local directory
>  specified by I<-os /dir> (the directory must exist).  The converted
>  guest’s disks are written as:
>  
>   /dir/name-sda
>   /dir/name-sdb
>   [etc]
> @@ -1373,24 +1376,26 @@ manually change ownership after virt-v2v has finished.
>  =item Writing to libvirt
>  
>  When using I<-o libvirt>, you may need to run virt-v2v as root so that
>  it can write to the libvirt system instance (ie. C<qemu:///system>)
>  and to the default location for disk images (usually
>  F</var/lib/libvirt/images>).
>  
>  You can avoid this by setting up libvirt connection authentication,
>  see L<http://libvirt.org/auth.html>.  Alternatively, use
>  I<-oc qemu:///session>, which will write to your per-user libvirt
>  instance.
>  
> +See also L</Starting the libvirt system instance>.
> +
>  =item Writing to Openstack
>  
>  Because of how Cinder volumes are presented as F</dev> block devices,
>  using I<-o openstack> normally requires that virt-v2v is run as root.
>  
>  =item Writing to Glance
>  
>  This does I<not> need root (in fact it probably won’t work), but may
>  require either a special user and/or for you to source a script that
>  sets authentication environment variables.  Consult the Glance
>  documentation.
>  
> @@ -1521,24 +1526,40 @@ displayed to the user.
>  The calling program should treat messages sent to stderr as error
>  messages.  In addition, virt-v2v exits with a non-zero status
>  code if there was a fatal error.
>  
>  =back
>  
>  Virt-v2v E<le> 0.9.1 did not support the I<--machine-readable>
>  option at all.  The option was added when virt-v2v was rewritten in 2014.
>  
>  It is possible to specify a format string for controlling the output;
>  see L<guestfs(3)/ADVANCED MACHINE READABLE OUTPUT>.
>  
> +=head2 Starting the libvirt system instance
> +
> + Failed to connect socket to '/var/run/libvirt/virtqemud-sock': No such file 
> or directory
> + Failed to connect socket to '/var/run/libvirt/virtqemud-sock-ro': 
> Connection refused
> +
> +If you have just installed libvirt and virt-v2v, then you may see the
> +errors above.  This is caused by libvirt daemons that provide various
> +services not running straight after installation.  (This may depend on
> +your distribution and vendor presets).
> +
> +To fix this on systemd-based distributions, do:
> +
> + systemctl isolate multi-user.target
> +
> +See also L<https://bugzilla.redhat.com/2182024>.
> +
>  =head1 FILES
>  
>  =over 4
>  
>  =item F</usr/share/virtio-win>
>  
>  (Optional)
>  
>  If this directory is present, then virtio drivers for Windows guests
>  will be found from this directory and installed in the guest during
>  conversion.

This seems much clearer to me:

Reviewed-by: Richard W.M. Jones <rjo...@redhat.com>

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
nbdkit - Flexible, fast NBD server with plugins
https://gitlab.com/nbdkit/nbdkit
_______________________________________________
Libguestfs mailing list
Libguestfs@redhat.com
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to