Bug 1678262

Summary: Q35: BIOS type changed to "Default" when creating new VM from template with Q35 chipset.
Product: [oVirt] ovirt-engine Reporter: Nisim Simsolo <nsimsolo>
Component: Frontend.WebAdminAssignee: Steven Rosenberg <srosenbe>
Status: CLOSED CURRENTRELEASE QA Contact: Nisim Simsolo <nsimsolo>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.3.0CC: ahadas, bugs, kevin.a.price, nsimsolo, rbarry, rik.theys, sgoodman, srosenbe, trvrmeyer
Target Milestone: ovirt-4.4.0Flags: pm-rhel: ovirt-4.4+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-engine-4.4.0 gitb5b5c99ca2f Doc Type: Bug Fix
Doc Text:
Previously, when you created a virtual machine from a template, the BIOS type of defined in the template did not take effect on the new virtual machine. Consequently, the BIOS type on the new virtual machine was incorrect. With this update, this bug is fixed, so the BIOS type on the new virtual machine is correct.
Story Points: ---
Clone Of:
: 1914648 (view as bug list) Environment:
Last Closed: 2020-05-20 20:02:05 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:
Attachments:
Description Flags
source VM edit dialog screenshot
none
Template edit dialog screenshot
none
New VM from template dialog screenshot
none
engine.log.xz
none
vdsm.log.xz none

Description Nisim Simsolo 2019-02-18 11:48:55 UTC
Description of problem:
- When creating new VM from template with Q35 chipset and UEFI BIOS, the BIOS type changed to "Default", which eventually cause to start VM failure with vdsm.log ERROR:
libvirtError: XML error: The PCI controller with index='0' must be model='pcie-root' for this machine type, but model='(null)' was found instead
- Observing the template, shows that BIOS type kept correctly, but when creating new VM from template, the BIOS type changed to default. 
- possible workaround is to change BIOS type when creating new VM from temp, or after the VM was created. 

Version-Release number of selected component (if applicable):
ovirt-engine-4.3.0.5-0.0.master.20190207124642.git415c7e8.el7.noarch
vdsm-4.30.8-58.git60c5a6d.el7.x86_64
qemu-kvm-ev-2.12.0-18.el7_6.3.1.x86_64
libvirt-client-4.5.0-10.el7_6.4.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Make template from VM with Q35 chipset and UEFI BIOS.
2. Create new VM from template.
3.

Actual results:
BIOS type changed to "Default".

Expected results:
BIOS type should be UEFI BIOS.

Additional info:
Screenshots, vdsm.log and engine.log attached.

Comment 1 Nisim Simsolo 2019-02-18 12:05:20 UTC
Created attachment 1535903 [details]
source VM edit dialog screenshot

Comment 2 Nisim Simsolo 2019-02-18 12:05:51 UTC
Created attachment 1535904 [details]
Template edit dialog screenshot

Comment 3 Nisim Simsolo 2019-02-18 12:06:16 UTC
Created attachment 1535905 [details]
New VM from template dialog screenshot

Comment 4 Nisim Simsolo 2019-02-18 12:07:00 UTC
Created attachment 1535906 [details]
engine.log.xz

Comment 5 Nisim Simsolo 2019-02-18 12:07:24 UTC
Created attachment 1535907 [details]
vdsm.log.xz

Comment 6 Rik Theys 2019-09-09 09:17:54 UTC
Hi,

We are experiencing a similar issue with VM pools. When I initially created the pool with 1 VM and Q35 BIOS selected, the pool VM booted okay. Afterwards I have extended the pool with more VM's. All those VM's have been created with "Default" BIOS. They now fail to boot and hang at "Booting from hard disk".

Regards,
Rik

Comment 7 Ryan Barry 2020-01-07 12:46:29 UTC
Still relevant?

Comment 8 tmeyer 2020-01-08 16:20:54 UTC
As of 4.3.7, this is still a problem. I have confirmed this is still occurring during VM creation from templates and pool VMs.

Comment 9 Nisim Simsolo 2020-04-27 16:20:59 UTC
Verified:
ovirt-engine-4.4.0-0.33.master.el8ev
qemu-kvm-4.2.0-19.module+el8.2.0+6296+6b821950.x86_64
vdsm-4.40.13-1.el8ev.x86_64
libvirt-daemon-6.0.0-17.module+el8.2.0+6257+0d066c28.x86_64

Verification scenario:
1. Make template from Q35 chipset and UEFI BIOS.
2. Create VM from template
3. Create pool from template
4. Verify VMs from steps 2&3 are running properly with Q35 chipset and UEFI BIOS.

Comment 10 Sandro Bonazzola 2020-05-20 20:02:05 UTC
This bugzilla is included in oVirt 4.4.0 release, published on May 20th 2020.

Since the problem described in this bug report should be
resolved in oVirt 4.4.0 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.