Bug 1356468

Summary: RHEV VM Reconfigure: Hot plug CPU & memory together, pass on CFME, though memory hot plug fail on 256 multiply
Product: Red Hat CloudForms Management Engine Reporter: Ilanit Stein <istein>
Component: ProvidersAssignee: Juan Hernández <juan.hernandez>
Status: CLOSED CURRENTRELEASE QA Contact: Ilanit Stein <istein>
Severity: medium Docs Contact:
Priority: high    
Version: 5.7.0CC: cpelland, dajohnso, jfrey, jhardy, juan.hernandez, masayag, mgoldboi, obarenbo, oourfali, simaishi, ssainkar
Target Milestone: GAKeywords: TestOnly, ZStream
Target Release: 5.8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: rhev:reconfigure
Fixed In Version: 5.8.0.1 Doc Type: Bug Fix
Doc Text:
In the previous version of CloudForms, when trying to hot plug CPU along with memory hot add, the CPU hot plug operation succeeded, but the memory new value did not seem to propagate correctly to Red Hat Virtualization (RHV). This is because in the current RHV provider in CFME, there is no infrastructural method to differentiate between RHV versions, therefore the CPU hot-plug action failed on the engine side and CPU changes took affect only after the next virtual machine reboot. RHV Clusters 3.6 and lower don't support hot-unplug of CPU. As a result, the 'Reconfigure VM' on CFME was reported as successful, however the CPU changes were applied only after the next virtual machine reboot. The virtual machine presented its former CPU information, and it appeared that there were no changes in the virtual machine. With this update, restarting the virtual machine apply the CPU changes and will reflect them in CFME for the user. For Cluster 4.0, the CPU changes will be reflected as soon as the virtual machine update action is completed on RHV side. And for Cluster 3.6, the CPU changes will be reflected after the virtual machine is restarted.
Story Points: ---
Clone Of:
: 1404316 (view as bug list) Environment:
Last Closed: 2017-06-12 16:10:43 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: RHEVM Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1404316    

Description Ilanit Stein 2016-07-14 08:04:42 UTC
Description of problem:
When trying to Hot plug CPU along with Memory hot add,
the cpu hot plug operation succeed, but the Memory new value seem to not propagated correctly to RHEV.

For example, 
For a VM with sockets=1, cores per socket=1, and memory=100M, guaranteed memory=100M, 
VM reconfigure: CPU sockets1->4, and memory 100M->256M.

This request succeed:
VM Reconfigure for: vm - Memory: 256 MB, Processor Sockets: 4, Processor Cores Per Socket: 1, Total Processors: 4
Last Message VM Reconfigure complete

On RHEV side, the CPU hot plug succeed, but the memory hot add fail on value not being a multipy of 256M (though the value entered on CFME side was 256M), therefore it seems the memory new value was not passed correctly to RHEV.

RHEV Events:
	
Jul 14, 2016 6:47:11 AM
VM vm configuration was updated by admin@internal.

Jul 14, 2016 6:47:11 AM
Hotplug CPU: changed the number of CPUs on VM vm from 1 to 4

Jul 14, 2016 6:47:10 AM
VM vm was configured with 100mb of memory while the recommended value range is 256mb - 65536mb

Jul 14, 2016 6:47:09 AM
VM vm configuration was updated by admin@internal.

Jul 14, 2016 6:47:09 AM
Failed to hot set memory to VM vm. Underlying error message: Cannot hot set memory VM. Plugged memory must be multiplication of 256.  

Version-Release number of selected component (if applicable):
CFME 5.6.0.11-rc2.2.20160614152915_f315c68
RHEVM-3.6.6.2-0.1.el6

How reproducible:
100%


Actual results:
1. The request for setting CPU hot plug & Memory hot add together, Succeed.
2. Memory hot add value is not propogated correctly to RHEV, if done along with CPU hot plug.

Expected results:
1. The request for setting CPU hot plug & Memory hot add together, should Fail, 
if one of these operations fail (memory hot add failed in this case) 
2. Memory hot add value should propogate correctly to RHEV, if done along with CPU hot plug.

Comment 2 Ilanit Stein 2016-11-07 15:13:38 UTC
Retested on CFME-5.7.0.9 (appliance leased from Sprout)
and RHV-4.0.4

VM Reconfigure:  cpu sockets 1->4, memory 100M->256M

CFME request failed:
Description VM Reconfigure for: test_hot - Memory: 256 MB, Processor Sockets: 4, Processor Cores Per Socket: 1, Total Processors: 4
Last Message Error: [Cannot edit VM. Physical Memory Guaranteed cannot exceed Memory Size.]

RHV VM event:  Failed to hot set memory to VM test_hot. Underlying error message: Cannot hot set memory VM. Plugged memory must be multiplication of 256.

The VM was not updated.

Comment 3 Juan Hernández 2016-11-10 13:32:24 UTC
The following pull requests should address this issue:

  Add support for matrix parameters to update memory
  https://github.com/ManageIQ/ovirt/pull/72

  Adjust memory reconfiguration for oVirt
  https://github.com/ManageIQ/manageiq/pull/12550

Comment 4 Dave Johnson 2016-11-13 05:56:53 UTC
Is this a dupe of bug 1388964?

Comment 5 Ilanit Stein 2016-11-13 10:03:56 UTC
(In reply to Dave Johnson from comment #4)
> Is this a dupe of bug 1388964?

No. bug 1388964, is a duplicate of Bug 1389303.
I added a comment on that in bug 1388964.

In this bug, the problem is not that the submit button is not responding, but rather the RHV error, on memory hot add is not propagated to CFME.

Comment 6 Moti Asayag 2016-11-22 14:40:21 UTC
*** Bug 1352602 has been marked as a duplicate of this bug. ***

Comment 7 Oved Ourfali 2016-12-13 11:27:36 UTC
Juan - should this be on post?
Was it backported?

Comment 8 Juan Hernández 2016-12-13 12:49:47 UTC
It isn't backported yet. I am moving it to POST.

Comment 9 Satoe Imaishi 2016-12-13 15:14:33 UTC
'ovirt' gem version bump PR: https://github.com/ManageIQ/manageiq-gems-pending/pull/7

Comment 11 Juan Hernández 2017-01-27 15:34:53 UTC
The fix for this issue isn't completely correct, it doesn't work well with oVirt 3.6. The following additional pull request is needed:

  Don't send 'next_run=false' to oVirt 3.6
  https://github.com/ManageIQ/manageiq/pull/13677

Comment 12 Juan Hernández 2017-01-27 15:35:57 UTC
Satoe, shoud this be moved back to ON_DEV?

Comment 13 Satoe Imaishi 2017-01-27 15:51:34 UTC
That sounds good, moving.

Comment 14 Oved Ourfali 2017-03-13 08:39:23 UTC
Juan - this should be at least on POST, right?
Wasn't it on the 5.8.0 build?

Comment 15 Juan Hernández 2017-03-13 09:41:54 UTC
Yes, it has been merged and backported, moving to POST.

Comment 16 Ilanit Stein 2017-04-23 11:16:15 UTC
Verified on CFME-5.8.0.11/RHV-4.0.7:

VM Reconfigure:  cpu sockets 4->1, memory 100M->256M
CFME request succeed.
On RHV side, VM memory updated to 356 MB (as expected, memory delta is rounded to 256MB),
and CPU hot unplug failed on:

"Hot un-plugging a CPU is not supported for cluster version 4.0 and architecture x86_64."

As this bug do not handle the cpu hot unplug (see doc text), 
moving bug to verified.