robur-coop / mollymawk

A web interface for albatross
BSD 2-Clause "Simplified" License
17 stars 3 forks source link

Restoring unikernels #36

Open PizieDust opened 2 months ago

PizieDust commented 2 months ago

Currently a unikernel could either be running or destroyed. We should have functionality that let's us save the state of a running unikernel, gracefully shut it down, and this state can be at some point restored in a new unikernel, presenting no noticeable differences between the new unikernel and the previous unikernel. It may be sufficient to understand what's most important to preserve about a unikernel before it is destroyed, persisting this information and later using it.

hannesm commented 1 month ago

This requires to store unikernel information into the mollymawk database. This is for sure useful in the future.

PizieDust commented 1 month ago

Yes, the idea I have in mind is when a user destroys, we should store arguments of the unikernel in a record under the users data. I assume the binary of the unikernel should still exist on the albatross server and perhaps the block file should also still exist somewhere on the albatross server machine. When a user performs a restoration, we should just launch the previous binary and previous block data with the stored arguments. Or, we can ask the user if they will like a new instance of the block device.

hannesm commented 1 month ago

The unikernel binary does not exist anymore on the server when the unikernel is not running.

Block devices persist - I suspect #32 will solve what we want :)