On Wed, Feb 10, 2016 at 06:40:58PM +0000, Daniel P. Berrange wrote:
[...]
I've applied all the series in this patches, to yesterday's Git master,
so I'm here:
$ git describe
pull-qcrypto-next-2016-02-02-1-378-gf9375d2
> Starting a QEMU system emulator built-in NBD server
>
> $ qemu-system-x86_64 \
> -qmp unix:/tmp/qmp,server \
> -hda /home/berrange/Fedora-Server-netinst-x86_64-23.iso \
> -object
> tls-creds-x509,id=tls0,dir=/home/berrange/security/qemutls,endpoint=server
Instead of an ISO, I have this command-line:
$QEMU \
-display none \
-nodefconfig \
-nodefaults \
-m 2048 \
-device virtio-scsi-pci,id=scsi \
-device virtio-serial-pci \
-serial stdio \
-drive file=./cirros-0.3.3.qcow2,format=qcow2,if=virtio \
-object
tls-creds-x509,id=tls0,dir=/export/security/gnutls,endpoint=server \
-qmp unix:./qmp-sock,server
> $ qmp-shell /tmp/qmp
> (qmp) nbd-server-start addr={"host":"localhost","port":"9000"}
> tls-creds=tls0
However, this invocation seem to work for me, am I doing something wrong?
$ ./qmp-shell ./qmp-sock
Welcome to the QMP low-level shell!
Connected to QEMU 2.5.50
(QEMU) nbd-server-start addr={'host:'localhost','port':'9000'}
tls-creds=tls0
{"error": {"class": "GenericError", "desc": "Invalid parameter type for
'addr', expected: QDict"}}
(QEMU)
I also tried the `rlwrap` with UNIX socket approach, the below way. You
corrected my invocation on #qemu (where I was incorrectly using
'tls-creds' as part of the "addr" struct); hope I got it right this
time:
$ rlwrap -H ~/.qmp_history socat UNIX-CONNECT:./qmp-sock STDIO
{"QMP": {"version": {"qemu": {"micro": 50, "minor": 5, "major": 2},
"package": ""}, "capabilities": []}}
{ "execute": "qmp_capabilities" }
{"return": {}}
{"execute":"nbd-server-start","arguments":{"addr":{"type":"inet","data":{"host":"localhost","port":"9000"}},
"tls-creds":"tls0"}
Which just seems to be running forever, and does not yield anything (I
was expecting a: {"return": {}}).
[...]
--
/kashyap