From: Anthony Liguori <anthony@codemonkey.ws>
To: "Daniel P. Berrange" <berrange@redhat.com>
Cc: Andrew Beekhof <abeekhof@redhat.com>,
Chris Wright <chrisw@redhat.com>, Ted Ross <tross@redhat.com>,
kvm@vger.kernel.org, arroy@redhat.com, dlaor@redhat.com,
Alexander Graf <agraf@suse.de>,
qemu-devel@nongnu.org, "Perry N. Myers" <pmyers@redhat.com>,
Michael D Roth <mdroth@us.ibm.com>
Subject: Re: [Qemu-devel] KVM call minutes for Oct 19
Date: Thu, 21 Oct 2010 08:32:04 -0500 [thread overview]
Message-ID: <4CC040D4.1050204@codemonkey.ws> (raw)
In-Reply-To: <20101021131815.GJ27578@redhat.com>
On 10/21/2010 08:18 AM, Daniel P. Berrange wrote:
> On Thu, Oct 21, 2010 at 08:09:44AM -0500, Anthony Liguori wrote:
>
>> Hi Andrew,
>>
>> On 10/21/2010 05:22 AM, Andrew Beekhof wrote:
>>
>>> Hello from the Matahari tech-lead...
>>> Is there any documentation on the capabilities provided guest agent
>>> Anthony is creating? Perhaps we can combine efforts.
>>>
>> Mike should be posting today or tomorrow.
>>
>>
>>> Also happy to provide more information on Matahari if anyone is
>>> interested.
>>>
>> I'd really like to hear more about Matahari's long term vision.
>>
>> For a QEMU guest agent, we need something that is very portable. The
>> interfaces it provides need to be reasonably guest agnostic and we need
>> to support a wide range of guests including Windows, Linux, *BSD, etc.
>>
>> From the little bit I've read about Matahari, it seems to be pretty
>> specific and pretty oriented towards Fedora-like distributions. It
>> exposes interfaces for manipulation of RPM packages, relies on netcf, etc.
>>
> FYI netcf is not Fedora specific. There is a Win32 backend for it
> too. It does need porting to other Linux distros, but that's simply
> an internal implementation issue. The goal of netcf is to be the
> libvirt of network config mgmt - a portable API for all OS network
> config tasks. Further, Matahari itself is also being ported to Win32
> and can be ported to other Linux distros too.
>
Yeah, I'm aware of the goals of netcf but that hasn't materialized a
port to other distros.
Let me be clear, I don't think this is a problem for libvirt,
NetworkManager, or even Matahari.
But for a QEMU guest agent where we terminate the APIs within QEMU
itself, I do think it creates a pretty nasty portability barrier.
>> There's nothing wrong with this if the goal of Matahari is to provide a
>> robust agent for Fedora-based Linux distributions but I don't think it
>> meets the requirements of a QEMU guest agent.
>>
>> I don't think we can overly optimize for one Linux distribution either
>> so a mentality of letting other platforms contribute their own support
>> probably won't work.
>>
> That is not the goal of Matahari. It is intended to be generically
> applicable to *all* guest OS. Obviously in areas where every distro
> does different things, then it will need porting for each different
> impl. You have to start somewhere and it started with Fedora. This
> is all is true of any guest agent solution.
>
There's two approaches that could be taken for a guest agent. You could
provide very low level interfaces (read a file, execute a command, read
a registry key). This makes for a very portable guest agent at the cost
of complexity in interacting with the agent. The agent doesn't ever
really need to change much the client (QEMU) needs to handle many
different types of guests, and add new functionality based on the
supported primitives.
Another approach is to put the complexity in the agent and simplify the
management interface. For system's management applications, this is
probably the right approach. For virtualization, I think this is a bad
approach.
Very specifically, netcf only really needs to read and write
configuration files and potentially run a command. Instead of linking
against netcf in the guest, we should link against netcf in QEMU so that
we don't have to constantly change the guest agent.
Regards,
Anthony Liguori
> Regards,
> Daniel
>
next prev parent reply other threads:[~2010-10-21 13:32 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-19 15:14 KVM call minutes for Oct 19 Chris Wright
2010-10-20 8:21 ` [Qemu-devel] " Alexander Graf
2010-10-20 8:25 ` Paolo Bonzini
2010-10-20 8:30 ` Alexander Graf
2010-10-20 10:47 ` Avi Kivity
2010-10-20 12:16 ` Dor Laor
2010-10-21 10:22 ` Andrew Beekhof
2010-10-21 10:26 ` Dor Laor
2010-10-21 13:09 ` Anthony Liguori
2010-10-21 13:18 ` Daniel P. Berrange
2010-10-21 13:32 ` Anthony Liguori [this message]
2010-10-21 15:43 ` Andrew Beekhof
2010-10-21 16:25 ` Anthony Liguori
2010-10-21 16:37 ` Chris Wright
2010-10-21 19:47 ` Andrew Beekhof
2010-10-20 13:02 ` Anthony Liguori
2010-10-20 13:19 ` Daniel P. Berrange
2010-10-20 13:21 ` Anthony Liguori
2010-10-20 22:46 ` Dor Laor
2010-10-21 1:14 ` Alexander Graf
2010-10-21 7:45 ` Paolo Bonzini
2010-10-21 13:02 ` Anthony Liguori
2010-10-21 13:05 ` Dor Laor
2010-10-22 17:29 ` Chris Wright
2010-10-22 17:39 ` Anthony Liguori
2010-10-22 18:20 ` Chris Wright
2010-10-22 18:53 ` Anthony Liguori
2010-10-23 0:06 ` Chris Wright
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CC040D4.1050204@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=abeekhof@redhat.com \
--cc=agraf@suse.de \
--cc=arroy@redhat.com \
--cc=berrange@redhat.com \
--cc=chrisw@redhat.com \
--cc=dlaor@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=mdroth@us.ibm.com \
--cc=pmyers@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=tross@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox