Re: [virt-manager] [RFC] About showing domain interfaces's ip address in details page

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

 



On 08/06/2018 08:10 AM, Lin Ma wrote:
Hi all,

I want to write patches to show ip addresses in virt-manager, I post
the idea here to get some suggestions and ideas. The below are my
thoughts.

I'd like to define a function in class vmmDomain in
virtManager/domain.py. The function name is 'interface_addresses', It
has one parameter which name is 'source', The range of the
parameter's value is: libvirt.VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_LEASE or libvirt.VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_AGENT or libvirt.VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_ARP

In the function, it calls _backend.interfaceAddresses to get domain interfaces's ip addresses.


Makes sense so far.

Though I wish libvirt had a smarter 'hey just give me the iface address' flag that tried best effort to cycle through the methods, skipping the ones it knows aren't relevant

I'd like to add a button in domain interface page of details page.
The click handler calls function interface_addresses to get domain
interfaces's whole ip information dictionary, then parses the result,
only outputs the ipv4 address which matching the mac.

Is it necessary for showing ipv6 address as well?


If it's there, then yeah I think we should show it, as long as its not a link local address (fe80:...)


About the way to obtaining ip information: * If the type of the
domain's interface is 'network', The preferred function
interface_addresses's parameter is source=lease, If it doesn't return
information by some reasons, say static ip settings in domain, Then
we will fallback to call interface_addresses with source=agent, if
the result is still negative, then fallback to source=arp.

* If the type of domain's interface is not 'network', - If the domain
doesn't have org.qemu.guest_agent.0 channel, we will try source=arp only, And add a GtkImage with tooltip text to suggest users to add a org.qemu.guest_agent.0 channel.

I wouldn't bother with the image+tooltip. Most VMs if created correctly should have the guest agent connected, trying to describe how to set it up is non-trivial especially if its a windows VM or the agent isn't installed in the VM. If it's an actual pain point in practice we can revisit this but let's wait for real user complaints

- if it has org.qemu.guest_agent.0
channel but the channel's state isn't connected, we will try
source=arp only, And add a GtkImage with tooltip text to remind
users to install qemu guest agent package inside domain. _ if it has
org.qemu.guest_agent.0 channel and the channel's state is connected (see commit 4484f47), We will try source=agent only.

Probably I missed some thing, Any suggestions will be much
appreciated.


Sounds pretty good to me. The issue I've always had with thinking about exposing the IP address is how to do it in a performant way, since we can't poll it for it all the time. Requiring the user to manually press a 'refresh' style button is a good way to side step the problem for now, and we can make it smarter later if desired.

There was also a bit of discussion and some patches in the past, though they have a different focus. At least it's something to look at:

https://www.redhat.com/archives/virt-tools-list/2018-March/msg00008.html

Thanks,
Cole

_______________________________________________
virt-tools-list mailing list
virt-tools-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/virt-tools-list



[Index of Archives]     [Linux Virtualization]     [KVM Development]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux