Commit graph

293 commits

Author SHA1 Message Date
Hannes Mehnert b1272a75ec create from state in series, not parallel to avoid communication mishappenings
the socket lock was removed in 58c34907 in favour of a global lock -- but the
bootup used an iter_p for create (which is usually called with the lock being
held by the caller)
2019-11-09 21:32:49 +01:00
Hannes Mehnert bcb3efcb23 canonical tag is vm (historical reasons), let's unify 2019-11-09 20:52:39 +01:00
Hannes Mehnert 057dbbf147 revise naming freedom: multiple labels are allowed in certificate common names
influx may drop topmost label (if --drop-label provided)
2019-11-09 20:36:32 +01:00
Hannes Mehnert ec9f00b39a vmm_ring revise implementation 2019-10-29 20:42:51 +01:00
Hannes Mehnert 8a113e5ce0 revise log and console subscription protocol, require either since or count 2019-10-29 20:17:50 +01:00
Hannes Mehnert 90d1fd9d7d console: use Lwt_unix.openfile (RDONLY; NONBLOCK) to open the fifo, followed
by Lwt_unix.wait_read (in read_console, called asynchronously in a fresh task)
and only then convert to a Lwt_io.t (of_fd ~mode:Input) -- thanks to @cfcs

This allows albatross to be run on Linux, where the former code lead to:
- open FIFO
- read <- EOF (although no writer was connected yet)

this works nicely around ocsigen/lwt#741
2019-10-27 23:23:54 +01:00
Hannes Mehnert 82782363b8 Vmm_unix.check_commands : unit -> (unit, [> `Msg of string ]) result - which
checks (platform-dependent) all required executables
Vmm_unix.prepare/exec execute solo5-{spt/hvt} depending on the image type
 (solo5-elftool figures that out), use jsonm to parse output
Vmm_unix: use ip on linux, no longer ifconfig
2019-10-27 21:31:37 +01:00
Hannes Mehnert 01f6983325 cosmetics 2019-10-27 19:47:37 +01:00
Hannes Mehnert 1d33c17b53 use a variant for uname result, not strings 2019-10-27 19:43:54 +01:00
Hannes Mehnert e1239366e1 travis: use docker, test on 4.08 and 4.09 as well 2019-10-15 20:25:44 +02:00
Hannes Mehnert 537c113a8a albatross_log: a read-only mode to read a log file 2019-10-15 00:50:16 +02:00
Hannes Mehnert 47fef438e0 preserve backwards data compatibility 2019-10-15 00:49:58 +02:00
Hannes Mehnert 5b187999f1 restart: range 60..64 no restart, document all the exits 2019-10-14 11:05:22 +02:00
Hannes Mehnert a579a8e143 root name is "." instead of "" 2019-10-13 13:40:17 +02:00
Hannes Mehnert 249796ce6f minor 2019-10-12 02:30:21 +02:00
Hannes Mehnert 866cd9041a move conn_metrics to Vmm_core 2019-10-12 02:15:44 +02:00
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 a46538cabc x509 API upgrade to 0.8.0 2019-10-12 02:06:16 +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 2db9e0c15e compression level is 9 for remote (bistro/request), and 0 for local now 2019-10-12 02:04:44 +02:00
Hannes Mehnert da8dcef6a0 there's no need for albatross_x anymore, albatross keeps state itself these days 2019-10-12 02:04:44 +02:00
Hannes Mehnert 37ad18107e something weird with decompress 1.0.0: getting Error: Library "decompress" not found. from dune @dinosaure 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
Hannes Mehnert 50ed6a8d1e adapt to X509 0.7.0 API, minor comment and doc tweaks 2019-07-27 14:01:12 +02:00
Hannes Mehnert 92c325a7f9 freebsd-packaging: make albatrossd group-executable 2019-07-27 12:46:20 +02:00
Hannes Mehnert 28959a66bf
Merge pull request #22 from yomimono/master
update to ipaddr 4.0.0 & decompress 0.9.0
2019-07-27 12:46:01 +02:00
Mindy bf59b7b930 update to ipaddr 4.0.0 & decompress 0.9.0 2019-07-16 15:11:41 -05:00
Hannes Mehnert 95a46638fa use cmdliner.1.0.0, especially term_result
move albatross_cli to a custom directory (command-line)
2019-04-08 16:41:20 +02:00
Hannes Mehnert 45f37389aa move to dune, rename executables 2019-03-28 00:11:43 +01:00
Hannes Mehnert dce477a01e vmmc_bistro: validity starts at now - 10 2019-03-02 21:29:51 +01:00
Hannes Mehnert 752536c38f vmm_stats_pure: info -> debug 2019-01-27 22:33:15 +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 be783a6803 README: updates, remove outdated instructions 2019-01-27 19:15:38 +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 131dec0cdd debug 2019-01-27 16:11:40 +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 e362722da5 vmmd: use mutex for write and read on client sockets, no need for a mvar 2019-01-27 14:13:29 +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 d9f76312ed vmmd_console: reuse ring if already present in map - this preserves console output between re-creations 2019-01-27 12:55:23 +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