apache / cloudstack

Apache CloudStack is an opensource Infrastructure as a Service (IaaS) cloud computing platform
https://cloudstack.apache.org/
Apache License 2.0
2.1k stars 1.11k forks source link

GSoC 2023 Idea: Autodetect IPs used inside the VM #7142

Open NuxRo opened 1 year ago

NuxRo commented 1 year ago

With regards to IP info reporting, Cloudstack relies entirely on it's DHCP data bases and so on. When this is not available (L2 networks etc) no IP information is shown for a given VM.

I propose we introduce a mechanism for "IP autodetection" and try to discover the IPs used inside the machines by means of querying the hypervisors. For example with KVM/libvirt we can simply do something like this:

root@fedora35 ~]# virsh domifaddr win2k22 --source agent
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 Ethernet   52:54:00:7b:23:6a    ipv4         192.168.0.68/24
 Loopback Pseudo-Interface 1                      ipv6         ::1/128
 -          -                    ipv4         127.0.0.1/8

The above command queries the qemu-guest-agent inside the Windows VM. The VM needs to have the qemu-guest-agent installed and running as well as the virtio serial drivers (easily done in this case with virtio-win-guest-tools.exe ) as well as a guest-agent socket channel defined in libvirt.

Once we have this information we could display it in the UI/API as "Autodetected VM IPs" or something like that.

I imagine it's very similar for VMWare and XCP-ng.

Thank you

alexandremattioli commented 1 year ago

Could add a "search by IP" function as well.

adi4656 commented 1 year ago

Hi @NuxRo - I’m Adi, a 2nd year Computing student at Imperial College London. I’m interested in this project and will be developing my proposal over the next few days. I have already been in touch with Nicolás Vazquez but thought it worthwhile to introduce myself here too. Apologies for starting so late; I’ve been busy with a university project deadline but will do my utmost best to catch up. Looking forward to communicating with you about this feature!

DaanHoogland commented 1 year ago

@adi4656 it makes sense to introduce yourself on dev@cloudstack.apache.org, but good luck with your assignment. Let us know how you fare ;)