Dear All, I would like to know what functions and classes are implemented in the ESX(i) driver ? i am trying to use virsh to retrieve some simple information such as vcpuinfo domain, but it is not working, so I would like to know what functions are implemented in libvirt ESX(i) driver. Also i checked the http://libvirt.org/drvesx.html and nothing is mentioned there. Thank You, Regards, Sherif -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20101103/b30d52a8/attachment.htm>
? 2010?11?03? 20:58, Sherif Nagy ??:> Dear All, > > I would like to know what functions and classes are implemented in the > ESX(i) driver ? i am trying to use virsh to retrieve some simple > information such as vcpuinfo domain, but it is not working, so I would > like to know what functions are implemented in libvirt ESX(i) driver. > Also i checked the http://libvirt.org/drvesx.html and nothing is > mentioned there.There is no definite document currently, however, you can get it by: http://libvirt.org/git/?p=libvirt.git;a=blob;f=src/esx/esx_driver.c;h=b3e1284119d78e4fd44c7ab60a9ae603c51dbe59;hb=HEAD see "4152 static virDriver esxDriver = {" the ones with value "NULL" means not supported. Regards - Osier> > Thank You, > Regards, > Sherif > > > > _______________________________________________ > libvirt-users mailing list > libvirt-users at redhat.com > https://www.redhat.com/mailman/listinfo/libvirt-users
2010/11/3 Sherif Nagy <sherif.nagy at gmail.com>:> Dear All, > > I would like to know what functions and classes are implemented in the > ESX(i) driver ? i am trying to use virsh to retrieve some simple information > such as vcpuinfo domain, but it is not working, so I would like to know what > functions are implemented in libvirt ESX(i) driver. Also i checked the > http://libvirt.org/drvesx.html and nothing is mentioned there. >Sorry for the late response. This site [1] is intended to show what's supported for each hypervisor, but unfortunately it's not very well maintained :( vcpuinfo is currently not implemented for the ESX driver as I don't see a way how to do it. To support it the ESX driver has to fill out this struct. struct _virVcpuInfo { unsigned int number; /* virtual CPU number */ int state; /* value from virVcpuState */ unsigned long long cpuTime; /* CPU time used, in nanoseconds */ int cpu; /* real CPU number, or -1 if offline */ }; There are several problems with it. ESX doesn't allow to specify or lookup a virtual CPU to physical CPU mapping (you can restrict the physical CPUs allowed for a guest). Therefore, the number and cpu members cannot be filled. The state member would always be VIR_VCPU_RUNNING, as there is no way to set single cores to offline and ESX doesn't tell you if a virtual CPU is blocked. The cpuTime member is another problem. libvirt exposes this as an absolute value since boot of the domain. ESX exposes this information relative in 20 seconds slots with 1 hour history. There is no way to get the absolute used CPU time from this. There might be possibilities to estimate values for this that are good enough for virt-top's CPU usage calculations. [1] http://libvirt.org/hvsupport.html Matthias