Hi, So I just ran into a issue (again) where a NFS mount was hanging and a ISO could not be attached. Long story short, NFS goes through kernel space and causes timeouts, hanging kernels, processes in status D, etc, etc.
Qemu already supports attaching a CD-Rom via HTTP to a VM, I just tried: http://widodh.o.auroraobjects.eu/qemu_cdrom_iso.png Thought about this for 30 minutes and figured I write it down here and maybe work on this later. Idea would be to implement a HTTP storage pool in libvirt which could talk: - S3 - WebDAV It requires the HV to have direct access to the HTTP store, but we do not need a staging NFS in between. Since the HTTP talks happen in userspace (Qemu) we can properly timeout on hanging HTTP requests, get back a status-code if stuff doesn't work instead of just waiting for ever. cURL is just a great HTTP library which can do this for us. With a pre-signed URL you can attach a S3 URL directly to Qemu and via WebDAV you only need to give in the username+password (if required). On S3 you can also set the ACL of the ISO objects to Public, that would rule out the need for a pre-signed URL. I would love to get rid of NFS here! This e-mail doesn't mean I'm about to implement it though :) The first work would be libvirt. I still have some pending RBD work for libvirt, so maybe I'll take a look at this. Wido