Python module for Jailhouse
Summary: Factor out a Python module for the Jailhouse command & control interface
The partitioning hypervisor Jailhouse is controlled from a Linux guest system (the root cell) via a command line tool (jailhouse). This tool consists of a small core written in C, providing the minimally required services to operate the hypervisor. For more advanced features like configuration file generation or the loading of additional Linux guests, a set of extension scripts have been written in Python. The scripts are now at a point where they would benefit from using a "pyjailhouse" module that should implements common functionality only once, e.g. configuration format or system information parsing but also interaction with the low-level hypervisor control interface.
The goal of this project is to create such Python module, transfer
existing code from the scripts into it, and make sure that the module is
both properly installed and also usable from the source directory. As a
reuse case and benchmark for a reasonable split-up,
hardware check shall be enabled to parse the system configuration
itself, instead of relying on a config file previously generated by
jailhouse config create.
Bonus (with advanced Python experience): Further refactoring of the system configuration parser and config file generator to enable the reuse on non-x86 architectures or for generating and validating non-root cell configurations.
- Skill level: intermediate to advanced
- Language: Python (basic C knowledge helpful)
- Mentors: Jan Kiszka <firstname.lastname@example.org>, Valentine Sinitsyn <email@example.com>