65693ea188
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.
38 lines
982 B
OCaml
38 lines
982 B
OCaml
(* (c) 2017 Hannes Mehnert, all rights reserved *)
|
|
|
|
open Rresult
|
|
|
|
open Vmm_core
|
|
|
|
type supported = FreeBSD | Linux
|
|
|
|
val uname : supported Lazy.t
|
|
|
|
val set_dbdir : Fpath.t -> unit
|
|
|
|
val check_commands : unit -> (unit, [> R.msg ]) result
|
|
|
|
val prepare : Name.t -> Unikernel.config ->
|
|
((string * string) list, [> R.msg ]) result
|
|
|
|
val exec : Name.t -> Unikernel.config -> (string * string) list ->
|
|
(string * Name.t) list -> (Unikernel.t, [> R.msg ]) result
|
|
|
|
val free_system_resources : Name.t -> string list -> (unit, [> R.msg ]) result
|
|
|
|
val destroy : Unikernel.t -> unit
|
|
|
|
val close_no_err : Unix.file_descr -> unit
|
|
|
|
val create_block : Name.t -> int -> (unit, [> R.msg ]) result
|
|
|
|
val destroy_block : Name.t -> (unit, [> R.msg ]) result
|
|
|
|
val find_block_devices : unit -> ((Name.t * int) list, [> R.msg ]) result
|
|
|
|
val dump : Cstruct.t -> (unit, [> R.msg ]) result
|
|
|
|
val restore : unit -> (Cstruct.t, [> R.msg | `NoFile ]) result
|
|
|
|
val vm_device : Unikernel.t -> (string, [> R.msg ]) result
|