Xen hypervisor tools processing initiative in Rust

Developers behind the XCP-NG platform, developed under the Xen project, have announced plans to create a Rust replacement for several components of the Xen program stack. The plan was published on their blog.

Currently, the platform uses components in several languages, including C, Python, Ocaml, and Go. However, some of these components are outdated and create problems.

The Rust language was chosen for its ability to combine high performance with safe memory work, usefulness for developing low-level and high-level components, and additional opportunities for reducing potential errors. Rust is also more commonly used than OCaml, which is currently used in the XAPI, making it easier to involve new developers in the project.

At first, the plan is to replace several small components, including the Linux Guest Tools and the background process for collecting metrics written in Ocaml. Xenopsd-NG is a possible project for next year, which will optimize the architecture of a software stack on Rust.

The new version of the xen-guest-agent is planned to be created entirely from scratch, to make it as simple as possible and separate the logic of the agent from libraries. The need to process Linux Guest Tools is caused by the quality of the code and it being developed outside the Xen Project project under the control of Cloud Software Group, which complicates the formation of packages and the influence of the community on the development.

The proposed architecture of the Xen Stack based on Xenopsd-NG aims to concentrate the work with a low-level API in one component, while providing the rest of the stack with all the high-level API.

It is important to note that the Xen hypervisor will not be processed yet, as the work is mainly focused on altering individual tools. The use of Rust will not lead to an overall increase in the number of languages involved, as only one component is planned to be replaced.

The developers are working to improve the platform and bring in the latest technologies for a better experience for all users.

The current architecture of the Steki Xen:

The proposed architecture of the Xen Stack based on Xenopsd-NG:

/Reports, release notes, official announcements.