Bug 2210079

Summary: [OSP 16.2] Unacceptable CPU info: CPU doesn't have compatibility
Product: Red Hat OpenStack Reporter: Jean-Francois Beaudoin <jbeaudoi>
Component: openstack-novaAssignee: OSP DFG:Compute <osp-dfg-compute>
Status: CLOSED NOTABUG QA Contact: OSP DFG:Compute <osp-dfg-compute>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 16.2 (Train)CC: astupnik, dasmith, eglynn, icoeli, jhakimra, joabas, kchamart, sbauza, sgordon, ssigwald, vromanso
Target Milestone: z5   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-06-21 14:47:11 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jean-Francois Beaudoin 2023-05-25 16:56:44 UTC
This bug was initially created as a copy of Bug #2138381

I am copying this bug because: 
Customer still has issue after updating to 16.2.5

Description of problem:
Icelake intel cpus are detected as Broadwell-IBRS

Version-Release number of selected component (if applicable):
8.2 EUS

How reproducible:
always

Steps to Reproduce:
1. Add new computes nodes with 10nm icelake cpus
2.
3.

Actual results:

live migration fails with:
2022-10-27 12:28:10.620 7 ERROR oslo_messaging.rpc.server nova.exception.InvalidCPUInfo: Unacceptable CPU info: CPU doesn't have compatibility.

virsh capabilities:
      <model>Broadwell-IBRS</model>
      <vendor>Intel</vendor>

Expected results:
should be detected as icelake

Additional info:
After the update, the models that could be used from Skylake, decreased the amount.

Before the update the virsh domcapabilities kvm command output returned:
      <model usable='yes'>Skylake-Server-noTSX-IBRS</model>
      <model usable='yes'>Skylake-Server-IBRS</model>
      <model usable='yes'>Skylake-Server</model>
      <model usable='yes'>Skylake-Client-noTSX-IBRS</model>
      <model usable='yes'>Skylake-Client-IBRS</model>
      <model usable='yes'>Skylake-Client</model>

After the update it returns:
      <model usable='yes'>Skylake-Server-noTSX-IBRS</model>
      <model usable='no'>Skylake-Server-IBRS</model>
      <model usable='no'>Skylake-Server</model>
      <model usable='yes'>Skylake-Client-noTSX-IBRS</model>
      <model usable='no'>Skylake-Client-IBRS</model>
      <model usable='no'>Skylake-Client</model>

This occurs on Skylake and Icelake processor-based hypervisors.