[Ovirt-devel] Save/Resume Issues

Ian Main imain at redhat.com
Thu Dec 11 17:51:42 UTC 2008


On Thu, 11 Dec 2008 08:21:24 -0800
Ian Main <imain at redhat.com> wrote:

> 
> 
> Howdy Folks :)
> 
> So in my working with taskomatic, I noticed that the save/resume functionality seems a bit broken.  The first thing I noticed was that libvirt itself has no concept of a separate state for 'saved', which ovirt attempts to maintain.  This could work fine but when a node is disconnected and then reconnected, the state will shift to 'unavailable' and then to 'stopped' when it reconnects.  There may be other corner cases where this does not work as well.
> 
> The other issue is that it saves the image to /tmp on the local node.  This is usually (always?) a memory based FS and so it will be lost on reboot of the node.  It also does not allow for resume on a different host, and presently is not removed after resume so the FS will eventually fill up with a few save/resume cycles.
> 
> To fix all this I'm thinking we should save our images on a designated storage device, using a new field in the vm database to denote that it is saved, perhaps with the path to the saved image.  Once restored or started the image should be deleted.

I should also mention that presently, because we use db-omatic to write state back to the database, save/restore will be broken in the UI as well.  When you click 'save' it will save the VM and then the state will go to 'stopped' because db-omatic will see the change in libvirt but libvirt doesn't differentiate stopped from saved.

If we add the database field to point to the saved image this would let us know that it was stopped and could be restored from image or started again.

	Ian




More information about the ovirt-devel mailing list