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=0696a5cd5f0fdc08951a074961bb8ce0c3310086 > > 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list