Hannes Mehnert
c7b468fe09
new command: get which downloads a unikernel and dumps it into a file
2020-07-05 21:27:44 +02:00
Hannes Mehnert
5adc2f0a8a
vmm_asn: instead of potentially losing information, be honest and fail if requested to encode older versions of unikernel configuration
2020-07-05 20:53:57 +02:00
Hannes Mehnert
125711ac6d
further rng cleanups (remove deps from dune); albatross-client-inspect-dump which reads a state file (for cautious upgrades)
2020-07-05 20:39:29 +02:00
Hannes Mehnert
604f3ec52e
Bos.OS.Cmd.run_out needs to check the exit status (using Bos.OS.Cmd.success)
2020-05-11 13:26:35 +02:00
Hannes Mehnert
7cad9bd08d
on linux, be a bit smarter which network device name to use
2020-04-25 19:59:19 +02:00
Hannes Mehnert
0c5af23848
vmmd: unikernel_info no longer transfers the unikernel image
...
regression introduced in dfd22be62b
(which prepared dumping to a file, and restart-on-failure)
this is not desired from a bandwidth point of view, if it is
considered to be a useful feature, there should be a separate
command for it
2020-04-25 17:12:41 +02:00
Hannes Mehnert
b7747a2547
linux tap device discovery: redirect stderr of run to /dev/null
2020-04-21 11:07:57 +02:00
Hannes Mehnert
03c9948526
avoid brctl on Linux, use ip instead
2020-04-09 17:02:17 +02:00
Hannes Mehnert
be83686a22
Vmm_unix: fix ip tuntap command (provide tap name earlier), also set link up
2020-04-03 17:44:21 +02:00
Hannes Mehnert
65693ea188
revise the "--net=yyy" argument to (optionally) contain a service:bridge
...
it used to only contain service, and used the same string for the bridge. This
is not flexible enough to run off-the-shelf unikernels (configured for bridge
"service" and "management" on multi-homed servers). The old behaviour is the
new default (i.e. "--net=service" creates and attaches a tap device to bridge
"service", and passes "--net:service=tapYY" to the solo5 tender). But it is more
flexible now: "--net=service:other-bridge" will create a tap device attached to
"other-bridge" and pass "--net:service=tapYY" to the tender. This way, there's
no need to match bridge names on the actual server with network device names of
the unikernels.
NB: this is (mostly) backwards-compatible: the on-disk data structures are
versioned (and the version is bumped with this PR), an old albatross client can
send "create" commands to a new server. But a new client will get a parse error
from an old server - which is fine taking into consideration the deployment
base.
2020-03-25 16:09:23 +01:00
Hannes Mehnert
eccdaeafda
set umask in mkfifo
2019-11-27 11:27:55 +01:00
Hannes Mehnert
34817a2090
notes about brctl, could potentially be replaced by ip
2019-11-27 11:27:55 +01:00
Hannes Mehnert
6206e8681a
make dbdir and tmpdir platform-specific and overwritable by all command line utilities
2019-11-27 11:27:55 +01:00
Hannes Mehnert
784429744c
versioning: revise it all, use a 'current' in Vmm_commands, all daemons reply with the received version on that particular stream
2019-11-11 23:20:03 +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
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
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
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