Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1204196

Summary: ppc64: unable to list online logical CPUs
Product: Red Hat Enterprise Virtualization Manager Reporter: Madhu Pavan <kmp>
Component: vdsmAssignee: Madhu Pavan <kmp>
Status: CLOSED UPSTREAM QA Contact: Pavel Stehlik <pstehlik>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: bazulay, ecohen, gklein, kmp, lpeer, lsurette, michal.skrivanek, oourfali, yeylon
Target Milestone: ---   
Target Release: 3.5.3   
Hardware: ppc64   
OS: Linux   
Whiteboard: infra
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-25 08:50:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Infra RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1122979    

Description Madhu Pavan 2015-03-20 14:58:56 UTC
Description of problem:
On ppc64 machine, vdsm is unable to get the list of online logical CPUs. This feature is introduced in version 4.16.7.Aadding a host(any OS) on ppc64 machine to engine doesn't succeed.

Here is the o/p of /var/log/vdsm/vdsm.log
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
JsonRpcServer::DEBUG::2015-03-17 11:41:20,103::init::506::jsonrpc.JsonRpcServer::(serve_requests) Waiting for request
JsonRpc (StompReactor)::DEBUG::2015-03-17 11:41:23,380::stompReactor::95::Broker.StompAdapter::(handle_frame) Handling message <StompFrame command='SEND'>
JsonRpcServer::DEBUG::2015-03-17 11:41:23,381::init::506::jsonrpc.JsonRpcServer::(serve_requests) Waiting for request
Thread-42::DEBUG::2015-03-17 11:41:23,381::init::469::jsonrpc.JsonRpcServer::(_serveRequest) Calling 'Host.getCapabilities' in bridge with {}
Thread-42::ERROR::2015-03-17 11:41:23,382::init::493::jsonrpc.JsonRpcServer::(_serveRequest) Internal server error
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/yajsonrpc/init.py", line 488, in _serveRequest
    res = method(**params)
  File "/usr/share/vdsm/rpc/Bridge.py", line 270, in _dynamicMethod
    result = fn(*methodArgs)
  File "/usr/share/vdsm/API.py", line 1286, in getCapabilities
    c = caps.get()
  File "/usr/share/vdsm/caps.py", line 624, in get
    caps['onlineCpus'] = ','.join(cpuTopology.onlineCpus())
  File "/usr/share/vdsm/caps.py", line 212, in onlineCpus
    return self._topology['onlineCpus']
KeyError: 'onlineCpus'
Thread-42::DEBUG::2015-03-17 11:41:23,382::stompReactor::160::yajsonrpc.StompServer::(send) Sending response
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Here is the o/p of /var/log/ovirt-engine/engine.log
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2015-03-17 15:28:04,313 ERROR [org.ovirt.engine.core.vdsbroker.VdsUpdateRunTimeInfo] (DefaultQuartzScheduler_Worker-86) Failure to refresh Vds runtime info: org.ovirt.engine.core.vdsbroker.vdsbroker.VDSErrorException: VDSGenericException: VDSErrorException: Failed to GetCapabilitiesVDS, error = 'onlineCpus', code = -32603
2015-03-17 15:28:04,323 WARN  [org.ovirt.engine.core.vdsbroker.VdsManager] (DefaultQuartzScheduler_Worker-86) Failed to refresh VDS , vds = 58313424-98eb-45ac-9d90-ab616485b4eb : ovirt-host1, error = org.ovirt.engine.core.vdsbroker.vdsbroker.VDSErrorException: VDSGenericException: VDSErrorException: Failed to GetCapabilitiesVDS, error = 'onlineCpus', code = -32603, continuing.: org.ovirt.engine.core.vdsbroker.vdsbroker.VDSErrorException: VDSGenericException: VDSErrorException: Failed to GetCapabilitiesVDS, error = 'onlineCpus', code = -32603
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

How reproducible:
Always

Steps to Reproduce:
1.on ppc64 machine add a host with vdsm version >= 4.16.7

Actual results:
Host installation failed 


Expected results:
Host installation successfully completed

Comment 1 Oved Ourfali 2015-03-22 09:10:47 UTC
Hi Madhu!

Thank you for finding, reporting and patching this one.
Can I assign this bug on you?

Comment 2 Madhu Pavan 2015-03-23 06:07:09 UTC
Hi Oved,

Sure. You can assign it to me.

Comment 3 Michal Skrivanek 2015-03-23 07:55:05 UTC
alternative patch, pending verification on current platforms