Hi Xu and Eric,
Yes, by image formats I mean raw/qcow2/etc. Basically, I'm just looking to see which libraries Kata would need.
That's a healthy list of features. I don't have libraries for all of those yet, but let's see how far I can get and how fast.
The repos are on gitlab, but still private (so far I've been working alone). Now that others are potentially interested, I'll work on flipping the repos to public, since it's always nice to get more perspectives.
On 06/06/2018 11:37 AM, Ernst, Eric wrote:
Our goal in Kata is to be configurable with respect to hypervisors, so your project sounds quite interesting. In our experience, Kata ends up exercising many more features than are typical, and thus may be a good test vehicle.
Features include: -hotplug for CPU, memory, vfio-pci, virtio-blk/scsi -virtio: 9pFS, -net (with vhost backend), blk/scsi, serial, vsock -DAX, nvdimm (used for our rootfs today) -vhostuser (blk,net,scsi)
Is your work on github, or available in the open today?
On Wed, Jun 06, 2018 at 03:24:48PM +0000, Xu Wang wrote:
Hi Allison, The library hypervisor sounds very interesting, do you have any publication or code released? For kata, when you talk about image format, do you mean those like "qcow2" or "raw"? We currently mainly use raw format devices for qemu. And if we insert devices into VM, we may insert loop devices, other block devices, or ceph rbds, etc. Xu
On Wed, Jun 6, 2018 11:17 PM, Allison Randal email@example.com wrote: I wasn't at the session where this started (because I was speaking on a
panel at the same time about edge computing, containers/VMs, and hybrid
approaches), but several people pointed me at this list, because I'm
currently working on a lightweight hypervisor written in Rust (on top of
KVM), as PhD research at the University of Cambridge.
I'm interested in getting more details on what features of QEMU are used
by Kata Containers. Specifically, what image formats and devices do you
need? This information would be equally valuable to a stripped-down
QEMU, so it wouldn't be a distraction from that work, just a side
benefit of informing other approaches to lightweight hypervisors.
The fundamental concept of my work is building a "library hypervisor",
somewhat analogous to the way unikernels are a "library operating
system". So, instead of a monolithic body of code, it is a collection of
Rust libraries that provide devices, support for various image formats,
an interface to KVM, etc. A final compiled hypervisor imports a minimal
set of libraries to get the minimal set of features that it needs.
I had considered Kata Containers as a possible example target, though I
was prioritizing it behind libvirt, minikube, LinuxKit, and a few other
potential targets. I wouldn't mind bumping Kata Containers up to a
higher priority, if people here would be interested in a prototype to try.
Kata-hypervisor mailing list
-- Xu WangCTO & Cofounder, Hypergithub/twitter/wechat: @gnawuxhttp://hyper.sh Hyper_: Make VM run like container
Kata-hypervisor mailing list Katafirstname.lastname@example.org http://lists.katacontainers.io/cgi-bin/mailman/listinfo/kata-hypervisor