Bug 1690379

Summary: vdsm-client VM getStats fails with KeyError: 'appsList' when guest agent is not yet reporting data
Product: [oVirt] vdsm Reporter: Petr Matyáš <pmatyas>
Component: GeneralAssignee: Marcin Sobczyk <msobczyk>
Status: CLOSED DUPLICATE QA Contact: Lukas Svaty <lsvaty>
Severity: low Docs Contact:
Priority: unspecified    
Version: 4.30.10CC: bugs, michal.skrivanek, mperina, rnori
Target Milestone: ovirt-4.3.4Keywords: Automation, Regression
Target Release: ---Flags: mperina: ovirt-4.3?
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-03-20 05:10:23 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:
Attachments:
Description Flags
vdsm log none

Description Petr Matyáš 2019-03-19 11:23:21 UTC
Created attachment 1545573 [details]
vdsm log

Description of problem:
When starting a VM or on a VM without guest agent, running getStats command fails on key error.

Version-Release number of selected component (if applicable):
vdsm-4.30.11-1.el7ev.x86_64

How reproducible:
always

Steps to Reproduce:
1. vdsm-client VM getStats vmID='0118 999 881 999 119 725 3'
2.
3.

Actual results:
vdsm-client: Command VM.getStats with args {'vmID': '$vmID'} failed:
(code=100, message=General Exception: ("'appsList'",))

Expected results:
successful getStats command without any data reported by guest agents

Additional info:
2019-03-19 12:08:17,237+0100 ERROR (jsonrpc/3) [jsonrpc.JsonRpcServer] Internal server error (__init__:350)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/yajsonrpc/__init__.py", line 345, in _handle_request
    res = method(**params)
  File "/usr/lib/python2.7/site-packages/vdsm/rpc/Bridge.py", line 198, in _dynamicMethod
    result = fn(*methodArgs)
  File "<string>", line 2, in getAllVmStats
  File "/usr/lib/python2.7/site-packages/vdsm/common/api.py", line 50, in method
    ret = func(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/vdsm/API.py", line 1388, in getAllVmStats
    statsList = self._cif.getAllVmStats()
  File "/usr/lib/python2.7/site-packages/vdsm/clientIF.py", line 567, in getAllVmStats
    return [v.getStats() for v in self.vmContainer.values()]
  File "/usr/lib/python2.7/site-packages/vdsm/virt/vm.py", line 1766, in getStats
    oga_stats = self._getGuestStats()
  File "/usr/lib/python2.7/site-packages/vdsm/virt/vm.py", line 1967, in _getGuestStats
    stats = self.guestAgent.getGuestInfo()
  File "/usr/lib/python2.7/site-packages/vdsm/virt/guestagent.py", line 505, in getGuestInfo
    del qga['appsList']
KeyError: 'appsList'

Comment 1 Michal Skrivanek 2019-03-20 05:10:23 UTC

*** This bug has been marked as a duplicate of bug 1690301 ***