[et-mgmt-tools] [PATCH] virt-manager: show serial consoles as tabs in 'details' window

Cole Robinson crobinso at redhat.com
Wed Oct 1 14:02:36 UTC 2008


Daniel P. Berrange wrote:
> On Tue, Sep 30, 2008 at 12:04:13PM -0400, Cole Robinson wrote:
>> The attached patch combines the serial console window
>> with the VM details window. Opening the serial console
>> now appends a tab to the details view. In addition,
>> multiple serial consoles are now supported, not just
>> the primary/first defined console, though this still
>> only works for 'pty' devices.
>>
>> The patch does three things: 
>>
>> 1) Remove all the previous plumbing needed to keep track
>>    of the separate console window
>> 2) Fix the vmmSerialConsole class to extend gtk.HBox, so
>>    we can reuse most of the code in a notebook tab.
>> 3) Add all the plumbing in details.py to deal with adding
>>    and removing tabs on the fly.
>>
>> Screenshot of a couple tab examples:
>>
>> http://fedorapeople.org/~crobinso/virt-manager/vmm-serial-tab1.png
>>
>> Screenshot of selecting which serial console to open
>> (unsupported console types will have entries, they will
>>  just be disabled as shown):
>>
>> http://fedorapeople.org/~crobinso/virt-manager/vmm-serial-tab2.png
>>
>> Screenshot of terminal right click menu. Tabs can be
>> closed via this menu, or the 'View' menu shown in the
>> second screenshot.
>>
>> http://fedorapeople.org/~crobinso/virt-manager/vmm-serial-tab3.png
>>
>> Any comments appreciated.
> 
> This all basically looks good to me. Though what is the behaviour
> when running against a remote VM ? Do we simply not create the
> extra tabs, or do we create them and populate them with a message
> saying the serial console is not accessible ?  I'd probably 
> suggest the latter, also doing it for non-PTY devices. This gives
> the user reassurance that we have actually detected their serial
> devices, and are simply unable to access them.
>

Remote and non-pty serial devices show up as an insensitive
entry in the View->Serial Consoles list (see screenshot 2).
I prefer the current method, rather than opening a tab
indiscriminately. Some serial types will never make sense to
open directly ('null', 'dev' if I understand it correctly).

Other types can be supported later, so maybe it just makes
sense to have a tooltip popup on the disabled list entries
saying 'Type 'blah' not yet supported' or 'Remote serial
not yet supported'. That way the user is sure that we
see their serial device, but are explicitly rejecting it,
and they can see it at a glance rather than having to
open a tab.

> Eventually we can add support for connecting to at least TCP and
> UNIX domain sockets fairly easily. UDP probably doesn't make any
> sense in the context of virt-maanger, because that config is 
> primarily for purpose of net-console logging.
> 

Agreed, should be pretty painless to add the new functionality
into this framework as well.

Thanks,
Cole





More information about the et-mgmt-tools mailing list