[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.11 v2 4/5] qmp-shell: Accept QMP command a
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH for-2.11 v2 4/5] qmp-shell: Accept QMP command as argument |
Date: |
Mon, 21 Aug 2017 11:22:20 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) |
Eduardo Habkost <address@hidden> writes:
> On Wed, Aug 16, 2017 at 08:25:41AM +0200, Markus Armbruster wrote:
>> Eduardo Habkost <address@hidden> writes:
>>
>> > On Tue, Aug 15, 2017 at 12:03:53PM +0200, Markus Armbruster wrote:
>> >> Eduardo Habkost <address@hidden> writes:
>> >>
>> >> Suggest to insert here:
>> >>
>> >> If additional arguments QMP-COMMAND ARG=VAL... are given, run just
>> >> that QMP command instead of the REPL.
>> >>
>> >> Question: is this limited to simple arguments? If no, how would I write
>> >> an object argument? For instance, how would I do
>> >>
>> >> { "execute": "blockdev-add", "arguments": { "node-name": "foo",
>> >> "driver": "nbd", "server": { "type": "inet", "host": "localhost", "port":
>> >> "12345" } } }
>> >>
>> >> ?
>> >
>> > Exactly the same way you would write it when running qmp-shell in
>> > interactive mode. e.g.:
>> >
>> > $ ./scripts/qmp/qmp-shell /tmp/qmp blockdev-add driver=qcow2
>> > node-name=node-E 'file={"driver":"file","filename":"/path/to/file.qcow2"}'
>>
>> I see.
>>
>> The QEMU command line uses dotted key syntax instead.
>
> You mean -blockdev, or is there another way to send QMP commands
> to QEMU that I'm not aware of?
Dotted keys were invented for the block layer's -drive. I adopted them
for -blockdev after considerable discussion. The -blockdev code is all
new, and it even has documentation and tests.
>> To be honest, the less qmp-shell is used, the happier I am.
>
> What people would use instead of it?
The syntactic sugar qmp-shell provides over plain QMP doesn't simplify
its use all that much, and it can get in the way.
For my interactive QMP needs, I use
$ socat UNIX:/wherever/qmp-socket
READLINE,history=$HOME/.qmp_history,prompt='QMP> '
In programs, I send or receive either plain text or JSON objects,
depending on the program's needs. Libqtest supports the latter.
>> Would you
>> like to serve as its sub-maintainer?
>
> I'd be glad to.
Great! Please post a suitable MAINTAINERS stanza.
- Re: [Qemu-devel] [PATCH for-2.11 v2 1/5] qmp-shell: Use optparse module, (continued)
[Qemu-devel] [PATCH for-2.11 v2 5/5] Remove scripts/qmp/qmp, Eduardo Habkost, 2017/08/08