Description of problem: oVirt event handling has larger memory footprint than necessary. Version-Release number of selected component (if applicable): 2.1 How reproducible: Always. Steps to Reproduce: 1. Watch memory while inventory controller processing large numbers of VM events on very large RHV. This will likely be very difficult and time consuming for QE to verify. 2. 3. Actual results: Expected results: Additional info:
https://github.com/konveyor/forklift-controller/pull/299
This is a real performance improvement and the inventory will be more gentle with the RHV endpoint. I'm in favor of fixing it in MTV 2.1. From a QE point of view, we should limit the verification to regressions.
Please verify with build 2.10-19 / iib:88267.
Jeff whats the expected improvement in terms of before and after the fix, and is it seen in the inventory memory usage alone?
I'm not sure how to quantify and measure this in observed memory usage. RHV events only have references to DataCenter, Cluster, Host, VM. So, for events not directly pertaining to one of these resources, the handler must fetch all of the resources from both RHV and the inventory DB, compare the lists and add/update/delete in the inventory as needed to reconcile the differences. The improvement was to do this without keeping both lists in memory. For example for USER_FINISHED_REMOVE_DISK_ATTACHED_TO_VMS(2042) events, on a RHV with 5000 VMs, the improvement would prevent loading 10,000 VMs in memory.
Verified on MTV-2.1.0-48, by running MTV RHV tests.
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 (Migration Toolkit for Virtualization 2.1.0), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2021:3278