VDSM takes couple of seconds to collect the statistics when a virtual machine is started or migrated. The Memory Overcommit Manager (MoM) did not expect empty values for balloon fields and reported an error. With this update, proper handling of empty values has been added. MoM now handles virtual machines in this transitional period properly.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://rhn.redhat.com/errata/RHBA-2016-0384.html
Description of problem: Each time mom gets a getStatistics call, it logs a traceback: 2015-09-17 16:48:18,730 - mom.RPCServer - INFO - getStatistics() 2015-09-17 16:48:21,125 - mom.Monitor - ERROR - Unexpected collection error Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/mom/Monitor.py", line 95, in collect collected = c.collect() File "/usr/lib/python2.7/site-packages/mom/Collectors/GuestBalloon.py", line 41, in collect stat = self.hypervisor_iface.getVmBalloonInfo(self.uuid) File "/usr/lib/python2.7/site-packages/mom/HypervisorInterfaces/vdsmxmlrpcInterface.py", line 180, in getVmBalloonInfo balloon_info = vm['balloonInfo'] KeyError: 'balloonInfo' Version-Release number of selected component (if applicable): rhev-3.6.0-13: [root@nott02 ~]# rpm -qa vdsm\* vdsm-python-4.17.7-1.el7ev.noarch vdsm-cli-4.17.7-1.el7ev.noarch vdsm-xmlrpc-4.17.7-1.el7ev.noarch vdsm-yajsonrpc-4.17.7-1.el7ev.noarch vdsm-infra-4.17.7-1.el7ev.noarch vdsm-jsonrpc-4.17.7-1.el7ev.noarch vdsm-4.17.7-1.el7ev.noarch How reproducible: Steps to Reproduce: 1.install vdsm and add host 2. 3. Actual results: Expected results: Additional info: [root@nott02 ~]# vdsClient -s 0 getAllVmStats 46131685-1b88-4b00-aa06-5fb68920c0a7 Status = Up displayInfo = [{'tlsPort': '5903', 'ipAddress': '0', 'port': '5902', 'type': 'spice'}] memUsage = 0 acpiEnable = true guestFQDN = vNodeRuntimeInfo = {'0': [0]} session = Unknown displaySecurePort = 5903 timeOffset = 0 pauseCode = NOERR network = {'vnet1': {'macAddr': '00:1a:4a:16:01:52', 'rxDropped': '78797', 'tx': '0', 'txDropped': '0', 'txRate': '0.0', 'rxErrors': '0', 'rx': '0', 'rxRate': '0.0', 'txErrors': '0', 'state': 'unknown', 'sampleTime': 4315898.75, 'speed': '1000', 'name': 'vnet1'}} vmJobs = {} cpuUser = 0.75 elapsedTime = 9308 displayType = qxl cpuSys = 0.60 appsList = [] vmName = vm02 vcpuCount = 1 clientIp = hash = 8403415922623980345 vmType = kvm pid = 9905 displayIp = 0 cpuUsage = 56550000000 vcpuPeriod = 100000 displayPort = 5902 vcpuQuota = -1 kvmEnable = true disks = {'vda': {'readLatency': '0', 'writtenBytes': '0', 'truesize': '0', 'apparentsize': '10737418240', 'readOps': '1', 'writeLatency': '0', 'imageID': '24a47768-6ec7-4418-bb4f-d0e8b09053f0', 'readBytes': '512', 'flushLatency': '0', 'readRate': '0.0', 'writeOps': '0', 'writeRate': '0.0'}, 'hdc': {'readLatency': '0', 'writtenBytes': '0', 'truesize': '0', 'apparentsize': '0', 'readOps': '0', 'writeLatency': '0', 'readBytes': '0', 'flushLatency': '0', 'readRate': '0.0', 'writeOps': '0', 'writeRate': '0.0'}} monitorResponse = 0 username = Unknown guestCPUCount = -1 guestIPs = statusTime = 4315898750