RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1749672 - Failed to create a VM via virt-manager or web console in RHEL8.1 snapshot-2.1
Summary: Failed to create a VM via virt-manager or web console in RHEL8.1 snapshot-2.1
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: libvirt
Version: 8.1
Hardware: x86_64
OS: Linux
high
high
Target Milestone: rc
: 8.2
Assignee: Jiri Denemark
QA Contact: Luyao Huang
Parth Shah
URL:
Whiteboard:
Depends On: 1756156 1775137
Blocks: 1775134 1775254 1776957
TreeView+ depends on / blocked
 
Reported: 2019-09-06 08:22 UTC by Alpus Chen
Modified: 2022-05-06 02:18 UTC (History)
21 users (show)

Fixed In Version: libvirt-4.5.0-36.el8
Doc Type: Bug Fix
Doc Text:
.Starting a VM on a 10th generation Intel Core processor no longer fails Previously, starting a virtual machine (VM) failed on a host model that used a 10th generation Intel Core processor, also known as Icelake-Server. With this update, `libvirt` no longer attempts to disable the `pconfig` CPU feature which is not supported by QEMU. As a result, starting a VM on a host model running a 10th generation Intel processor no longer fails.
Clone Of:
: 1775134 1775254 (view as bug list)
Environment:
Last Closed: 2020-04-28 15:32:34 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
sosreport (7.76 MB, application/x-xz)
2019-09-06 08:22 UTC, Alpus Chen
no flags Details
virt-manager screenshot (405.00 KB, image/png)
2019-09-06 08:23 UTC, Alpus Chen
no flags Details
web console screenshot (269.20 KB, image/png)
2019-09-06 08:24 UTC, Alpus Chen
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHELPLAN-27932 0 None None None 2022-05-06 02:18:07 UTC
Red Hat Product Errata RHEA-2020:1587 0 None None None 2020-04-28 15:34:17 UTC

Description Alpus Chen 2019-09-06 08:22:35 UTC
Created attachment 1612234 [details]
sosreport

Description of problem:
It failed to create a VM via virt-manager or web console

Version-Release number of selected component (if applicable):
RHEL8.1 snapshot-2.1 kernel:4.18.0-135.el8.x86_64

How reproducible:
always

Steps to Reproduce:
1. Install RHEL8.1 snapshot-2.1 on Whitley IceLake system
2. Open virt-manger or open browser to connect to web console
3. Create a VM then error message pop up.

Actual results:
Failed to create VM

Expected results:
Successfully to create a VM

Additional info:
The test machine is Intel new platform Whitley Icelake.

Comment 1 Alpus Chen 2019-09-06 08:23:44 UTC
Created attachment 1612235 [details]
virt-manager screenshot

Comment 2 Alpus Chen 2019-09-06 08:24:23 UTC
Created attachment 1612236 [details]
web console screenshot

Comment 4 Eduardo Habkost 2019-09-06 20:07:07 UTC
Please send the contents of /var/log/libvirt/qemu/* for the VM, as it will contain the error messages generated by QEMU.  The full text of the "Details" box for virt-manager would be useful too.

The web console error looks like a different error, see bug 1652959.

Comment 5 Alpus Chen 2019-09-09 02:42:33 UTC
(In reply to Eduardo Habkost from comment #4)
> Please send the contents of /var/log/libvirt/qemu/* for the VM, as it will
> contain the error messages generated by QEMU.  The full text of the
> "Details" box for virt-manager would be useful too.
> 
> The web console error looks like a different error, see bug 1652959.

Hi Eduardo, please get the log from sosreport bundle attached to the bug.
https://bugzilla.redhat.com/attachment.cgi?id=1612234

Comment 6 Alpus Chen 2019-09-27 07:49:47 UTC
additional info: Tested RHEL7.8 alpha build on the same HW and the issue does not occur.

Comment 7 Yumei Huang 2019-09-29 06:55:10 UTC
According to the log, should be same issue as bug 1755175.

2019-09-06T15:38:57.569931Z qemu-kvm: can't apply global Icelake-Server-x86_64-cpu.pconfig=off: Property '.pconfig' not found
2019-09-06 15:38:57.613+0000: shutting down, reason=failed

Comment 8 Kelvin Shieh 2019-10-01 10:19:13 UTC
Hi Yumei,
Do we have an outlook date for fixing this defect?

Comment 9 Eduardo Habkost 2019-10-01 14:50:34 UTC
(In reply to Kelvin Shieh from comment #8)
> Hi Yumei,
> Do we have an outlook date for fixing this defect?

Fix is still being worked on upstream, so I don't have an ETA yet, but it's proposed for 8.2.0 and 8.1.z.  References:
https://lore.kernel.org/qemu-devel/20190926212326.4092-1-ehabkost@redhat.com/
https://lore.kernel.org/qemu-devel/20190930141104.GA4084@habkost.net/#t

A possible workaround is to use `--cpu host-model-only` or `--cpu Icelake-Server` on the command-line.

Comment 10 Eduardo Habkost 2019-10-01 14:51:59 UTC
Moving to libvirt, as the fix will be implemented on the libvirt side.

Comment 12 Jiri Denemark 2019-11-11 20:38:05 UTC
Patches sent upstream for review:
https://www.redhat.com/archives/libvir-list/2019-November/msg00356.html

Comment 13 Jiri Denemark 2019-11-12 19:20:44 UTC
This bug is now fixed upstream by

commit 668797dc5cb474585609559dbe610e09517e23e6
Refs: v5.9.0-143-g668797dc5c
Author:     Jiri Denemark <jdenemar>
AuthorDate: Thu Nov 7 16:25:47 2019 +0100
Commit:     Jiri Denemark <jdenemar>
CommitDate: Tue Nov 12 20:14:15 2019 +0100

    cpu_conf: Pass policy to CPU feature filtering callbacks

    Signed-off-by: Jiri Denemark <jdenemar>
    Reviewed-by: Daniel P. Berrangé <berrange>

commit ae793ecbcbd17b118ef3a876d247abb49574ab0e
Refs: v5.9.0-144-gae793ecbcb
Author:     Jiri Denemark <jdenemar>
AuthorDate: Fri Oct 18 16:14:23 2019 +0200
Commit:     Jiri Denemark <jdenemar>
CommitDate: Tue Nov 12 20:14:15 2019 +0100

    qemuxml2*test: Add tests for Icelake-Server,-pconfig

    Signed-off-by: Jiri Denemark <jdenemar>
    Reviewed-by: Daniel P. Berrangé <berrange>

commit ac34e141596fab70fbe91a396311f80db6cb57c5
Refs: v5.9.0-145-gac34e14159
Author:     Jiri Denemark <jdenemar>
AuthorDate: Fri Oct 18 14:33:19 2019 +0200
Commit:     Jiri Denemark <jdenemar>
CommitDate: Tue Nov 12 20:14:16 2019 +0100

    qemu: Drop disabled CPU features unknown to QEMU

    When a CPU definition wants to explicitly disable some features that are
    unknown to QEMU, we can safely drop them from the definition before
    starting QEMU. Naturally QEMU won't enable such features implicitly.

    Signed-off-by: Jiri Denemark <jdenemar>
    Reviewed-by: Daniel P. Berrangé <berrange>

commit 6b4cc15730e5b2330eaba2b211f16547dccd665c
Refs: v5.9.0-147-g6b4cc15730
Author:     Jiri Denemark <jdenemar>
AuthorDate: Fri Oct 18 13:50:19 2019 +0200
Commit:     Jiri Denemark <jdenemar>
CommitDate: Tue Nov 12 20:14:16 2019 +0100

    cputest: Add data for Ice Lake Server CPU

    Signed-off-by: Jiri Denemark <jdenemar>
    Reviewed-by: Daniel P. Berrangé <berrange>

commit 9cd03f7957e114892ae54e7ccb3758b6fb440644
Refs: [master], [cpu-fixes], {origin/master}, {origin/HEAD}, v5.9.0-148-g9cd03f7957
Author:     Jiri Denemark <jdenemar>
AuthorDate: Fri Oct 18 14:33:00 2019 +0200
Commit:     Jiri Denemark <jdenemar>
CommitDate: Tue Nov 12 20:14:16 2019 +0100

    cpu_map: Drop pconfig from Icelake-Server CPU model

    The pconfig feature was enabled in QEMU by accident in 3.1.0. All other
    newer versions do not support it and it was removed from the
    Icelake-Server CPU model in QEMU.

    We don't normally change our CPU models even when QEMU does so to avoid
    breaking migrations between different versions of libvirt. But we can
    safely do so in this specific case. QEMU never supported enabling
    pconfig so any domain which was able to start has pconfig disabled.

    With a small compatibility hack which explicitly disables pconfig when
    CPU model equals Icelake-Server in migratable domain definition, only
    one migration scenario stays broken (and there's nothing we can do about
    it): from any host to a host with libvirt < 5.10.0 and QEMU > 3.1.0.

    https://bugzilla.redhat.com/show_bug.cgi?id=1749672

    Signed-off-by: Jiri Denemark <jdenemar>
    Reviewed-by: Daniel P. Berrangé <berrange>

Comment 19 dhsia 2019-11-22 04:59:56 UTC
Hi Jiri, 
Does the target version is RHEL8.2?

Comment 20 Jiri Denemark 2019-11-22 09:10:27 UTC
Yes and it should also be backported as a z-stream fix to 8.1.

Comment 21 Kelvin Shieh 2019-11-26 09:09:35 UTC
Hi Jiri,
Thanks for the update!

Comment 22 dhsia 2019-12-19 07:28:05 UTC
Hi 
Lenovo verified that RHEL-8.2.0-InternalSnapshot-2.1 can install VM successfully.

Comment 23 Luyao Huang 2020-02-04 03:31:27 UTC
Verify this bug with libvirt-daemon-4.5.0-38.module+el8.2.0+5435+dd02dc4c.x86_64:

1. prepare a Icelake server host:
# lscpu
...
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l3 cdp_l3 invpcid_single mba ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm mpx rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local wbnoinvd dtherm ida arat pln pts avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg tme avx512_vpopcntdq la57 rdpid pconfig arch_capabilities
...

2. check virsh domcapabilities output:

    <mode name='host-passthrough' supported='yes'/>
    <mode name='host-model' supported='yes'>
      <model fallback='forbid'>Icelake-Server</model>
      <vendor>Intel</vendor>
      <feature policy='require' name='ss'/>
      <feature policy='require' name='vmx'/>
      <feature policy='require' name='hypervisor'/>
      <feature policy='require' name='tsc_adjust'/>
      <feature policy='require' name='avx512ifma'/>
      <feature policy='require' name='sha-ni'/>
      <feature policy='require' name='stibp'/>
      <feature policy='require' name='arch-capabilities'/>
      <feature policy='require' name='xsaves'/>
      <feature policy='require' name='invtsc'/>
      <feature policy='require' name='rdctl-no'/>
      <feature policy='require' name='ibrs-all'/>
      <feature policy='require' name='skip-l1dfl-vmentry'/>    <-no pconfig
      <feature policy='disable' name='intel-pt'/>
      <feature policy='disable' name='ssbd'/>
    </mode>

3. start guest use host-model cpu mode:

# virsh dumpxml vm1 --inactive
<domain type='kvm'>
  <name>vm1</name>
...
  <cpu mode='host-model' check='partial'>
    <model fallback='allow'/>
    <feature policy='disable' name='vmx'/>
    <numa>
      <cell id='0' cpus='0-1' memory='512000' unit='KiB'/>
      <cell id='1' cpus='2-3' memory='512000' unit='KiB'/>
    </numa>
  </cpu>
...

# virsh start vm1
Domain vm1 started 

4. 
# virsh dumpxml vm1
...
 <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>Icelake-Server</model>
    <vendor>Intel</vendor>
    <feature policy='require' name='ss'/>
    <feature policy='disable' name='vmx'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='tsc_adjust'/>
    <feature policy='require' name='avx512ifma'/>
    <feature policy='require' name='sha-ni'/>
    <feature policy='require' name='stibp'/>
    <feature policy='require' name='arch-capabilities'/>
    <feature policy='require' name='xsaves'/>
    <feature policy='require' name='rdctl-no'/>
    <feature policy='require' name='ibrs-all'/>
    <feature policy='require' name='skip-l1dfl-vmentry'/>
    <feature policy='disable' name='intel-pt'/>
    <feature policy='disable' name='ssbd'/>

5. check qemu command line, there is no pconfig:

# ps aux|grep qemu 
... -cpu Icelake-Server,ss=on,vmx=off,hypervisor=on,tsc-adjust=on,avx512ifma=on,sha-ni=on,stibp=on,arch-capabilities=on,xsaves=on,rdctl-no=on,ibrs-all=on,skip-l1dfl-vmentry=on,intel-pt=off,ssbd=off

Comment 25 errata-xmlrpc 2020-04-28 15:32:34 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

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

https://access.redhat.com/errata/RHEA-2020:1587


Note You need to log in before you can comment on or make changes to this bug.