On Tue, Feb 24, 2015 at 12:46:44PM +0000, Daniel P. Berrange wrote:
On Tue, Feb 24, 2015 at 12:41:01PM +0000, Anthony PERARD wrote:
> Hi,
>
> A recent OpenStack nova commit make use of virNodeGetCPUMap to get the list
> of online cpu of a host. But this API is not implemented for the libvirt
> xen driver.
>
> The commit:
> Add handling for offlined CPUs to the nova libvirt driver.
>
https://review.openstack.org/gitweb?p=openstack/nova.git;a=commitdiff;h=0...
FWIW, this should not impact Xen based on my understanding. The code
path in question should only be used when Nova is setup todo NUMA
pinning support, and that is not supported with Xen in OpenStack,
only KVM. Did it actually cause failures for you, or are you simply
keeping track of all used APIs in Nova as a sanity check ?
It prevent nova from starting. I do the setup with DevStack.
The error:
libvirtError: this function is not supported by the connection driver: virNodeGetCPUMap
And a part of the traceback:
File "/opt/stack/nova/nova/openstack/common/service.py", line 491, in
run_service
service.start()
File "/opt/stack/nova/nova/service.py", line 181, in start
self.manager.pre_start_hook()
File "/opt/stack/nova/nova/compute/manager.py", line 1188, in pre_start_hook
self.update_available_resource(nova.context.get_admin_context())
File "/opt/stack/nova/nova/compute/manager.py", line 6062, in
update_available_resource
rt.update_available_resource(context)
File "/opt/stack/nova/nova/compute/resource_tracker.py", line 315, in
update_available_resource
resources = self.driver.get_available_resource(self.nodename)
File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 4896, in
get_available_resource
numa_topology = self._get_host_numa_topology()
File "/opt/stack/nova/nova/virt/libvirt/driver.py", line 4749, in
_get_host_numa_topology
online_cpus = self._host.get_online_cpus()
File "/opt/stack/nova/nova/virt/libvirt/host.py", line 599, in
get_online_cpus
(cpus, cpu_map, online) = self.get_connection().getCPUMap()
I'll look into why nova is going through NUMA code paths then.
Thanks for your information,
--
Anthony PERARD