Revision 89da2ff3

b/lib/hypervisor/hv_kvm.py
202 202
  _FIRST_MESSAGE_KEY = "QMP"
203 203
  _EVENT_KEY = "event"
204 204
  _ERROR_KEY = "error"
205
  _RETURN_KEY = RETURN_KEY = "return"
206
  _ACTUAL_KEY = ACTUAL_KEY = "actual"
205 207
  _ERROR_CLASS_KEY = "class"
206 208
  _ERROR_DATA_KEY = "data"
207 209
  _ERROR_DESC_KEY = "desc"
......
916 918
    istat = "---b-"
917 919
    times = "0"
918 920

  
921
    try:
922
      qmp = QmpConnection(self._InstanceQmpMonitor(instance_name))
923
      qmp.connect()
924
      vcpus = len(qmp.Execute("query-cpus")[qmp.RETURN_KEY])
925
      # Will fail if ballooning is not enabled, but we can then just resort to
926
      # the value above.
927
      mem_bytes = qmp.Execute("query-balloon")[qmp.RETURN_KEY][qmp.ACTUAL_KEY]
928
      memory = mem_bytes / 1048576
929
    except errors.HypervisorError:
930
      pass
931

  
919 932
    return (instance_name, pid, memory, vcpus, istat, times)
920 933

  
921 934
  def GetAllInstancesInfo(self):

Also available in: Unified diff