- Notifications
You must be signed in to change notification settings - Fork23
VMM userspace for illumos bhyve
License
oxidecomputer/propolis
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Propolis VMM userspace for use with illumos bhyve.
Given the current tight coupling of thebhyve-api
component to the ioctlinterface presented by the bhyve kernel component, running on recent illumosbits is required.
Propolis works best (and its CI tests run) on AMD hosts, but it can also be usedto run VMs on Intel hosts. Live migration is primarily supported on AMD hostsbut may work on Intel hosts as well.
Programs:
- propolis-server: Run a Propolis VM instance, operatedvia REST API calls (typically byomicron)
- propolis-cli: CLI wrapper interface for
propolis-server
API calls - propolis-standalone: Simple standalone program torun a Propolis VM instance, operated via a local config file
Libraries:
- propolis-client: Rust crate for
propolis-server
API - propolis: Represents the bulk of the emulation logic requiredto implement a userspace VMM. Both
propolis-server
andpropolis-standalone
are built around this.
These are not meant as committed public interfaces, but rather internalimplementation details, consumed by Propolis components.
- bhyve-api: API (ioctls & structs) for the illumos bhyve kernel VMM
- dladm: Some thin wrappers around
dladm
queries - propolis-server-config: Type definitions for
propolis-server
config file - propolis-types: Publically exposed (via
propolis-server
) types, intergralto thepropolis
library - viona-api: API (ioctls & structs) for the illumos viona driver
Propolis uses thecargo xtask
pattern in order to conveniently expose certaintasks to developers.
clippy
: Run suite of clippy checks. This performs more than a simplecargo clippy
, since there are several combinations of feature flags whichmust be checked.fmt
: Check style according torustfmt
license
: Check (crudely) that files bear appropriate license headersphd
: Run the PHD test suitestyle
: Perform miscellaneous style checksprepush
: Preform pre-push checks (clippy
,fmt
,license
,style
) in amanner which resembles (but does not exactly match) how they are run in CI.Running tests (unit, integration, or phd) are not included and are left tothe user.
It is recommended that developers run theprepush
test before pushing abranch which will be subsequently checked by CI. Doing so currently requiresan x86_64 UNIX/Linux machine.
Unless otherwise noted, all components are licensed under theMozilla PublicLicense Version 2.0.
About
VMM userspace for illumos bhyve
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Uh oh!
There was an error while loading.Please reload this page.