Liron Aravot has uploaded a new change for review.

Change subject: vm, guestagent: return hash should include also the disk mapping
......................................................................

vm, guestagent: return hash should include also the disk mapping

Change-Id: I148196ccf353613f9cffed7753e7100bd1dd30de
Signed-off-by: Liron Aravot <[email protected]>
---
M vdsm/virt/guestagent.py
M vdsm/virt/vm.py
2 files changed, 7 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/vdsm refs/changes/01/31701/1

diff --git a/vdsm/virt/guestagent.py b/vdsm/virt/guestagent.py
index 9c89727..68874a5 100644
--- a/vdsm/virt/guestagent.py
+++ b/vdsm/virt/guestagent.py
@@ -27,6 +27,7 @@
 
 # TODO: in future import from ..
 import supervdsm
+import json
 
 from . import vmstatus
 
@@ -121,6 +122,7 @@
         self._stopped = True
         self.guestStatus = None
         self.guestDiskMapping = {}
+        self.diskMappingHash = 0
         self.guestInfo = {
             'username': user,
             'memUsage': 0,
@@ -302,6 +304,8 @@
                 disks.append(disk)
             self.guestInfo['disksUsage'] = disks
             self.guestDiskMapping = args.get('mapping', {})
+            self.diskMappingHash = hash(json.dumps(self.guestDiskMapping,
+                                                    sort_keys=True))
         elif message == 'number-of-cpus':
             self.guestInfo['guestCPUCount'] = int(args['count'])
         else:
diff --git a/vdsm/virt/vm.py b/vdsm/virt/vm.py
index 9b5261b..e2b87b5 100644
--- a/vdsm/virt/vm.py
+++ b/vdsm/virt/vm.py
@@ -1544,7 +1544,7 @@
         self.guestAgent = guestagent.GuestAgent(
             self._guestSocketFile, self.cif.channelListener, self.log)
         self._lastXMLDesc = '<domain><uuid>%s</uuid></domain>' % self.id
-        self._devXmlHash = '0'
+        self._devXmlHash = 0
         self._released = False
         self._releaseLock = threading.Lock()
         self.saveState()
@@ -2534,7 +2534,7 @@
                                    exc_info=True)
 
         stats.update(self._getGraphicsStats())
-        stats['hash'] = self._devXmlHash
+        stats['hash'] = str(hash((self._devXmlHash, 
self.guestAgent.diskMappingHash)))
         if self._watchdogEvent:
             stats['watchdogEvent'] = self._watchdogEvent
         return stats
@@ -4515,7 +4515,7 @@
         self._lastXMLDesc = self._dom.XMLDesc(0)
         devxml = _domParseStr(self._lastXMLDesc).childNodes[0]. \
             getElementsByTagName('devices')[0]
-        self._devXmlHash = str(hash(devxml.toxml()))
+        self._devXmlHash = hash(devxml.toxml())
 
         return self._lastXMLDesc
 


-- 
To view, visit http://gerrit.ovirt.org/31701
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I148196ccf353613f9cffed7753e7100bd1dd30de
Gerrit-PatchSet: 1
Gerrit-Project: vdsm
Gerrit-Branch: master
Gerrit-Owner: Liron Aravot <[email protected]>
_______________________________________________
vdsm-patches mailing list
[email protected]
https://lists.fedorahosted.org/mailman/listinfo/vdsm-patches

Reply via email to