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(a)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'):
--
To view, visit
http://gerrit.ovirt.org/30215
To unsubscribe, visit
http://gerrit.ovirt.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: If5005d7fdc5397df2480fa8d0c15b003a52e8626
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Martin Sivák <msivak(a)redhat.com>