From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Daniel P. Berrange" Subject: Re: [PATCH] [Xend] Move some backend configuration Date: Tue, 30 Sep 2008 16:30:54 +0100 Message-ID: <20080930153054.GE15442@redhat.com> References: <20080930145818.GC22049@totally.trollied.org.uk> Reply-To: "Daniel P. Berrange" Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Keir Fraser Cc: Pascal Bouchareine , xen-devel@lists.xensource.com, John Levon List-Id: xen-devel@lists.xenproject.org On Tue, Sep 30, 2008 at 04:09:49PM +0100, Keir Fraser wrote: > On 30/9/08 15:58, "John Levon" wrote: > > >> Which guaranteed API would that be? These paths are private to the toolstack > >> implementation. Perhaps the only exception is the > > > > Precisely the problem, there's absolutely no idea or indication what is > > and isn't private. Thus you get libvirt looking in places it maybe > > shouldn't, but how are they supposed to know? > > > > I'm pretty sure this patch breaks libvirt again. > > I don't really see why it would. Beyond the console-client-to-daemon > interface change (which we can make not depend on the /vm_path stuff) the > rest is changing things which I believe are internal to xend. > > If libvirt is really going in at this private state, perhaps we could patch > xend so that it writes to the new locations *in addition to* the old > locations. It then has its own guaranteed-private and -consistent state, > while libvirt can still read from old locations. I've done a quick check of what libvirt accesses in xenstore: General VM metadata /local/domain/%d/vm /local/domain/%d/cpu /local/domain/%d/name /local/domain/%d/running /local/domain/%d/memory/target /local/domain/%d/cpu_time Console data /local/domain/%d/console/vnc-port /local/domain/%d/console/tty For fetching disk/net statistics /local/domain/0/backend/vbd/%d/%d/state /local/domain/0/backend/vif/%d /local/domain/0/backend/vbd/%d /local/domain/0/backend/tap/%d The first group is not being changed, so that's not a problem. Likewise the latter is not impacted. The only problem I see is with the console TTY paths and VNC port. While I would prefer it not to change, or have backwards compatability data written in existing fields, we have the ability to check multiple different data sources. So if the TTY info and VNC port is available via the 'xm list --long' output we could make libvirt check there if it fails to find it in xenstore. We only historically used xenstored for the few occassions when the 'xm list --long' output was incomplete. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|