« Previous | Next » 

Revision dbbf9700


Added by Dimitris Aragiorgis almost 7 years ago

(kvm) Workaround for QMP misbahavior

After observing TypeErrors during parsing QMP response messages in
GetInstanceInfo(), it seems that something happens with the response
of `qmp_capabilities` command (which is {"return": {}} and stays in
the buffer and the following commands produce a TypeError because we
expect a list in case of `querry-cpus`. or a dict with "actual" key
in case of `query-balloon`

Here we catch this TypeError and log it along with every message
parsed inside _Recv() method. To this end we preserve functionality
and add helpful logging to find out if this is a hypervisor
error (race or qapi misbehavior) or an Ganeti error related to
message/buffer/socket processing.

Signed-off-by: Dimitris Aragiorgis <>


  • added
  • modified
  • copied
  • renamed
  • deleted

View differences