[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v1 05/10] libxl: synchronise configuration when we hotplug a device



On Fri, Jul 18, 2014 at 09:49:32AM +0100, Ian Campbell wrote:
> On Thu, 2014-07-17 at 15:13 +0100, Wei Liu wrote:
> > On Thu, Jul 17, 2014 at 12:44:43PM +0100, Ian Campbell wrote:
> > > On Wed, 2014-07-16 at 18:12 +0100, Wei Liu wrote:
> > > > > > As we don't have a JSON config file for libxl toolstack domain
> > > > > > (currently Dom0) we need to skip JSON manipulation for it.
> > > > > 
> > > > > How hard would it be to create a stub/stunt JSON for dom0 when we 
> > > > > notice
> > > > > it is missing? Or from e.g. xencommons perhaps?
> > > > > 
> > > > 
> > > > We need to determine:
> > > > 1. when / where to generate such thing (xencommons?)
> > > > 2. what to put in it
> > > > 
> > > > I have yet had answers for #2. The simplest version can be "{}" I think.
> > > > That is an empty configuration that every fields gets the default value.
> > > > But we probably need more than that.
> > > 
> > > I think you would want at least a name and perhaps a uuid? And cinfo
> > > type == PV.
> > > 
> > > Device arrays are all empty at start of day.
> > > 
> > > Some of the stuff about target and maxmem you could perhaps infer at
> > > start of day?
> > > 
> > 
> > UUID (Dom0 doesn't seem to have one), name and memory targets can all be
> > pulled from xenstore when they are required.
> > 
> > And it occurs to me as I discovered Dom0 doesn't have UUID that we need
> > to special-case reading / writing of Dom0's JSON config. That's because
> > all other guests' JSON config are to be named with UUID and domain id.
> > How annoying. :-(
> 
> Indeed.
> 
> I think you could generate one on boot and set it with
> XEN_DOMCTL_setdomainhandle. It might be a bug that we don't do that
> today (that said I can't see any evidence that xend used to do
> differently).
> 

I think this approach is OK.

> > I would like to put as few things as possible in the stub because there
> > doesn't seem to be a way to conveniently generate a valid JSON config
> > for Dom0. Will you be against the idea of having 'xl generate-dom0-json'
> > in xl to do that? Otherwise we have to basically generate a
> > semi-handcoded stub in xencommons, or even a hardcoded stub.
> 
> I'm in favour of some sort of command to "initialise dom0". Either part
> of xl or a new helper app based on libxl.
> 
> I had a similar (unposted I think) patch to add xl launch-dom0-qemu so
> that it could pick the correct arch (see below, warning: it's a bit
> skanky). If I were to do it again today I'd probably make a separate
> $libexec helper instead of bolting it into xl though.
> 
> Probably it should subsume this bit of xencommons too:
> 
>                 echo Setting domain 0 name and domid...
>                 ${BINDIR}/xenstore-write "/local/domain/0/name" "Domain-0"
>                 ${BINDIR}/xenstore-write "/local/domain/0/domid" 0
> 
> What do you think?
> 

Agreed.

I'm think about adding "xl initialise-dom0", which:
1. generates UUID
2. writes relevant xenstore keys
3. generates stub JSON config
4. launches QEMU

I think we always needs first 3 items. But I'm not quite sure about the
4th. It's more flexible to launch a process in xencommons, isn't it?

Wei.
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.