HI,all:
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
VMware ESX?
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
update_hwlist(HW_LIST_TYPE_NIC, net,
"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,
refresh_if_necc=True, inactive=False):
guest = self._get_guest(refresh_if_necc=refresh_if_necc,
inactive=inactive)
devs = guest.get_devices(device_type)
count = 0
for dev in devs:
dev.vmmindex = count
count += 1
return devs
finally ,in funciton
_get_guest(self, inactive=False, refresh_if_necc=True)
def _get_guest(self, inactive=False, refresh_if_necc=True):
raise NotImplementedError()
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!
wade