Change in ovirt-engine[ovirt-engine-3.6]: Fix memory based filtering

Tal Nisan has submitted this change and it was merged. Change subject: Fix memory based filtering ...................................................................... Fix memory based filtering There are two memory based rules that have to be obeyed for a successful VM start. 1) QEMU can allocate the full VM memory when starting the VM process. sysctl option vm.overcommit_memory then controls whether the malloc call succeeds even though there is not enough free memory at the time. The allocation is not visible in free memory reporting, because the kernel memory pages are then assigned on demand. This does not happen always, but we can't really tell in advance and so we need to make sure the necessary memory is available for the malloc call to succeed (even though the memory won't be actually used). The pending mechanism is used, but only counts the guest overhead memory consumption for this case as it is unlikely the VM will eat more memory faster than VDSM reports it to the engine. 2) oVirt over-commitment rules limit the total amount of VM memory that can be assigned on a host. This amount does not correspond to the actual used physical memory, it represents the theoretical maximum of memory all VMs on a host can consume. The full memory is used in the pending counter for this case. We already had number two (sans a tiny change to the formula). Rule number one is a new one and it will not cause more memory or swap usage, because it only makes the rules more strict together. This patch also fixes a small bug in deserialization of memFree when retrieved as part of the full VDS entity. Bug-Url: https://bugzilla.redhat.com/show_bug.cgi?id=1180071 Change-Id: I335324841b8df6561d6aa2203a394164d44ee9a9 Signed-off-by: Martin Sivak <msivak@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/HaReservationHandling.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SlaValidator.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/VdsFreeMemoryChecker.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/pending/PendingMemory.java A backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/pending/PendingOvercommitMemory.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/policyunits/MemoryPolicyUnit.java M backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/scheduling/SlaValidatorTest.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsDynamic.java M backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/VdsStatistics.java M backend/manager/modules/dal/src/main/java/org/ovirt/engine/core/dao/VdsDaoImpl.java M backend/manager/modules/dal/src/main/resources/bundles/AppErrors.properties M backend/manager/modules/dal/src/test/java/org/ovirt/engine/core/dao/VdsDaoTest.java M backend/manager/modules/dal/src/test/resources/fixtures.xml M frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/AppErrors.java M frontend/webadmin/modules/userportal-gwtp/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties M frontend/webadmin/modules/webadmin/src/main/resources/org/ovirt/engine/ui/frontend/AppErrors.properties 17 files changed, 324 insertions(+), 78 deletions(-) Approvals: Martin Sivák: Verified Jenkins CI: Passed CI tests Roy Golan: Looks good to me, approved -- To view, visit https://gerrit.ovirt.org/50105 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: merged Gerrit-Change-Id: I335324841b8df6561d6aa2203a394164d44ee9a9 Gerrit-PatchSet: 4 Gerrit-Project: ovirt-engine Gerrit-Branch: ovirt-engine-3.6 Gerrit-Owner: Martin Sivák <msivak@redhat.com> Gerrit-Reviewer: Jenkins CI Gerrit-Reviewer: Martin Sivák <msivak@redhat.com> Gerrit-Reviewer: Piotr Kliczewski <piotr.kliczewski@gmail.com> Gerrit-Reviewer: Roy Golan <rgolan@redhat.com> Gerrit-Reviewer: Tal Nisan <tnisan@redhat.com> Gerrit-Reviewer: gerrit-hooks <automation@ovirt.org>
participants (1)
-
tnisan@redhat.com