From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NunG6-0006PH-IV for qemu-devel@nongnu.org; Thu, 25 Mar 2010 09:38:02 -0400 Received: from [140.186.70.92] (port=51632 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NunG5-0006Ow-8g for qemu-devel@nongnu.org; Thu, 25 Mar 2010 09:38:02 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1NunG3-0006LV-58 for qemu-devel@nongnu.org; Thu, 25 Mar 2010 09:38:01 -0400 Received: from mail-bw0-f218.google.com ([209.85.218.218]:43371) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1NunG2-0006LJ-W3 for qemu-devel@nongnu.org; Thu, 25 Mar 2010 09:37:59 -0400 Received: by bwz10 with SMTP id 10so9994774bwz.2 for ; Thu, 25 Mar 2010 06:37:56 -0700 (PDT) Message-ID: <4BAB6730.90201@gmail.com> Date: Thu, 25 Mar 2010 14:37:52 +0100 From: Gildas Le Nadan MIME-Version: 1.0 Subject: Re: [Qemu-devel] Re: [libvirt] Supporting hypervisor specific APIs in libvirt References: <4BA7C40C.2040505@codemonkey.ws> <20100323145105.GV16253@redhat.com> <4BA8D8A9.7090308@codemonkey.ws> <201003231557.19474.paul@codesourcery.com> <4BA8E6FC.9080207@codemonkey.ws> <4BA901B5.3020704@redhat.com> <4BA9A066.3070904@redhat.com> <20100324103643.GB624@redhat.com> <4BA9EC88.6000906@redhat.com> <20100324134250.38822113@redhat.com> <4BAA6CD9.6060001@redhat.com> <20100324171219.4365318b@redhat.com> <4BAA76EA.2060601@codemonkey.ws> <20100324182501.000b69a7@redhat.com> <4BAA86C2.4020701@codemonkey.ws> <4BAB1E21.8080009@snarc.org> <4BAB5805.9080000@codemonkey.ws> In-Reply-To: <4BAB5805.9080000@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1; 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: "libvir-list@redhat.com" , qemu-devel@nongnu.org, Luiz Capitulino , Paul Brook , Vincent Hanquez , Avi Kivity Anthony Liguori wrote: > On 03/25/2010 03:26 AM, Vincent Hanquez wrote: >> On 24/03/10 21:40, Anthony Liguori wrote: >>>> If so, what C clients you expected beyond libvirt? >>> >>> Users want a C API. I don't agree that libvirt is the only C >>> interface consumer out there. >> >> (I've seen this written too many times ...) >> How do you know that ? did you do a poll or something where *actual* >> users vote/tell ? >> >> From my point of view, i wouldn't want to write a high level >> management toolstack in C, specially >> since the API is well defined JSON which is easily available in all >> high level language out there. > > There's a whole world of C based management toolstacks (CIM). > > Regards, > > Anthony Liguori That huge companies have developped over-complicated c-based management toolstacks doesn't necessarily mean that this is the best way to do it. It just mean that they have enough qualified ressources to do it. A simple, language-neutral API is always preferable in my opinion, since it lowers the prerequisites/entry price, and will allow more people to use it, including system engineers. Ensuring that the new API will be easy to use by new comers will also ensure that it will be easy to use by existing stacks including libvirt. Also I second Avi's opinion in another mail that "all command line options [should] have qmp equivalents": it is vital for flexibility/manageability to be able to programatically change setups after a VM was started. To quote the automation part of the "James White Manifesto"[1], a document that is gaining a lot of traction in the sysadmin/devops community: "The provided API must have all functionality that the application provides. The provided API must be tailored to more than one language and platform." Regards, Gildas -- [1] You can find a copy of it here: http://www.kartar.net/2010/03/james-whites-rules-for-infrastructure/