Bug 1478959

Summary: Increase of HE VM memory, raises tracebacks under VDSM log
Product: [oVirt] ovirt-engine Reporter: Artyom <alukiano>
Component: BLL.HostedEngineAssignee: Steven Rosenberg <srosenbe>
Status: CLOSED CURRENTRELEASE QA Contact: meital avital <mavital>
Severity: low Docs Contact:
Priority: low    
Version: 4.2.0CC: alukiano, bugs, dchaplyg, dfediuck, mgoldboi, michal.skrivanek, mkalinin
Target Milestone: ovirt-4.3.0Keywords: ZStream
Target Release: ---Flags: dfediuck: ovirt-4.3+
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1523835 (view as bug list) Environment:
Last Closed: 2018-06-26 15:39:14 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: SLA RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1523835    
Attachments:
Description Flags
vdsm log none

Description Artyom 2017-08-07 15:05:53 UTC
Created attachment 1310157 [details]
vdsm log

Description of problem:
Increase of HE VM memory raises tracebacks under VDSM log

2017-08-07 17:55:15,246+0300 ERROR (jsonrpc/5) [virt.vm] (vmId='b58fdeda-45bb-43d2-b336-ef9953171347') hotplugMemory failed (vm:2971)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/vdsm/virt/vm.py", line 2969, in hotplugMemory
    self._dom.attachDevice(deviceXml)
  File "/usr/lib/python2.7/site-packages/vdsm/virt/virdomain.py", line 95, in f
    ret = attr(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/vdsm/libvirtconnection.py", line 125, in wrapper
    ret = f(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/vdsm/utils.py", line 586, in wrapper
    return func(inst, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/libvirt.py", line 540, in attachDevice
    if ret == -1: raise libvirtError ('virDomainAttachDevice() failed', dom=self)
libvirtError: unsupported configuration: Attaching memory device with size '1966080' would exceed domain's maxMemory config


Version-Release number of selected component (if applicable):
vdsm-4.20.2-25.git7499b81.el7.centos.x86_64
libvirt-client-3.2.0-14.el7_4.2.x86_64
ovirt-engine-4.2.0-0.0.master.20170803140556.git1e7d0dd.el7.centos.noarch

How reproducible:
Always

Steps to Reproduce:
1. Deploy hosted-engine
2. Add master storage domain
3. Wait for auto-import operation
4. Increase amount of HE VM memory via UI

Actual results:
Action succeeds under the engine, but I can see Traceback under vdsm log

Expected results:
Action succeeds under the engine and vdsm log does not have any new tracebacks

Additional info:

Comment 1 Michal Skrivanek 2017-08-08 07:03:23 UTC
what's the maximum memory value in engine's HE VM dialog?

Comment 2 Artyom 2017-08-08 11:21:09 UTC
16Gb, I installed HE VM with 4Gb of memory, so max value is 4 * memory.

Comment 3 Artyom 2017-08-08 11:22:15 UTC
I believe the problem that the vdsm receive command for memory hotplug, when we still do not support it under the HE VM.

Comment 4 Michal Skrivanek 2017-08-08 11:27:37 UTC
(In reply to Artyom from comment #2)
> 16Gb, I installed HE VM with 4Gb of memory, so max value is 4 * memory.

nope it's started with 4GB as well, hence you're unable to hot plug anything more. Indeed it may not be supported

Comment 5 Martin Sivák 2017-08-14 14:24:48 UTC
Memory hotplug for hosted engine is still not supported and there used to be a condition in the engine code that skipped the call for hosted engine. I know Michal was not fond of it, but it should have prevented this error.

Btw: Did the apply now / later dialog show up?

Comment 6 Artyom 2017-08-15 11:12:25 UTC
No, when I update the memory, it does not show "Apply Later" dialog.

Comment 7 Yaniv Kaul 2017-11-22 08:29:22 UTC
If memory hotplug for HE VM is not supported, why is the bug targeted for 4.2.0?

Comment 8 Doron Fediuck 2017-11-23 13:13:57 UTC
Moving forward since we're done with 4.2.

Comment 10 Steven Rosenberg 2018-05-23 14:18:14 UTC
I deployed Hosted Engine on a new Host as well as on a VM. The current versions tested are here as per yum:

vdsm.x86_64                              4.30.0-372.git422d0a2.el7
libvirt-client.x86_64                    3.9.0-14.el7_5.5 @updates  
ovirt-engine.noarch                      4.3.0-0.0.master.20180522090138.git7375cf9.el7

I used the FQDN as the URL for running the Ovirt Engine GUI and doubled the Memory Size of the VM multiple times. There were no errors related to the memory increase either in the vdsm.log nor mom.log files.

For one increase the memory status went from:

        "memoryStats": {
            "swap_out": 0, 
            "majflt": 0, 
            "minflt": 170, 
            "mem_cached": "465220", 
            "mem_free": "2325176", 
            "mem_buffers": "2104", 
            "swap_in": 0, 
            "pageflt": 170, 
            "mem_total": "5128712", 
            "mem_unused": "2325176"
        }, 

To:

        "memoryStats": {
            "swap_out": 0, 
            "majflt": 0, 
            "minflt": 236, 
            "mem_cached": "465740", 
            "mem_free": "2321268", 
            "mem_buffers": "2104", 
            "swap_in": 0, 
            "pageflt": 236, 
            "mem_total": "5128712", 
            "mem_unused": "2321268"
        }, 

So it does appear that the memory hot-plugging is working and that the trace back no longer occurs.

Comment 11 Martin Sivák 2018-06-26 15:39:14 UTC
This is likely working properly since 4.2.z started using the libvirtxml to start the hosted engine VM.