Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1388596

Summary: Virt-v2v is failing with python error when importing VM from KVM
Product: Red Hat Enterprise Virtualization Manager Reporter: emahoney
Component: ovirt-engineAssignee: Tomáš Golembiovský <tgolembi>
Status: CLOSED ERRATA QA Contact: Nisim Simsolo <nsimsolo>
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: emahoney, gklein, ling, lsurette, mavital, mgoldboi, michal.skrivanek, nashok, nsimsolo, rbalakri, Rhev-m-bugs, srevivo, tgolembi, tjelinek, ykaul
Target Milestone: ovirt-4.1.0-alphaKeywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: V2V
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1400527 (view as bug list) Environment:
Last Closed: 2017-04-25 00:50:26 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: 1416112    
Bug Blocks: 910269, 1400527    
Attachments:
Description Flags
Engine.log from manager none

Description emahoney 2016-10-25 18:05:00 UTC
Created attachment 1214028 [details]
Engine.log from manager

Description of problem: virt-v2v is failing with a python error. I am attaching the engine.log from the RHVM and have asked the customer for a sosreport from the KVM host. 

~~~
2016-10-25 13:20:54,335 INFO  [org.ovirt.engine.core.bll.exportimport.ConvertVmCallback] (DefaultQuartzScheduler4) [6caf6d30] Conversion of VM from exteral enironment failed: must be string or buffer, not None
2016-10-25 13:20:55,339 ERROR [org.ovirt.engine.core.bll.exportimport.ConvertVmCommand] (DefaultQuartzScheduler7) [4b606ce0] Ending command 'org.ovirt.engine.core.bll.exportimport.ConvertVmCommand' with failure.
~~~

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


How reproducible:


Steps to Reproduce:
1. Select import from VMs tab in RHVM UI
2. Import VM with thin provisioned or pre-allocated (both fail) disks
3. Engine log shows python error when using thin provisioned. 
4. Note: engine log shows preallocated type is not supported
~~~
2016-10-25 13:09:43,771 WARN  [org.ovirt.engine.core.bll.storage.disk.AddDiskCommand] (org.ovirt.thread.pool-6-thread-8) [3e57a7bd] Validation of action 'AddDisk' failed for user admin@internal-authz. Reasons: VAR__ACTION__ADD,VAR__TYPE__DISK,ACTION_TYPE_FAILED_DISK_CONFIGURATION_NOT_SUPPORTED,$volumeFormat COW,$volumeType Preallocated
2016-10-25 13:09:43,771 INFO  [org.ovirt.engine.core.bll.storage.disk.AddDiskCommand] (org.ovirt.thread.pool-6-thread-8) [3e57a7bd] Lock freed to object 'EngineLock:{exclusiveLocks='[754ee98f-ef79-4117-a69f-8d27f186a822=<VM_DISK_BOOT, ACTION_TYPE_FAILED_OBJECT_LOCKED>]', sharedLocks='null'}'
2016-10-25 13:09:43,771 ERROR [org.ovirt.engine.core.bll.exportimport.ImportVmFromExternalProviderCommand] (org.ovirt.thread.pool-6-thread-8) [3e57a7bd] Command 'org.ovirt.engine.core.bll.exportimport.ImportVmFromExternalProviderCommand' failed: EngineException: Failed to create disk! (Failed with error ENGINE and code 5001)
~~~

Actual results:


Expected results:


Additional info:

Comment 1 Michal Skrivanek 2016-10-26 06:11:04 UTC
Please add version information, vdsm.log from the conversion host, and libvirt domain xml from the source host

Comment 6 Michal Skrivanek 2016-11-04 06:21:38 UTC
From the engine.log I can say that the ssh authentication was not set up correctly to allow passwordless login. 
Btw why not using remote libvirt access using qemu+tcp insted of qemu+ssh?

Comment 9 Tomáš Golembiovský 2016-11-16 15:39:34 UTC
Yes, it is problem with authentication. When connecting via SSH you should always provide username even when using password-less authetiation. More over, password-based login is not supported with SSH transport. The import dialog is rather confusing in this regard.

When using qemu+ssh transport you have to uncheck the 'requires authentication' checkbox *and* provide user name (most likely 'root') as part of the URI as: qemu+ssh://root@host:port/... If you don't provide the user in URI the connection will happen as user 'vdsm' which is rather unexpected and confusing.

I don't think this is documented anywhere and we should probably improve the import dialog. I've added another bug to track that: https://bugzilla.redhat.com/show_bug.cgi?id=1395753

However because of the related bug: https://bugzilla.redhat.com/show_bug.cgi?id=1387838
as a workaround until the bug is fixed, you have to:
1) put correct user name in the URI (most likely 'root')
2) check 'requires authetication' box
3) put something into username and password text fields; anything like "abcd" or "12345" is ok, the values will be ignored

Let me know if this solves your issue.

Comment 10 Tomas Jelinek 2016-11-18 11:53:13 UTC
*** Bug 1387838 has been marked as a duplicate of this bug. ***

Comment 11 Tomas Jelinek 2016-11-18 11:55:24 UTC
The scope of this fix will only be to not fail in case the username/password is not filled.

The overall redesign of the dialog is going to be tracked in https://bugzilla.redhat.com/show_bug.cgi?id=1395753

Comment 12 Michal Skrivanek 2016-12-01 12:16:03 UTC
what's POSTed? can you please add links

Comment 15 Nisim Simsolo 2017-01-25 15:25:26 UTC
Verification build:
ovirt-engine-4.1.0.2-0.1.el7
libvirt-client-2.0.0-10.el7_3.4.x86_64
qemu-kvm-rhev-2.6.0-28.el7_3.3.x86_64
vdsm-4.19.1-1.el7ev.x86_64
sanlock-3.4.0-1.el7.x86_64

Verification scenario:
1. Verify "loading" KVM VMs using qemu+ssh is possible when:
- "requires authentication" is no checked.
- "requires authentication" is checked and incorrect user and password are entered.
- click "load" button when "requires authentication" is checked and user password fields are empty. verify the user and password text boxes are marked with a red frame.
2. 1. Verify "loading" KVM VMs using qemu+tcp is possible when:
- "requires authentication" is no checked.
- "requires authentication" is checked and incorrect user and password are entered.
- click "load" button when "requires authentication" is checked and user password fields are empty. verify the user and password text boxes are marked with a red frame.

Comment 17 Red Hat Bugzilla 2023-09-12 01:10:53 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days