albatross/src
Hannes Mehnert 9696953cd7 revise force-restart: now with wait for kill and resource cleanup before start
allows to cleanup various hacks, such as checking for pid in vmm_resources
or removing temporarily the allocated resources from the resource map in vmm_engine

semantics is now slightly different, but for sure enhanced.
- each VM has a Lwt.wait () task attached in Vmm_engine.t (tasks : 'c String.Map.t)
- normal create shouldn't be much different, apart from memoizing the sleeper
- after waitpid is done in vmmd, and vmm_engine.shutdown succeeded, Lwt.wakeup is called for the sleeper
- force create now:
 - checks static policies
 - looks for existing VM (and task), if present: kill and wait for task in vmmd
 - continue with presence checking of vm name, dynamic policies, allocate resources (tap, img, fifo)

this means the whole randomness in filenames can be removed, and the
communication between vmm_console and vmm_client is working again (attach/detach
could not work since vmm_console knew only about "albatross.AAA.BBB.RANDOM",
whereas vmm_client insisted on "AAA.BBB"

resource overcommitment (and races in e.g. block device closing + opening) are
gone now, only if the old vm is cleanup up, resources for the new one are
allocated and it is executed
2018-04-05 01:02:45 +02:00
..
vmm_asn.ml style: require lwt 3.0.0, fix warnings, disable 4 (fragile pattern matching) and 48 (implicit elimination of optional argument) 2018-04-03 22:58:31 +02:00
vmm_asn.mli initial 2017-07-10 10:38:25 +01:00
vmm_commands.ml revise force-restart: now with wait for kill and resource cleanup before start 2018-04-05 01:02:45 +02:00
vmm_commands.mli revise force-restart: now with wait for kill and resource cleanup before start 2018-04-05 01:02:45 +02:00
vmm_compress.ml compression, fixes #6 2018-03-22 17:00:08 +01:00
vmm_core.ml revise force-restart: now with wait for kill and resource cleanup before start 2018-04-05 01:02:45 +02:00
vmm_engine.ml revise force-restart: now with wait for kill and resource cleanup before start 2018-04-05 01:02:45 +02:00
vmm_lwt.ml vmm_lwt/vmm_tls: less debug output of read/write stuff 2018-03-22 17:00:08 +01:00
vmm_resources.ml revise force-restart: now with wait for kill and resource cleanup before start 2018-04-05 01:02:45 +02:00
vmm_resources.mli initial 2017-07-10 10:38:25 +01:00
vmm_ring.ml initial 2017-07-10 10:38:25 +01:00
vmm_tls.ml vmm_lwt/vmm_tls: less debug output of read/write stuff 2018-03-22 17:00:08 +01:00
vmm_wire.ml Vmm_core.cmd is now a variant (no longer polymorphic variant), some renames in Vmm_wire.Stats and Vmm_wire.Console to disambiguate 2018-04-04 22:16:31 +02:00