
On 28-04-2015 17:44, Nir Soffer wrote:
In sampling.py, remove() is being called without calling add() before, which throws: Fixed in master, please update: https://gerrit.ovirt.org/40223
Hi Nir, Still present: Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/yajsonrpc/__init__.py", line 464, in _serveRequest res = method(**params) File "/usr/share/vdsm/rpc/Bridge.py", line 273, in _dynamicMethod result = fn(*methodArgs) File "/usr/share/vdsm/API.py", line 339, in destroy res = v.destroy() File "/usr/share/vdsm/virt/vm.py", line 3517, in destroy result = self.doDestroy() File "/usr/share/vdsm/virt/vm.py", line 3535, in doDestroy return self.releaseVm() File "/usr/share/vdsm/virt/vm.py", line 3450, in releaseVm <-------------------------------- Also called here sampling.stats_cache.remove(self.id) File "/usr/share/vdsm/virt/sampling.py", line 428, in remove del self._vm_last_timestamp[vmid] Consider making the function foolproof/flow-independent: 428,429c428 < if vmid in self._vm_last_timestamp.keys(): < del self._vm_last_timestamp[vmid] ---
del self._vm_last_timestamp[vmid]