From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MJsIG-0002qa-TA for qemu-devel@nongnu.org; Thu, 25 Jun 2009 12:59:24 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MJsIC-0002pe-C8 for qemu-devel@nongnu.org; Thu, 25 Jun 2009 12:59:24 -0400 Received: from [199.232.76.173] (port=53493 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MJsIC-0002pP-5r for qemu-devel@nongnu.org; Thu, 25 Jun 2009 12:59:20 -0400 Received: from smtp.citrix.com ([66.165.176.89]:37178) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MJsIB-0007LT-Pn for qemu-devel@nongnu.org; Thu, 25 Jun 2009 12:59:19 -0400 Message-ID: <4A43AE13.4030900@eu.citrix.com> Date: Thu, 25 Jun 2009 18:04:19 +0100 From: Stefano Stabellini 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> <4A4395B8.4010401@redhat.com> In-Reply-To: <4A4395B8.4010401@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Avi Kivity Cc: "ehabkost@redhat.com" , "jan.kiszka@siemens.com" , "dlaor@redhat.com" , "qemu-devel@nongnu.org" , Luiz Capitulino , Navara , Vincent Hanquez , Filip@gnu.org Avi Kivity wrote: > 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. > Clearly I agree with Avi. I am thinking for example that we could use the RPC protocol directly from Xend and I am sure other people will find it useful too.