From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MJqav-0004GZ-9q for qemu-devel@nongnu.org; Thu, 25 Jun 2009 11:10:33 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MJqap-0004GC-Pg for qemu-devel@nongnu.org; Thu, 25 Jun 2009 11:10:31 -0400 Received: from [199.232.76.173] (port=60773 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MJqap-0004G9-KT for qemu-devel@nongnu.org; Thu, 25 Jun 2009 11:10:27 -0400 Received: from rv-out-0708.google.com ([209.85.198.242]:12460) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MJqap-00065l-A9 for qemu-devel@nongnu.org; Thu, 25 Jun 2009 11:10:27 -0400 Received: by rv-out-0708.google.com with SMTP id k29so30090rvb.2 for ; Thu, 25 Jun 2009 08:10:25 -0700 (PDT) Message-ID: <4A43935D.6000506@codemonkey.ws> Date: Thu, 25 Jun 2009 10:10:21 -0500 From: Anthony Liguori 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> In-Reply-To: <4A438FDD.5060206@redhat.com> 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: Avi Kivity Cc: "ehabkost@redhat.com" , Stefano Stabellini , "jan.kiszka@siemens.com" , "dlaor@redhat.com" , "qemu-devel@nongnu.org" , Luiz Capitulino , Filip Navara , Vincent Hanquez Avi Kivity wrote: > On 06/25/2009 04:07 PM, Stefano Stabellini wrote: >>> Looks to me like "works with libvirt and other management programs" >>> implies that you can use it from scripts, because many management >>> programs are, in fact, scripts. >>> >> >> Having the possibility of using it from scripts would be nice but I >> wouldn't make it a requirement. >> With an rpc interface and the right scripting language you can still use >> the rpc interface from a very very short script. >> > > 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. 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). Regards, Anthony Liguori