On 2016-01-25 19:25, Jan Kiszka wrote:
> Hi all,
>
> I chatted with Stefan last summer, and he agreed that QEMU would also
> act as an umbrella for the Jailhouse project if we want to run a GSoC
> project. So: proposals welcome, from the core team as well as from
> potentially listening candidates! If you do it directly in the wiki,
> please drop a note here.
>
I'm currently preparing this proposal and will push it to the project
wiki page soon - comments welcome at any time!
Jan
=== Enhanced Config Generator ===
'''Summary:''' Goal of this project is to improve the Jailhouse config
generator so that it can provide non-root cell configurations and
validate them against a system setup.
Jailhouse is a Linux-based static partitioning hypervisor. It runs both
on real hardware as well as inside QEMU/KVM, primarily for testing and
evaluation purposes. Jailhouse is configured via two types of
configuration files: system configurations that describe both the
hypervisor as well as the so-called root cell which is the Linux that
booted the system. Additional partitions, non-root cells, are described
via cell configurations. While we already have a generator tool for the
former, written in Python, creating non-root cells remains a manual,
error-prone task so far.
In this project, the config generator shall be extended to derive
non-root cell configs for a specific system. Inputs will be the
corresponding system configuration and cell parameters the user has to
provide such as target CPU set, memory size and a set of devices. The
command could look like this:
'''
jailhouse config cell SYSCONFIG CELLCONFIG { -c | --cpus } CPUSET
{ -m | --mem } MEMSIZE [-p | --pci PCIDEVICE]
'''
Moreover, we need better analysis for configuration sets. The user
should be able to perform basic consistency checks on a given set of
system and cell configurations such as
* Do all configuration records conform the format requirements
(alignment rules, only valid flags, consistent internal references like
from PCI devices to capabilities etc.)?
* Are resources assigned multiple times?
* Do all resources exist in the system (validate against what Linux
reports)?
* ...
The command for this could look like the following:
'''
jailhouse config validate [-r | --root ROOT] SYSCONFIG [CELLCONFIG] ...
'''
The results of this projects may eventually also help to improve the
manageability of Jailhouse via libvirt
([[
http://thread.gmane.org/gmane.comp.emulators.libvirt/122053]]).
'''Links:'''
* [[
https://github.com/siemens/jailhouse]]
'''Details:'''
* Skill level: intermediate
* Language: Python, C
* Mentor:
jan.k...@web.de
* Suggested by: Jan Kiszka--