Bug 1004704

Summary: [RHEVM] [backen] cannot start VM with iso/vfd attached because of wrong path
Product: Red Hat Enterprise Virtualization Manager Reporter: Martin Pavlik <mpavlik>
Component: ovirt-engineAssignee: Arik <ahadas>
Status: CLOSED WORKSFORME QA Contact: Jiri Belka <jbelka>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 3.3.0CC: abaron, acathrow, gklein, iheim, lpeer, mavital, mpavlik, Rhev-m-bugs, yeylon
Target Milestone: ---Keywords: Regression, TestBlocker, Triaged
Target Release: 3.3.0   
Hardware: x86_64   
OS: Linux   
Whiteboard: virt
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-02 11:32:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 928381    
Attachments:
Description Flags
logs none

Description Martin Pavlik 2013-09-05 09:52:00 UTC
Created attachment 794147 [details]
logs

Description of problem:
cannot start VM with iso/vfd attached because of wrong path

it seems that engine is looking in 

'/virtio-win-1.6.4_amd64.vfd'

while it should probably go into

'./virtio-win-1.6.4_amd64.vfd'


Error message from GUI
VM w7_x64 is down. Exit message: [Errno 2] No such file or directory: '/virtio-win-1.6.4_amd64.vfd'.

File exists with correct permission on storage
[root@str-02 11111111-1111-1111-1111-111111111111]# ll virtio-win-1.6.4_amd64.vfd
-rw-r--r--. 1 vdsm kvm 2949120 Jun  4 22:10 virtio-win-1.6.4_amd64.vfd

Version-Release number of selected component (if applicable):
rhevm-3.3.0-0.19.master.el6ev.noarch.rpm

How reproducible:
100%

Steps to Reproduce:
1. create VM
2. run once -> attach .iso or .vfd image
3. click OK

Actual results:
VM fails to start with Exit message: [Errno 2] No such file or directory: '/virtio-win-1.6.4_amd64.vfd'.

Expected results:
VM starts ok

Additional info:

engine.log

2013-09-05 11:04:33,050 INFO  [org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector] (DefaultQuartzScheduler_Worker-87) Correlation ID: null, Call Stack: null, Custom Event ID: -1, Message: VM w7_x64 is down. Exit message: [Errno 2] No such file or directory: '/virtio-win-1.6.4_amd64.vfd'.


vdsm.log

read-55034::ERROR::2013-09-05 11:04:30,469::vm::2064::vm.Vm::(_startUnderlyingVm) vmId=`f62f8c72-ae28-4d61-a647-a359c8efa21f`::The vm start process failed
Traceback (most recent call last):
  File "/usr/share/vdsm/vm.py", line 2024, in _startUnderlyingVm
    self._run()
  File "/usr/share/vdsm/vm.py", line 2884, in _run
    domxml = hooks.before_vm_start(self._buildCmdLine(), self.conf)
  File "/usr/share/vdsm/vm.py", line 2689, in _buildCmdLine
    self._appendDevices(domxml)
  File "/usr/share/vdsm/vm.py", line 2656, in _appendDevices
    deviceXML = dev.getXML().toxml(encoding='utf-8')
  File "/usr/share/vdsm/vm.py", line 1536, in getXML
    self.path)['write']):
  File "/usr/lib64/python2.6/site-packages/vdsm/utils.py", line 704, in getUserPermissions
    fileStats = os.stat(path)
OSError: [Errno 2] No such file or directory: '/virtio-win-1.6.4_amd64.vfd'



This problem applies also for .iso images

Comment 1 Arik 2013-10-02 10:50:25 UTC
The '/virtio-win-1.6.4_amd64.vfd' string should be appended to the 'iso prefix' - the path to the iso domain. so it seems that for some reason the returned iso prefix is empty string.

I can't reproduce it on my environment though. it would be best if I can access your environment or alternatively you check the iso prefix on the host that you're trying to run the VM on (by running: vdsClient 0 getStoragePoolInfo `vdsClient 0 getConnectedStoragePoolsList`), if it is still reproducible on your environment.