Bug 1422374

Summary: The 'VirtIO-SCSI Enabled' isn't enabled by default for new templates
Product: [oVirt] ovirt-engine Reporter: Michael Burman <mburman>
Component: BLL.StorageAssignee: Tomas Jelinek <tjelinek>
Status: CLOSED CURRENTRELEASE QA Contact: Israel Pinto <ipinto>
Severity: high Docs Contact:
Priority: unspecified    
Version: 4.1.0.4CC: astepano, bugs, jbelka, lleistne, michal.skrivanek, tjelinek, tnisan, usurse, vorpal
Target Milestone: ovirt-4.1.1Keywords: Regression
Target Release: 4.1.1.3Flags: rule-engine: ovirt-4.1+
rule-engine: blocker+
rule-engine: planning_ack+
tjelinek: devel_ack+
mavital: testing_ack+
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Cause: the VirtIO-SCSI Enabled was not taken from VM to template on new template creation Consequence: there was a chance to create a template with virtio-scsi disks without virtio-scsi controllers and consequently such VMs from this template. This VMs were invalid. Fix: made sure the VirtIO-SCSI Enabled is taken properly on template creation from the VM Result: now such VMs are not created
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-04-21 09:51:33 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
engine log
none
engine log in debug none

Description Michael Burman 2017-02-15 07:02:29 UTC
Description of problem:
Failed to update VM configuration with "Cannot disable VirtIO-SCSI when disks with a VirtIO-SCSI interface are plugged into the VM." error

Error while executing action: 

VM3:
Cannot disable VirtIO-SCSI when disks with a VirtIO-SCSI interface are plugged into the VM.

2017-02-15 08:42:25,887+02 WARN  [org.ovirt.engine.core.bll.UpdateVmCommand] (default task-7) [23d6de5e-e39c-4d46-93be-9397cf8f514b] Validation of action 'UpdateVm' failed for user admin@internal-authz. Reasons: VAR__ACTION__UPDATE,VAR__TYPE__VM,CANNOT_DISABLE_VIRTIO_SCSI_PLUGGED_DISKS
2017-02-15 08:42:25,890+02 INFO  [org.ovirt.engine.core.bll.UpdateVmCommand] (default task-7) [23d6de5e-e39c-4d46-93be-9397cf8f514b] Lock freed to object 'EngineLock:{exclusiveLocks='[VM3=<VM_NAME, ACTION_TYPE_FAILED_VM_IS_BEING_UPDATED>]', sharedLocks='[eed925e6-f19c-44a7-abdf-84c608c3bbf3=<VM, ACTION_TYPE_FAILED_VM_IS_BEING_UPDATED>]'}'

When trying to update a VM configuration(no matter which config) this error message is shown and operation is actually canceled(except of moving to different cluster, which claims to fail, but succeed)


Version-Release number of selected component (if applicable):
4.1.1-0.1.el7


Steps to Reproduce:
1. Edit VM(change name, change boot order, change cluster)

Actual results:
Operation Canceled error appears:
Error while executing action: 

VM3:
Cannot disable VirtIO-SCSI when disks with a VirtIO-SCSI interface are plugged into the VM.

Most of the update configurations actually failed.

Expected results:
Should work as expected

Additional info:

Comment 1 Michael Burman 2017-02-15 07:03:53 UTC
Created attachment 1250506 [details]
engine log

Comment 2 Michael Burman 2017-02-15 07:17:22 UTC
Created attachment 1250510 [details]
engine log in debug

Comment 3 Michael Burman 2017-02-15 07:44:25 UTC
This bug happens for VMs created from template with the default interface disk of VirtIo-SCSI.

The default disk is VirtIo-SCSI, but it doesn't enabled on the Resource Allocation Tab for new VM from template(only for new VMs)and this is the actual bug here. It is seems that when creating a template the 'VirtIO-SCSI Enabled' doesn't enabled and causing this issue.

Comment 4 Tal Nisan 2017-02-15 13:17:14 UTC
Michal, your team introduced the "VirtIO-SCSI Enabled" field, I guess it'll be much quicker for them to come up with a fix

Comment 5 Michael Burman 2017-02-15 13:20:20 UTC
Tal, the bug is in the template it self.

It doesn't enabled by default as it should in new template(like in new VM), how it is relevant to my team? and then when you create VMs from such template we see this bug.
It should be fixed for templates, to be set as enabled by default.

Comment 6 Michal Skrivanek 2017-02-16 11:27:52 UTC
related to bug 1422418?

Comment 7 Michael Burman 2017-02-16 11:32:46 UTC
It is similar, but, in BZ 1422418 the reporter enabling the 'VirtIO-SCSI Enabled' property and it doesn't saved. The main issue here that it's not as enabled by default as it should.
There are 2 bugs here, 1 that it's not the default and 2 that it's doesn't saved.

Comment 8 Tomas Jelinek 2017-02-17 07:55:20 UTC
*** Bug 1422418 has been marked as a duplicate of this bug. ***

Comment 9 Tomas Jelinek 2017-02-17 07:59:42 UTC
Since virtio-scsi is the default now, one can run into this issue quite easily, targeting 4.1.1

Comment 10 Red Hat Bugzilla Rules Engine 2017-02-17 07:59:49 UTC
This bug report has Keywords: Regression or TestBlocker.
Since no regressions or test blockers are allowed between releases, it is also being identified as a blocker for this release. Please resolve ASAP.

Comment 11 BugMasta 2017-03-06 15:45:59 UTC
Bah.
Yes, you can run into this bug easily.

I've just created a template, created a vm from the template, and then tried to rename the alias for the new vm's disk, so the disk name matches the vm name. And i get the error:

"Error while executing action:
vm03:
    Cannot edit Virtual Disk. VirtIO-SCSI is disabled for the VM"

Great.

Comment 12 BugMasta 2017-03-06 15:57:07 UTC
I expect everyone working on this bug already knows this, but for hapless victims of this bug, it can be worked around after creating the vm:

 - just edit the VM, go to Resource Allocation, and tick the box for "VirtIO-SCSI Enabled".

After doing that, I was able to edit the disk alias.

Comment 13 BugMasta 2017-03-06 16:05:10 UTC
Also, I should add, that this bug is small, but it is an absolute dog. 

If you boot a vm created from template, it doesn't fail with any obvious error, it just gets partway into boot process and just stops dead. And you can try to shut it down, and it will start shutdown procedure, and just stall before properly shutting down, requiring poweroff.

If i had not tried to rename the disk on the storage domain, I would never have ended up finding the solution in this bug report, and that would've rapidly become incredibly frustrating...

Comment 14 Israel Pinto 2017-03-07 07:40:07 UTC
Verify with: 
Engine: 4.1.1.3-0.1.el7
Host: 
OS Version:RHEL - 7.3 - 7.el7
Kernel Version:3.10.0 - 550.el7.x86_64
KVM Version:2.6.0 - 28.el7_3.3.1
LIBVIRT Version:libvirt-2.0.0-10.el7_3.5
VDSM Version:vdsm-4.19.7-1.el7ev

Steps:

1. Create Vm and check the 'VirtIO-SCSI Enabled' is enabled
2. Create Template from this VM and and check the 'VirtIO-SCSI Enabled' is enabled
3. Create Vm from this template and check the 'VirtIO-SCSI Enabled' is enabled
4. Edit VM: 
  - Change name, memory
  - Change disk interface to ti ISCSI and disable Create Vm and check the 
    VirtIO-ISCSI
5. Start VM

VM is up and running no error

Comment 15 Michal Skrivanek 2017-03-08 12:44:06 UTC
*** Bug 1429887 has been marked as a duplicate of this bug. ***

Comment 16 Jiri Belka 2017-03-21 16:10:19 UTC
(I see this already in 3.6...)