Hannes Mehnert
13edb22db3
bump wire version
2019-10-12 02:06:45 +02:00
Hannes Mehnert
c9820f3106
deterministic mac addresses!
2019-10-12 02:06:45 +02:00
Hannes Mehnert
0808c20583
restart on failure: add optional integer set which exit codes to restart on
2019-10-12 02:06:45 +02:00
Hannes Mehnert
6be9ebbc8b
revise tag and compression in unikernel config
2019-10-12 02:06:45 +02:00
Hannes Mehnert
520eab879e
minor api cleanup
2019-10-12 02:06:45 +02:00
Hannes Mehnert
58c3490782
restart on failure
2019-10-12 02:06:45 +02:00
Hannes Mehnert
f81a12bc4d
initial metrics
2019-10-12 02:06:38 +02:00
Hannes Mehnert
94912c21e4
changes for solo5 0.6
...
-- this is a breaking change in the wire protocol
2019-10-12 02:06:27 +02:00
Hannes Mehnert
4787b0cf1f
remove unnecessary freebsd-specific teardown code (bhyvectl --destroy), since 0.6 reverted privdrop
2019-10-12 02:04:44 +02:00
Hannes Mehnert
4ce52daea8
gather more statistics from kinfo_user (sys/user.h) on FreeBSD
...
- real time runtime information (in microsecs) ki_runtime
- start timeval ki_start
- count of copy-on-write fauls ki_cow
2019-10-12 02:04:44 +02:00
Mindy
bf59b7b930
update to ipaddr 4.0.0 & decompress 0.9.0
2019-07-16 15:11:41 -05:00
Hannes Mehnert
45f37389aa
move to dune, rename executables
2019-03-28 00:11:43 +01:00
Hannes Mehnert
4b4d1208db
vmmd_stats: remove ifname, use bridge (overwrite bridge in gather)
2019-01-27 22:31:04 +01:00
Hannes Mehnert
55d7fd38ac
vmm_ring: unused variable
2019-01-27 22:22:57 +01:00
Hannes Mehnert
a9c32d7801
vmmd: actually, first check resources, then exec VM, then insert VM
...
in case the insertion fails, raise Invalid_argument
this leads to more sane failure behaviour, and also cleans up resources in case
vmm_resources.insert_vm fails (or cpuset/open of the fifo, create_process)
2019-01-27 17:20:24 +01:00
Hannes Mehnert
16f06216ba
vmmd: fine grained output handling, gracefully handle Failure from console
2019-01-27 16:07:53 +01:00
Hannes Mehnert
84e7dee81b
vmmd_console: further refactoring
2019-01-27 13:10:09 +01:00
Hannes Mehnert
eb146351e0
vmm_ring: fix create (array size was hardcoded to 1024, independent of optional size argument)
2019-01-27 13:02:10 +01:00
Hannes Mehnert
943ea45e25
vmm_vmmd, vmm_unix: compute device name (/dev/vmm/solo5-PID) in vmm_unix (depending on host OS); also destroy this device on shutdown (used to be done by solo5-hvt, but that now drops privileges and is no longer able to do this)
2019-01-20 23:02:01 +01:00
Hannes Mehnert
c372c8405e
vmmd: dump state (unikernel configurations) on create+destroy, restore from state on startup
2019-01-20 22:17:59 +01:00
Hannes Mehnert
1a288d2937
vmm_vmmd: pass success reply to handle_create fully applied
2019-01-20 22:09:33 +01:00
Hannes Mehnert
4d3bb777e1
vmm_vmmd: introduce and use type 'a create
2019-01-20 22:09:33 +01:00
Hannes Mehnert
e58ab236b7
vmmd: lock self_destruct with a mutex, respect result of killall (nothing killed, nothing to do)
2019-01-20 22:09:33 +01:00
Hannes Mehnert
d4e31da27f
vmmd: setup and teardown stat by create continuation, and vmm_vmmd.handle_shutdown
2019-01-20 22:09:33 +01:00
Hannes Mehnert
fdcea94a0b
vmmd: store waiter, not tasks in Vmm_vmmd.t -- create task and waiter on demand (destroy / create --force), instead of at each unikernel creation
2019-01-20 22:09:33 +01:00
Hannes Mehnert
fc63a89429
Vmm_unix: use Sys.sigterm (and rely on caml_convert_signal_number to be cross-platform)
2019-01-20 20:37:30 +01:00
Hannes Mehnert
dfd22be62b
Vmm_unix: don't reset image of a config
2019-01-20 20:35:55 +01:00
Hannes Mehnert
accb21b8b7
Vmm_unix.exec: rename vm to config
2019-01-20 20:35:26 +01:00
Hannes Mehnert
d30e118c76
Vmm_core.Name: use 'vm:' instead of 'name' as literal string to print
2019-01-20 20:31:40 +01:00
Hannes Mehnert
15e1f5ecf6
vmm_unix: ensure lazy uname being called only once
2019-01-20 20:28:51 +01:00
Hannes Mehnert
7b8f8fafbd
close fd early, no need to carry file descriptors around
2019-01-20 17:43:44 +01:00
Hannes Mehnert
094922f6b0
vmmd: teardown gracefully (kill all vms), install SIGTERM handler to teardown
2019-01-18 01:14:11 +01:00
Hannes Mehnert
58bd77bc5f
stats: pass bridge device through, vmm device name as well to allow arbitrary bhyve statistics, vmmc_local: add stats_add and stats_remove subcommands
2019-01-15 00:25:59 +01:00
Hannes Mehnert
fd4a5a5e22
inspect kinfo_proc structure for information about:
...
- virtual size
- resident size (in pages)
- text size (in pages)
- data size (in pages)
- stack size (in pages)
develop independent vmmc_stat for testing (not installed)
2019-01-06 01:12:56 +01:00
Hannes Mehnert
030f5aa379
vmm_unix, create_block: first create file, and then truncate
2018-12-07 00:07:16 +01:00
Hannes Mehnert
bda342f136
re-support parsing of AV2 log entries, document path forward strategy
2018-12-06 22:55:13 +01:00
Hannes Mehnert
e28ea84548
Log: new event `Hup
2018-12-06 22:53:15 +01:00
Hannes Mehnert
b5a068555c
vmmd_tlS_inetd
2018-11-23 21:07:36 +01:00
Hannes Mehnert
c8f1030403
rename Vm to Unikernel
2018-11-13 01:02:05 +01:00
Hannes Mehnert
85372b0c7e
rework resources: now block, vms, and policies are in separate tries
2018-11-13 00:06:43 +01:00
Hannes Mehnert
b5c9cdea6a
cleanups
2018-11-12 22:19:39 +01:00
Hannes Mehnert
dec32e6247
bump wire version
2018-11-12 22:11:06 +01:00
Hannes Mehnert
8ccda0e410
refactor bridge: use a string instead of a complicated thing
2018-11-12 22:07:45 +01:00
Hannes Mehnert
2e7f2730a2
move Vm to submodule
2018-11-11 03:24:50 +01:00
Hannes Mehnert
561ba5c5df
put Policy in a submodule
2018-11-11 03:09:37 +01:00
Hannes Mehnert
89a1d30154
cleanups in respect to directories and scope
2018-11-11 02:33:00 +01:00
Hannes Mehnert
43379d6d9d
rename Vmm_core.id to Vmm_core.Name.t and make it private - also check constructors to fit into 20 chars ldh (and in Vmm_tls max depth = 10)
2018-11-11 01:44:31 +01:00
Hannes Mehnert
6dcde8eb68
block device support
2018-11-11 00:01:56 +01:00
Hannes Mehnert
6945d21422
Vmm_core.drop_super / is_sub_id: fix function (used to assume reverse ordered labels)
2018-11-09 01:27:22 +01:00
Hannes Mehnert
75372a792f
fix resource policies. it was checking too many vms:
...
vm foo.bar is active with 32mb
add_policy bar --mem 16 <- failed :/
what is checked on add_policy <id> <new-policy>?
- all policies above <id> that <new policy> is a sub-policy
- all policies below <id> that each is a sub-policy of <new-policy>
- resource usage of vms below <id> is within <new-policy> limits (number of vms, memory, network access, cpuids)
2018-11-03 00:05:10 +01:00