IMHO the idea is nice, but not sure if it's worth the effort. So we'll have primary storage, secondary storage and HTTP ISO library, might be a little bit confusing to users and the gain doesn't seem that big. If your NFS store is not working properly, then you already have other problems as well and you need to fix it.
Now if we could have the whole secondary storage in HTTP/Webdav, that'd be early Xmas indeed. :-) Lucian -- Sent from the Delta quadrant using Borg technology! Nux! www.nux.ro ----- Original Message ----- > From: "Wido den Hollander" <w...@widodh.nl> > To: dev@cloudstack.apache.org > Sent: Saturday, 19 December, 2015 09:26:52 > Subject: [BRAINDUMP][KVM] ISO attachment via HTTP to Instance > 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