From: Manish Jaggi <mjaggi@caviumnetworks.com>
To: Anthony PERARD <anthony.perard@citrix.com>,
"Daniel P. Berrange" <berrange@redhat.com>
Cc: libvir-list@redhat.com, Ian Jackson <Ian.Jackson@eu.citrix.com>,
Ian Campbell <ian.campbell@citrix.com>,
Xen Devel <xen-devel@lists.xen.org>
Subject: Re: [libvirt] libvirt/libxl implemetation of get_online_cpu / virNodeGetCPUMap?
Date: Tue, 24 Mar 2015 14:17:20 +0530 [thread overview]
Message-ID: <55112498.1060905@caviumnetworks.com> (raw)
In-Reply-To: <20150224150016.GZ1345@perard.uk.xensource.com>
On Tuesday 24 February 2015 08:30 PM, 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
I applied the patch, not getting this python libvirtError, but libvirt
deamon is throwing error.
2015-03-24 08:46:31.169+0000: 1030: error : virNodeGetCPUMap:1342 : this
function is not supported by the connection driver: virNodeGetCPUMap
> Here is the bug report: https://bugs.launchpad.net/nova/+bug/1425115
>
> Regards,
>
next prev parent reply other threads:[~2015-03-24 8:47 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20150224124101.GX1345@perard.uk.xensource.com>
2015-02-24 12:46 ` [libvirt] libvirt/libxl implemetation of get_online_cpu / virNodeGetCPUMap? Daniel P. Berrange
2015-02-24 13:10 ` Ian Campbell
[not found] ` <20150224124644.GK21611@redhat.com>
2015-02-24 13:15 ` [libvirt] " Anthony PERARD
2015-02-24 13:22 ` Daniel P. Berrange
[not found] ` <20150224132219.GL21611@redhat.com>
2015-02-24 15:00 ` Anthony PERARD
2015-02-25 12:57 ` Daniel P. Berrange
2015-03-24 8:47 ` Manish Jaggi [this message]
[not found] ` <1424783459.27930.337.camel@citrix.com>
2015-02-25 9:24 ` Dario Faggioli
2015-02-25 9:43 ` Ian Campbell
2015-02-25 15:03 ` [libvirt] " Daniel P. Berrange
2015-02-25 15:13 ` Ian Campbell
[not found] ` <1424877216.18290.9.camel@citrix.com>
2015-02-25 15:20 ` Daniel P. Berrange
[not found] ` <20150225152042.GN4263@redhat.com>
2015-02-25 15:30 ` Ian Campbell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55112498.1060905@caviumnetworks.com \
--to=mjaggi@caviumnetworks.com \
--cc=Ian.Jackson@eu.citrix.com \
--cc=anthony.perard@citrix.com \
--cc=berrange@redhat.com \
--cc=ian.campbell@citrix.com \
--cc=libvir-list@redhat.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.