Posts for: #rust

Rust Guest Tools 0.3.0: Enhancing Virtualization Experience

XCP-ng has released version 0.3.0 of its Rust guest agent for Linux and BSD operating systems. This release includes several new features and bug fixes.

One major change is the addition of APT repositories, allowing for easy installation and updates of the guest agent on Debian-based systems. The Debian package is automatically built on Gitlab and can be accessed via a Debian repository.

The agent now has the ability to collect available and total guest memory inside FreeBSD guests. Additionally, the command line for the agent now includes two extra arguments, --stderr and --loglevel, for troubleshooting assistance. All guest agent logs are now sent to syslog by default on any Unix-like operating system.

Bug fixes include resolving an issue with plugging and unplugging a virtual NIC while the VM is online, thanks to community testing and feedback. Another bug fix removes a requirement on the libxenstore.so development symlink, now only requiring the runtime library package.

For more details, the complete changelog can be found here.

XCP-ng: Latest Rust Guest Tools Enhancements

XCP-ng has made significant progress in the development of their VM guest tools, which are being rewritten in Rust. These tools have moved from their alpha phase to the beta phase and are now considered robust, though not yet stable.

Here are the achievements that have been made:

  1. A complete README: XCP-ng has created a comprehensive README file that outlines the goals, design, and instructions for building and running the tools. The README can be found here.

  2. Drop-in compatibility: The new tools are designed to be fully compatible with the existing XCP-ng toolstack. This means that installing the new tools will not interfere with any external elements. Xen Orchestra, for example, will accurately display all relevant information such as IP addresses, distro version, and RAM usage.

  3. Alternative schema: The tools allow for flexibility in reporting data by offering different data formats. The default model, called ‘std’, is retro-compatible, while the adaptable model, called ‘rfc’, provides superior results. More details can be found in the usage documentation.

  4. Netlink as first class citizen: Netlink, a socket family that facilitates communication between the guest kernel and user space processes, plays a crucial role in the toolkit. It allows for efficient notification of network changes in the VM, resulting in quicker and more efficient updates. For guests without Netlink support, a fallback system has been implemented to ensure networking information can still be reported.

  5. Not restricted to Linux: The guest agent is compatible with other UNIX-family systems, such as BSDs. However, making it as efficient as on Linux guests poses a challenge, as Netlink support was previously limited to Linux. Efforts are being made to address this issue and make the guest agent work seamlessly on BSDs.

  6. Rust xenstore library: XCP-ng has contributed to the existing Rust xenstore project by enhancing API coverage. Financial support is also provided to the current maintainer to ensure the library’s upkeep.

  7. Modern builds, Security & dependency checking: Reproducible builds and security are key considerations in the redesign of the tools. CI infrastructure has been set up to maintain checks and balances, and Dependabot is being utilized to detect known vulnerabilities in dependencies. Work is ongoing to improve security measures.

  8. Code base improvements: The use of Rust in this project has allowed for code that embodies more “Rust-like” characteristics. The experience gained from this project has contributed to the growth of the code base.

Overall, XCP-ng’s progress in rewriting the VM guest tools in Rust is promising. The tools are becoming more robust, compatible, and efficient, offering improved functionality for users.

Redox OS Announces Server Version

Redox OS, the open-source Rust-written operating system, has announced its plans for the future, and among these are a server version, reports Phoronix.

The project is shifting focus to develop a server version, prioritizing it over the desktop edition due to its smaller scope. The team is working on optimizing drivers, especially network drivers, to improve performance. They aim to host the Redox website on Redox using virtual machines, with recent advancements making it feasible. This could potentially lead to Redox running on cloud platforms. Ongoing efforts in virtual machine support and device virtualization are expected to drive further progress.

Source: Phoronix.