From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47052) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGr3k-0004UJ-9t for qemu-devel@nongnu.org; Thu, 29 Jan 2015 10:31:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YGr3g-000058-Jg for qemu-devel@nongnu.org; Thu, 29 Jan 2015 10:31:08 -0500 Received: from mx1.redhat.com ([209.132.183.28]:35020) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YGr3g-0008WV-Co for qemu-devel@nongnu.org; Thu, 29 Jan 2015 10:31:04 -0500 Date: Thu, 29 Jan 2015 15:15:27 +0000 From: "Daniel P. Berrange" Message-ID: <20150129151527.GE1102@redhat.com> References: <1422543997-22808-1-git-send-email-dgilbert@redhat.com> <1422543997-22808-2-git-send-email-dgilbert@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1422543997-22808-2-git-send-email-dgilbert@redhat.com> Subject: Re: [Qemu-devel] [RFC 1/1] Execute arbitrary QMP commands from command line Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert (git)" Cc: amit.shah@redhat.com, liang.z.li@intel.com, qemu-devel@nongnu.org, quintela@redhat.com On Thu, Jan 29, 2015 at 03:06:37PM +0000, Dr. David Alan Gilbert (git) wrote: > From: "Dr. David Alan Gilbert" > > For an incoming migration it's potentially useful to be able to set > capabilities and parameters prior to opening the connection, while > a separate option for that would have been possible it seems better > to give access to all the existing migration capabilities, parameters > etc. The least restrictive way of doing this is to allow arbitrary > QMP commands to be executed prior to the -incoming being processed. > > As an example: > > ./bin/qemu-system-x86_64 -nographic -nodefaults -qmp-command '{"execute": "migrate-set-capabilities", "arguments":{"capabilities":[{"capability":"xbzrle","state":true}]}}' -qmp-command '{"execute": "query-migrate-capabilities"}' -incoming tcp::444 I'm unclear how we'd easily deal with the response from commands invoked this way, to get replies and/or errors. Also, it might be the case that we need to conditionally run certain commands depending on the result of earlier commands. Wouldn't it make more sense to simply add a 'migrate_incoming' QMP command, and stop using -incoming altogether, so we just have normal QMP access ? eg, # qemu-system-x86_64 ....device args... -S (qmp) ....arbitrary QMP commands .. (qmp) {"execute":"migrate-incoming", "arguments": { "uri": "tcp::44" }} Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|