qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 0/5] qmp-shell modifications for non-interactive use


From: Damien Hedde
Subject: Re: [PATCH 0/5] qmp-shell modifications for non-interactive use
Date: Wed, 23 Feb 2022 10:57:29 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.6.1



On 2/22/22 11:31, Daniel P. Berrangé wrote:
On Tue, Feb 22, 2022 at 10:38:09AM +0100, Damien Hedde wrote:


Here I just wanted to propose a simple way to just send a
bunch of commands from a source file and stop if something unexpected
happens.
Only goal is to be able to share a file on the ml and allow people to
reproduce easily.
We can already redirect the input, but it is almost impossible to see
if something failed.

Yes, I see what you mean. So the problem with using 'socat' or similar
is that we fill the input with commands and response appear asynchronously,
so we can't match them up easily. This is actually a problem seen in the
block I/O tests which just send QMP stuff in a batch.

While you could do this by invoking socat once for each command, that
gets silly with the repeated QMP handshake for each command.

The thing about using qmp-shell is that it does a bunch of extra stuff
targetted at humans on top, and history tells us it isn't a good idea
to mix stuff for humans and machines in the same tool/interface.

How about instead creating a separate 'qmp-send' command that is not
much more than a "QMP-aware socat".  By which I mean, it just reads
raw QMP commands from stdin, sends each one to the server, but
crucially waits for a reply after sending each, and stops on first
error reponse.

By 'qmp-send' command, you mean another script in scripts/qmp ?
Yes

If we go for another script, I would rather do one with wrap
feature (like your series) to start qemu as well.

--
Damien



reply via email to

[Prev in Thread] Current Thread [Next in Thread]