Martin Sivák has uploaded a new change for review.
Change subject: Support ioTune values >2^31 in getStats over xml-rpc ......................................................................
Support ioTune values >2^31 in getStats over xml-rpc
This fixes issue with getStats over xml-rpc when ioTune value is accidentally increased beyond cca 2e9 (2GB per second).
Change-Id: If5005d7fdc5397df2480fa8d0c15b003a52e8626 Signed-off-by: Martin Sivak msivak@redhat.com --- M vdsm/virt/vm.py 1 file changed, 8 insertions(+), 1 deletion(-)
git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/15/30215/1
diff --git a/vdsm/virt/vm.py b/vdsm/virt/vm.py index cd0837b..7aec2af 100644 --- a/vdsm/virt/vm.py +++ b/vdsm/virt/vm.py @@ -2844,7 +2844,14 @@ except Exception: self.log.error("Error fetching vm stats", exc_info=True) for var in decStats: - if type(decStats[var]) is not dict: + if var == "ioTune": + # Convert ioTune numbers to strings to avoid xml-rpc issue + # with numbers bigger than int32_t + for ioTune in decStats["ioTune"]: + ioTune["ioTune"] = dict((k, utils.convertToStr(v)) + for k, v in ioTune["ioTune"].iteritems()) + stats[var] = decStats[var] + elif type(decStats[var]) is not dict: stats[var] = utils.convertToStr(decStats[var]) elif var in ('network', 'balloonInfo', 'vmJobs', 'vNodeRuntimeInfo'):