Bug 1930733

Summary: Cluster upgrade fails when using Intel Skylake Client/Server IBRS SSBD MDS Family
Product: [oVirt] ovirt-engine Reporter: Lucia Jelinkova <ljelinko>
Component: BLL.VirtAssignee: Lucia Jelinkova <ljelinko>
Status: CLOSED CURRENTRELEASE QA Contact: Qin Yuan <qiyuan>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.4.5.3CC: ahadas, bugs
Target Milestone: ovirt-4.4.5Flags: pm-rhel: ovirt-4.4+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-engine-4.4.5.8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1931514 (view as bug list) Environment:
Last Closed: 2021-03-18 15:16:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1931514    

Description Lucia Jelinkova 2021-02-19 13:15:23 UTC
Description of problem:
When upgrading a cluster with Intel Skylake Client/Server IBRS SSBD MDS Family from the UI, the upgrade fails on updating the VMs with the following error:

Validation of action 'UpdateVm' failed for user a. Reasons: VAR__ACTION__UPDATE,VAR__TYPE__VM,CPU_TYPE_UNKNOWN

Steps to Reproduce:
1. Create Cluster with compatibility version 4.3 and CPU Intel Skylake Client IBRS SSBD MDS Family or Intel Skylake Server IBRS SSBD MDS Family
2.Add vm
3.Open Edit Cluster dialog and change the compatibility version to 4.4 (or 4.5) and save the dialog.

Actual results:
Error occurs

Expected results:
Upgrade succeedes

Additional info:
There are two problems here - frontend and backend. 
1. Frontend - when changing the compatibility version dropdown, the new cpu definitions are loaded into the cpu dropdown. The selected value is calculated based on the flags of the original cpu (in 4.3). However, the flags have changed from vmx,spec_ctrl,ssbd,md_clear,model_Skylake-Server to vmx,ssbd,md_clear,model_Skylake-Server-noTSX-IBRS. As a result, the CPU is not found and the "Auto detect" is selected in the dropdown and sent to the backend.
2. Backend - there is no validation that prevents from selecting Auto detect when there already are VMs or hosts in the cluster. So the null value (Auto detect) is sent to UpdateVmCommand that fails correctly because there is no such CPU. However, the cluster command fails with general exception that the update vm failed and it could be quite demanding to find the exact cause. It is much more simple to add the validation to cluster command.

Comment 1 Qin Yuan 2021-03-11 07:08:46 UTC
Verified with:
ovirt-engine-4.4.5.9-0.1.el8ev.noarch

Steps:
1. Create a Data Center with compatibility Version 4.3
2. Test Intel Skylake Server IBRS SSBD MDS Family:
   1) Add a Cluster with Compatibility Version 4.3, CPU Intel Skylake Server IBRS SSBD MDS Family
   2) Add host, storage, vm
   3) Open Edit Cluster dialog, change Compatibility Version to 4.4, and save the dialog
3. Test Intel Skylake Client IBRS SSBD MDS Family:
   1) Add a Cluster with Compatibility Version 4.3, CPU Intel Skylake Client IBRS SSBD MDS Family
   2) Add host, storage, vm
   3) Open Edit Cluster dialog, change Compatibility Version to 4.5, and save the dialog


Results:
1. Test Intel Skylake Server IBRS SSBD MDS Family:
   1) On Edit Cluster dialog, CPU Type is changed to Secure Intel Skylake Server Family when changing Compatibility Version to 4.4
   2) Update cluster succeeds.
2. Test Intel Skylake Client IBRS SSBD MDS Family:
   1) On Edit Cluster dialog, CPU Type is changed to Secure Intel Skylake Client Family when changing Compatibility Version to 4.5
   2) Update cluster succeeds.

Comment 2 Sandro Bonazzola 2021-03-18 15:16:09 UTC
This bugzilla is included in oVirt 4.4.5 release, published on March 18th 2021.

Since the problem described in this bug report should be resolved in oVirt 4.4.5 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.

Comment 3 Sandro Bonazzola 2021-03-22 12:55:44 UTC
This bugzilla is included in oVirt 4.4.5 release, published on March 18th 2021.

Since the problem described in this bug report should be resolved in oVirt 4.4.5 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.