← Back to team overview

openstack team mailing list archive

Re: [XenAPI] Implementing text console (log)

 

Just a small ping for everyone involved, any updates?

On Fri, May 25, 2012 at 6:02 PM, Mohammed Naser <mnaser@xxxxxxxxxxxx> wrote:
> Thanks for the reply.  It's a bit annoying to see the FAKE text in there.
>
> On Fri, May 25, 2012 at 5:52 AM, John Garbutt <John.Garbutt@xxxxxxxxxx> wrote:
>> Awesome, this has been on my team's TODO list for far too long.
>>
>> Have you added back the xapi-serial-console blueprint anywhere?
>
> I haven't had the chance to do that, not sure on where to add that
> from, but I did create a bug report:
> https://bugs.launchpad.net/nova/+bug/1004175
>
>>
>>> At the moment, I have a sort-of working concept of it that only runs under
>>> XS6 (the only one that offers VT100 terminals), however it has a fallback to
>>> returning nothing if it doesn't find one, however, there is an issue.
>> Yep, we got it added into XS6 especially for OpenStack, certainly missing in previous version.
>> Maybe the API should return some kind of "Not Supported" response?
> We could do that, however I'm not sure how the exception is handled
> and propagated through the RPC system, at the moment, the VMWare
> driver just returns nothing.  If we raise an exception, I think it
> will give something along the lines of not being able to retrieve the
> console logs.
>
>>
>>> The way to get the console output is by getting the console URL and
>>> CONNECT-ing to it, an example of this in a curl is the following:
>>> curl -k -X CONNECT
>>> 'https://192.168.1.215/console?uuid=6e12b329-6d72-19a4-f8ea-
>>> 61dedcd049b9&session_id=OpaqueRef:d04043d3-4328-c1b6-1a2a-
>>> 4a3638419967'
>>> The curl process will appear to be hanging, but if you run any commands or
>>> type anything, you'll see it appear in the screen.
>>> Obviously, you need your own session_id and console UUID with type VT100.
>> Right, that seems odd.
>
> It seems that basically the console is streaming the output, but it
> does not buffer/store it anywhere in XenServer (or maybe it does?  I
> found VT100 console by my own research)..
>
>>
>> I have added Wu who was working on this when he was at Citrix. He may have some ideas for you.
>>
>
> Great, hope that we can get some information
>
>> I can have a word with the XenServer developers about the best way do this, and take a look myself. Have you gone through how KVM/LibVirt code deals with this?
>>
>
> I've taken a look at the libvirt/KVM & VMWARE code before:
>
> Libvirt (https://github.com/openstack/nova/blob/master/nova/virt/libvirt/connection.py#L933):
> It seems that it gets the PTY for the console first, sets the correct
> permissions for it and stores it in the instance folder under
> console.log, and the "_flush_libvirt_console" runs a dd from the PTY
> to stdout and adding that into the console.log -- This is not
> something that can be done by us because nova-compute runs on a DomU
> so no access to the console directly.
>
> VMware (https://github.com/openstack/nova/blob/master/nova/virt/vmwareapi/vmops.py#L710):
> Looks like they have a built in API that stores all the console and
> it's just read out easily.
>
>> Cheers,
>> John
>
>
>
> --
> Mohammed Naser — vexxhost
> -----------------------------------------------------
> D. 514-316-8872
> D. 800-910-1726 ext. 200
> E. mnaser@xxxxxxxxxxxx
> W. http://vexxhost.com



-- 
Mohammed Naser — vexxhost
-----------------------------------------------------
D. 514-316-8872
D. 800-910-1726 ext. 200
E. mnaser@xxxxxxxxxxxx
W. http://vexxhost.com


Follow ups

References