[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [libvirt] libvirt/libxl implemetation of get_online_cpu / virNodeGetCPUMap?
On Tue, Feb 24, 2015 at 03:00:16PM +0000, Anthony PERARD wrote: > On Tue, Feb 24, 2015 at 01:22:19PM +0000, Daniel P. Berrange wrote: > > On Tue, Feb 24, 2015 at 01:15:57PM +0000, Anthony PERARD wrote: > > > 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. > > > > Oh damn, yes, I understand why now. Please file a bug against Nova for > > this, as we must fix it as a high pripority. It was certainly not my > > intention to break Xen when I approved this change > > Here is the bug report: https://bugs.launchpad.net/nova/+bug/1425115 If you are able to test a fix easily then try the patch here: https://review.openstack.org/#/c/159106/ If you're able to add a comment to the review indicating that you've confirmed it fixes Xen, that'd be useful, since there's no automated testing of Xen that reports on reviews. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |