* Some comments on using qemu-storage-daemon
@ 2020-09-30 8:40 Richard W.M. Jones
2020-09-30 8:49 ` Daniel P. Berrangé
0 siblings, 1 reply; 3+ messages in thread
From: Richard W.M. Jones @ 2020-09-30 8:40 UTC (permalink / raw)
To: qemu-devel, kwolf
I understand that QSD is at an early stage of development and I'm sure
you have plans to fix these things. Nevertheless here are my comments
after trying to add an interop test with libnbd.
(1) Documentation! (Or complete lack of it ...) I had to ask Kevin
how to construct the command line because several things were not
obvious. In particular the --blockdev parameters only make sense if
you're already used to constructing blockdev parameters (and these
are, separately, not well-documented). And you have to supply the
parameters in a particular order on the command line, else it doesn't
work.
(2) There seems to be no --pid-file option, so there's no way of
knowing when the server is ready to accept connections, except to
start QSD and then "sleep for a bit".
(3) Seems to be no support for either serving requests over
stdin/stdout (qemu-nbd also lacks this, but it's common for other NBD
servers); or for systemd socket activation (qemu-nbd supports this).
(4) Some parameter names changed between 5.1 and upstream. I
understand that you're still finalizing the command line, so this
isn't a problem in itself, but others who try to use QSD will need to
be aware of it.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Some comments on using qemu-storage-daemon
2020-09-30 8:40 Some comments on using qemu-storage-daemon Richard W.M. Jones
@ 2020-09-30 8:49 ` Daniel P. Berrangé
2020-09-30 9:08 ` Richard W.M. Jones
0 siblings, 1 reply; 3+ messages in thread
From: Daniel P. Berrangé @ 2020-09-30 8:49 UTC (permalink / raw)
To: Richard W.M. Jones; +Cc: kwolf, qemu-devel
On Wed, Sep 30, 2020 at 09:40:59AM +0100, Richard W.M. Jones wrote:
> I understand that QSD is at an early stage of development and I'm sure
> you have plans to fix these things. Nevertheless here are my comments
> after trying to add an interop test with libnbd.
>
> (1) Documentation! (Or complete lack of it ...) I had to ask Kevin
> how to construct the command line because several things were not
> obvious. In particular the --blockdev parameters only make sense if
> you're already used to constructing blockdev parameters (and these
> are, separately, not well-documented). And you have to supply the
> parameters in a particular order on the command line, else it doesn't
> work.
>
> (2) There seems to be no --pid-file option, so there's no way of
> knowing when the server is ready to accept connections, except to
> start QSD and then "sleep for a bit".
It supports QMP via the normal chardev framework, so you can pre-create
a UNIX listener socket and pass in the pre-opened FD. The parent just
sends the QMP handshake, and waits until it gets EOF (exited during
startup) or gets the QMP response (successfully running).
>
> (3) Seems to be no support for either serving requests over
> stdin/stdout (qemu-nbd also lacks this, but it's common for other NBD
> servers); or for systemd socket activation (qemu-nbd supports this).
>
> (4) Some parameter names changed between 5.1 and upstream. I
> understand that you're still finalizing the command line, so this
> isn't a problem in itself, but others who try to use QSD will need to
> be aware of it.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Some comments on using qemu-storage-daemon
2020-09-30 8:49 ` Daniel P. Berrangé
@ 2020-09-30 9:08 ` Richard W.M. Jones
0 siblings, 0 replies; 3+ messages in thread
From: Richard W.M. Jones @ 2020-09-30 9:08 UTC (permalink / raw)
To: Daniel P. Berrangé; +Cc: kwolf, qemu-devel
On Wed, Sep 30, 2020 at 09:49:00AM +0100, Daniel P. Berrangé wrote:
> On Wed, Sep 30, 2020 at 09:40:59AM +0100, Richard W.M. Jones wrote:
> > I understand that QSD is at an early stage of development and I'm sure
> > you have plans to fix these things. Nevertheless here are my comments
> > after trying to add an interop test with libnbd.
> >
> > (1) Documentation! (Or complete lack of it ...) I had to ask Kevin
> > how to construct the command line because several things were not
> > obvious. In particular the --blockdev parameters only make sense if
> > you're already used to constructing blockdev parameters (and these
> > are, separately, not well-documented). And you have to supply the
> > parameters in a particular order on the command line, else it doesn't
> > work.
> >
> > (2) There seems to be no --pid-file option, so there's no way of
> > knowing when the server is ready to accept connections, except to
> > start QSD and then "sleep for a bit".
>
> It supports QMP via the normal chardev framework, so you can pre-create
> a UNIX listener socket and pass in the pre-opened FD. The parent just
> sends the QMP handshake, and waits until it gets EOF (exited during
> startup) or gets the QMP response (successfully running).
This is all fine when run from libvirt (and I do understand that QSD
is all about that, not necessarily a standalone general purpose
server), but also that's a massive hassle for anyone else trying to
use QSD. I'm not confident I could correctly formulate the set of QMP
commands that would be needed to make this work, even with the
documentation and full source code.
Also this moves the problem to "when is the chardev socket ready",
especially when not using chardev over stdio.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-09-30 9:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-30 8:40 Some comments on using qemu-storage-daemon Richard W.M. Jones
2020-09-30 8:49 ` Daniel P. Berrangé
2020-09-30 9:08 ` Richard W.M. Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).