Description of problem:
calling status on an instance of class Vm(object) throws the following exception:
2016-01-05 23:41:17,725 - mom.GuestManager - ERROR - Guest Manager crashed
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/mom/GuestManager.py", line 114, in run
File "/usr/lib/python2.6/site-packages/mom/HypervisorInterfaces/vdsmInterface.py", line 75, in getVmList
File "/usr/share/vdsm/API.py", line 1380, in getVMList
File "/usr/share/vdsm/API.py", line 1370, in reportedStatus
File "/usr/share/vdsm/virt/vm.py", line 2817, in status
File "/usr/share/vdsm/virt/vm.py", line 2817, in <genexpr>
RuntimeError: dictionary changed size during iteration
2016-01-05 23:41:19,843 - mom - ERROR - Thread 'GuestManager' has exited
Version-Release number of selected component (if applicable):
Randomly (race condition)
Steps to Reproduce:
Most probably by forcing massive live migration
the mentioned exception
Exception cannot raise
In this case the exception causes malfunctioning MoM as the GuestManager crashes due to this exception.
patch http://gerrit.ovirt.org/51657 is related but not required to fix this bug; removed.
verified on Red Hat Enterprise Virtualization Manager Version: 184.108.40.206-0.1.el6
1. Create a pool of 20 VMs (The hosts where very loaded, 5 Vms on each core)
2. Migrate all the 20 VMs
3. Check in mom logs
To be sure, I repeated this steps several times.
I didn't see this exception.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.