I'm new to libvirt, and have some questions about How to get the IP address of a Domain?
I searched the old mails int the mail-list ,found one way to do this,it is first get the mac address of the Domain,then used some sniffer or arp tools to fetch the IP address , but:
Q1: Is there any APIs of libvirt to get the domain's IP address directly? If does not exist now , have any plan to add this api or some extra tools to do this ,just like the vm-tools on
Q2: How to get the domain's mac? I download the virt-manager src, searching it's source to find how to do this :
in details.py , this line seems to get the mac address:
in function update_hwlist(hwtype, info, name, icon_name): Line 2475
for net in self.vm.get_network_devices():
mac = net.macaddr
"NIC %s" % mac[-9:], "network-idle")
then ,I looked into domains.py, in function get_network_devices():
def get_network_devices(self, refresh_if_necc=True):
return self._build_device_list("interface", refresh_if_necc)
next, go to function _build_device_list()
def _build_device_list(self, device_type,
guest = self._get_guest(refresh_if_necc=refresh_if_necc,
devs = guest.get_devices(device_type)
count = 0
for dev in devs:
dev.vmmindex = count
count += 1
finally ,in funciton _get_guest(self, inactive=False, refresh_if_necc=True)
def _get_guest(self, inactive=False, refresh_if_necc=True):
this puzzled me , only raise a exception NotImplentedError(),but not deal with it .
How to get the mac address?
Sorry ,I 'm new to Python either...
Really appreciate for your help!