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

Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff



Hi, Ian

 >>>Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote: 
> On Tue, 2012-05-15 at 06:06 +0100, Bamvor Jian Zhang wrote: 
> > >> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path) 
> > >> +{ 
> > > 
> > >We already have various functions to refer to and open consoles, which 
> > >have much of this functionality in them already.  That shouldn't be 
> > >duplicated. 
> > > 
> > >Also we need to make a policy decision about whether the fact that the 
> > >console looks like a tty is a part of the API. 
>  
> > sorry i only found one api about open console is libxl_console_exec. 
> > libxl_console_exec call xenconsole command directly which is not 
> > compatible with libvirt open console api. libvirt open console want a 
> > console device path and handle the console by libvirt itself. libvirt 
> > xen(not xenlight) driver read console path from xenstore directly 
> > which is prohibited by libvirt xenlight drvier.  
> > So, because these reasons, i guess add this simple api to return 
> > console path to libvirt is a good choice. it is useful for libvirt and 
> > do not break libxl api.  
>  
> We actually discussed the existing interface in the context of the libxl 
> stable API (sub-thread starting at 
> <20357.44324.27939.514126@xxxxxxxxxxxxxxxxxxxxxxxx> which has a lot of 
> sub-threads. Another interesting bit starts at 
> <20358.47143.994639.76453@xxxxxxxxxxxxxxxxxxxxxxxx>) 
>  
> In that thread IanJ said: 
> > ]   int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass); 
> > ]   int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num,  
> libxl_console_type type); 
> > ]   /* libxl_primary_console_exec finds the domid and console number 
> > ]    * corresponding to the primary console of the given vm, then calls 
> > ]    * libxl_console_exec with the right arguments (domid might be  
> different 
> > ]    * if the guest is using stubdoms). 
> > ]    * This function can be called after creating the device model, in 
> > ]    * case of HVM guests, and before libxl_run_bootloader in case of PV 
> > ]    * guests using pygrub. */ 
> > ]   int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm); 
> >  
> > These functions should not exec things for you; they should tell you 
> > the parameters.  Any execing helpers should be in libxlu. 
>  
> and later on he said, in response to some of my musings: 
> > But what if your vnc viewer doesn't have the command line options 
> > these functions expect ?  libxl_vncviewer_* should give you an idl 
> > struct containing the ip address (or perhaps the domain name), port 
> > number, and password. 
>  
> I think the same can be said of libxl_console_*. 
>  
> In the end I decided: 
> > this seems like 4.3 material at this stage. 
> >  
> > I'd expect that the functions which behaved this way would not be 
> > called ..._exec (perhaps ..._get_params or so) so implementing the 
> > proper interface in 4.3 won't cause a compat issue. 
>  
> I think I'd be happy to make a freeze exception for a patch which 
> implemented the returning of an IDL struct representing the console 
> device for the benefit of libvirt, so long as it is pretty much self 
> contained (which I think it will be). 
thanks. I am working on it. i will send the patch v2 soon. 

> I don't see any need for it to be a requirement to switch xl over to 
> this new interface at this stage, but we could mark the exec functions 
> as already deprecated in 4.2 and plan to do so (with associated libxlu 
> helpers) in 4.3. 
>  
> This still leaves us having to decide if we want to expose the fact that 
> the console is a tty. Perhaps a compromise would be to include a 
> libxl_console_type enum and KeyedUnion of params, currently the only 
> possible value for the enum would be "PTY" (or "TTY")? (or maybe we can 
> leave that until the second one comes along...) 
>  
> Ian. 
>  

Bamvor


_______________________________________________
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®.