Red Hat Bugzilla – Bug 1004704
[RHEVM] [backen] cannot start VM with iso/vfd attached because of wrong path
Last modified: 2015-04-06 23:10:55 EDT
Created attachment 794147 [details]
Description of problem:
cannot start VM with iso/vfd attached because of wrong path
it seems that engine is looking in
while it should probably go into
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):
Steps to Reproduce:
1. create VM
2. run once -> attach .iso or .vfd image
3. click OK
VM fails to start with Exit message: [Errno 2] No such file or directory: '/virtio-win-1.6.4_amd64.vfd'.
VM starts ok
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'.
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
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
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
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
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.