From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MJqjY-0000Bk-09 for qemu-devel@nongnu.org; Thu, 25 Jun 2009 11:19:28 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MJqjT-0000BO-JI for qemu-devel@nongnu.org; Thu, 25 Jun 2009 11:19:27 -0400 Received: from [199.232.76.173] (port=50650 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MJqjT-0000BL-E2 for qemu-devel@nongnu.org; Thu, 25 Jun 2009 11:19:23 -0400 Received: from mx2.redhat.com ([66.187.237.31]:38079) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MJqjT-0007YU-16 for qemu-devel@nongnu.org; Thu, 25 Jun 2009 11:19:23 -0400 Message-ID: <4A4395B8.4010401@redhat.com> Date: Thu, 25 Jun 2009 18:20:24 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 01/11] QMP: Introduce specification file References: <4A412339.5000109@redhat.com> <4A412659.1080803@us.ibm.com> <20090623220204.GA5612@snarc.org> <4A415C30.7030301@us.ibm.com> <20090624010108.GA6537@snarc.org> <4A42200C.6060600@codemonkey.ws> <5b31733c0906240857g546316e0pd92fee9afe6115fa@mail.gmail.com> <4A4252DD.70300@redhat.com> <20090624190539.GR14121@shareable.org> <5b31733c0906241224j50baa7e6lc80b8c79c5d6baa7@mail.gmail.com> <20090624211358.GA14121@shareable.org> <4A43768A.2090604@eu.citrix.com> <4A438FDD.5060206@redhat.com> <4A43935D.6000506@codemonkey.ws> In-Reply-To: <4A43935D.6000506@codemonkey.ws> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: "ehabkost@redhat.com" , Stefano Stabellini , "jan.kiszka@siemens.com" , "dlaor@redhat.com" , "qemu-devel@nongnu.org" , Luiz Capitulino , Filip Navara , Vincent Hanquez On 06/25/2009 06:10 PM, Anthony Liguori wrote: >> I'd go further and make shell script support a non-goal. Maybe the >> majority of qemu control programs are scripts, but only a tiny >> minority of VMs are controlled by shell scripts. It is nearly >> impossible to write a correct nontrivial program in bash; and scripts >> will be slow due to the need to constantly fork/exec/connect. >> >> Serious management programs will be written in real languages, and >> that's what we should optimize for. > > I'm still inclined to stick with the text-based protocol. libvirt > likes it. If Serious Management Programs want an RPC interface they > can use libvirt. That's really an onerous requirement. What if libvirt lags behind qemu? What if libvirt doesn't want to support some feature? > An RPC is overkill unless you also introduce things like life cycle > management. Otherwise, you could never realistically interact with > QEMU without a intermediary that handled life cycle management (e.g. > libvirt). QMP is an RPC implemented over a text based protocol, with ad-hoc marshalling. I agree that you need something to reap dead qemus, but I don't think we can force libvirt on people. -- error compiling committee.c: too many arguments to function