While testing the support for Xen in Nova Diablo, I ran into an issue with Xenserver 5.6 SP2 : when using VHD images, the glance plugin try to create a temporary disk under the local SR, and use a default value of '/var/run/sr-mount'. However, with LVM based SR, this directory does not exist. Here is the log on nova-compute :
2012-01-11 11:22:55,114 WARNING nova.virt.xenapi [-] Task [Async.host.call_plugin] OpaqueRef:0c995ea8-ecd3-959c-5178-5e1784f1c571 status: failure ['XENAP
I_PLUGIN_EXCEPTION', 'download_vhd', 'OSError', "[Errno 2] No such file or directory: '/var/run/sr-mount/45274cf4-1e20-d1a5-9f4e-5ddf7cd082f1/tmpYMuI4B'"]
2012-01-11 11:22:55,115 ERROR nova.virt.xenapi.vmops [-] instance 29: Failed to spawn
(nova.virt.xenapi.vmops): TRACE: Traceback (most recent call last):
(nova.virt.xenapi.vmops): TRACE: File "/usr/lib/pymodules/python2.6/nova/virt/xenapi/vmops.py", line 148, in spawn
(nova.virt.xenapi.vmops): TRACE: vdis = self._create_disks(context, instance)
(nova.virt.xenapi.vmops): TRACE: File "/usr/lib/pymodules/python2.6/nova/virt/xenapi/vmops.py", line 142, in _create_disks
(nova.virt.xenapi.vmops): TRACE: disk_image_type)
(nova.virt.xenapi.vmops): TRACE: File "/usr/lib/pymodules/python2.6/nova/virt/xenapi/vm_utils.py", line 424, in fetch_image
(nova.virt.xenapi.vmops): TRACE: session, instance, image, image_type)
(nova.virt.xenapi.vmops): TRACE: File "/usr/lib/pymodules/python2.6/nova/virt/xenapi/vm_utils.py", line 457, in _fetch_image_glance_vhd
(nova.virt.xenapi.vmops): TRACE: result = session.wait_for_task(task, instance_id)
(nova.virt.xenapi.vmops): TRACE: File "/usr/lib/pymodules/python2.6/nova/virt/xenapi_conn.py", line 438, in wait_for_task
(nova.virt.xenapi.vmops): TRACE: return done.wait()
(nova.virt.xenapi.vmops): TRACE: File "/usr/lib/pymodules/python2.6/eventlet/event.py", line 116, in wait
(nova.virt.xenapi.vmops): TRACE: return hubs.get_hub().switch()
(nova.virt.xenapi.vmops): TRACE: File "/usr/lib/pymodules/python2.6/eventlet/hubs/hub.py", line 177, in switch
(nova.virt.xenapi.vmops): TRACE: return self.greenlet.switch()
(nova.virt.xenapi.vmops): TRACE: Failure: ['XENAPI_PLUGIN_EXCEPTION', 'download_vhd', 'OSError', "[Errno 2] No such file or directory: '/var/run/sr-mount/45
274cf4-1e20-d1a5-9f4e-5ddf7cd082f1/tmpYMuI4B'"]
Am I doing something wrong or is it an expected behavior ?
Thanks.
JC