Xen Orchestra 5.106
Welcome to the April edition of our monthly Xen Orchestra updates!
This month brings exciting progress across the board: from major backend work on our revamped backup engine, to the evolution of our SDN controller plugin, and plenty of improvements and fixes along the way. As always, everything we’re doing is about making XO more powerful, more reliable, and easier for you to use — whether you're managing a handful of hosts or running a massive infrastructure.
Let’s dive in and see what’s new!
👨🚀 Project & Community
As we keep innovating and growing, we’re excited to share the latest updates from Xen Orchestra and Vates. From new features in XO 6 and our partnership with EasyVirt, to expanding our services and upcoming events like the Vates Innovation Summit, your input plays a key role in shaping the next chapter of our journey.
XO 6: we need your input!
As our team works hard to deliver the MVP of Xen Orchestra 6 before the end of the year, we’re looking to our amazing community for help shaping what matters most in this next major release.
To do that, we’ve prepared a quick survey to gather your feedback on current features, pain points, and what you’d love to see in XO 6. Your input will directly influence the roadmap and priorities of the first release.
Vates & Easyvirt: strengthening the Cloud ecosystem
EasyVirt and Vates have joined forces to offer a credible French alternative to VMware—one that covers the key features of both vCenter and Aria Operations. This partnership is a concrete response to the growing needs of IT leaders who are re-evaluating their technological dependencies and seeking clear, sovereign, and sustainable virtualization solutions that align with both business objectives and regulatory requirements.


The Open Source we use at Vates: 2025 edition
From 3 co-founders to a team of nearly 100, our commitment to open source has never wavered. We've built our business on open source tools—and contributed back by creating our own, like XCP-ng and Xen Orchestra, now powering datacenters worldwide.
Discover what we use today to run our entire company!

Alternatively, you can look at the recent video from Tom (Lawrence Systems) who made a recap about it:
Vates services offering is shaping up
We're expanding our portfolio to go beyond regular support, with a growing suite of professional services designed to support our users at every stage of their journey with Vates VMS.
Whether you're looking for long-term strategic guidance with a dedicated Technical Account Manager, need expert help for a VMware migration project, or want to bring in one of our consultants for a specific mission, our goal is simple: help you get the most out of your infrastructure with peace of mind.

Vates Innovation Summit 2025
Last year, our Italian subsidiary hosted the very first Vates Innovation Summit in Venice. In 2025, we’re back with a new edition—this time set against the stunning backdrop of Capri. The event will feature a series of talks focused on innovation within public institutions, as well as discussions around European cybersecurity and digital sovereignty.

Beyond VMware: the shifting landscape of virtualization
Meet our Chief Marketing Officer, Marc-André Pezin, during the RPLL (Rencontres Profesionnelles du Logiciel Libre) 2025. Marc-André will deliver a conference about the future of virtualization:
The acquisition of VMware by Broadcom sent shockwaves through the virtualization industry, prompting many companies and institutions to rethink their strategy. Rising prices, licensing changes, and reduced partner programs have accelerated the search for alternatives. Vates, the French publisher behind Vates VMS (XCP-ng and Xen Orchestra), will share its perspective after more than two years of helping organizations migrate away from VMware.
Dell Open Manage Enterprise with XCP-ng
If you want to use Dell OME with XCP-ng, you need to modify it to boot correctly on XCP-ng. Luckily, Cecile wrote an article on how to do it and get a working OME running as a VM for your Dell servers!

We even have a dedicated community thread to share your feedback about it:

What it takes to build a virtualization platform
Today, everyone relies on virtualization, but very few truly understand the complexity beneath the surface. It's easy to think of hypervisors as simple, interchangeable commodities, but that view is a dangerous illusion.
In this post, I share my perspective on what it really takes to build a complete virtualization stack: from working at the hypervisor level with Xen, all the way up to delivering powerful management tools like Xen Orchestra.

Time to switch on XO release. What's up in April?
💾 Backup
This month, our backend team is hard at work on the new, revamped backup engine. The aim is to make it truly universal, capable of handling any format — whether it's qcow2, VHD, VMDK, XVA, and beyond.
It’s also the perfect opportunity to build it right from the ground up, with strong foundations like unit tests, full TypeScript support, and modern best practices.
For a deeper dive into the project and what’s coming next, check out our dedicated blog post:

🥝 Core UI
We managed to get many new components ready in those last 4 weeks, but even more than this, to prepare some VueJS helpers to make the use of Core UI even better.
Many new and updated translations
Since introducing Weblate just two months ago, we've seen a huge surge in contributions: more activity on XO 6 and XO Lite translations than everything before on XO 5 combined.
Thanks to our amazing community, we’ve updated Swedish, Czech, Spanish, Persian, Italian, and Russian — and we’ve also added Dutch support!
Add master icon in host header
When viewing a host dashboard, it’s now easy to spot whether the host is the pool master, thanks to a new icon added directly in the header.


This improvement also marks the first contribution from a new member of our frontend team — and we’re excited to see our latest recruits ramping up and bringing even more features and components to the Core UI!
New TaskItem
component
We've introduced a new component to standardize the display of tasks across the interface. This update gives task-based elements a cleaner and more consistent look.
This part is made with reuse in mind, so look for it to appear wherever tasks are shown, for improved visual consistency and allowing us to develop more efficiently in the future. It's a subtle change under the hood, but it opens the door for a more cohesive user experience.

New Alert
component
There is now an Alert
component to display messages and notifications in a standard and readable way. It offers different alert types (e.g. info, warning, or error) and makes it easier to convey status or feedback to users.
This component brings consistency to how notifications are displayed in the interface. It will replace ad hoc implementations, making notifications look better and more reliable throughout Xen Orchestra.




🔭 XO Lite
XO Lite is becoming now functional enough to bootstrap your infrastructure, and we continue to deliver new visualizations and features!
New host dashboard
XO Lite contains a newly refreshed host dashboard, with a responsive and light design, that makes you instantly access important performance metrics like memory, CPU, load, and running virtual machines. All you will need for a quick status check.


Additional VM creation capabilities
VM creation in XO Lite is now more complete, with the ability to edit the Affinity host, Tags, and Typology fields.
You can specify an affinity host at creation to determine VM placement, assign tags for better organization, and specify CPU typology (cores, sockets, threads) beforehand—all from within the XO Lite interface.
These improvements make XO Lite a better tool for day-to-day operations, especially when you must deploy VMs quickly with the correct settings from the start.





🛰️ XO 6
Our goal for XO 6 is to make it complete enough to replace XO 5 by default before the end of the year. This month, more views are available!
New AlarmItem
component
XO 6 introduces the new AlarmItem
component, designed to display individual alarm details in a way thats both consistent and user-friendly. This means alarms are presented with clear, actionable information, for easier monitoring.








useCollection
composable (VueJS)
A new VueJS composable that greatly improves developer experience and maintainability of components that handle big collections of objects.
The composable will allow us to create and manipulate lists and sub-lists of objects (like VMs, VDIs, etc.), assign derived properties and flags to each item (like whether an item is selected or not), group the items by category, and many more things! All of that without losing VueJS's reactivity and performance. The composable also exposes builtin helpers to easily know how many items have a certain flag on, to toggle flags on and off, to extract a sub-set of the list, etc.
All in all, this is a very generic composable that makes handling collections very easy and will help us create or improve other components like tables, selectors, trees, etc. And since this is a composable built from scratch for XO Lite and XO 6, we'll be able to easily add other features as needed!
🪐 XOA
Our turnkey virtual appliance is improved on a regular basis. This time, it's about compliance with better management of audit logs.
Import audit logs from another appliance
If you're moving to a new Xen Orchestra Appliance (XOA) and wish to take your audit logs with you, there is now an easy way of doing it.
The new audit.importRecords
feature allows you to import all audit records from a ndJSON file. This is really convenient if you have compliance requirements to keep logs around for a period of time, or if you want to keep historical data for a migration.
When you use this feature, it automatically ensures that there are no existing records in the target appliance. This maintains log integrity and prevents duplication issues.
This feature was developed in response to user feedback requesting a way to migrate audit logs between appliances. Now you can transfer your logs and transition effortlessly to a new instance without losing historical information.

📡 REST API
We’re making big strides with our REST API, as we're simplifying it and adding rich new features for both developers and devops.
With more endpoints now on Swagger and greater automation capabilities, the API is faster, more robust, and ready for even the most custom integrations.
Additional endpoints moved to Swagger
We've continued to clean up and modernize our REST API by moving even more endpoints over to Swagger. This batch includes:
- Alarms
- Groups
- Networks
- Messages
- Pools
- Users
All of these now have their get
and getId
routes completely defined in Swagger, following the same logic and pattern we added during the initial migrations. The goal is the same: to make the API more consistent, discoverable, and easy to work with—regardless of whether you're coding custom integrations, creating automation tools, or just browsing around with OpenAPI-compliant clients.
As with the previous migration, type definitions were brought closer to true XAPI responses to help avoid mismatches and surprises consuming the API. This ongoing effort is all about giving you a more predictable, stable experience when dealing with Xen Orchestra's REST endpoints.
Swagger improvements
We’ve made a few quality-of-life improvements to the Swagger interface to make it smoother and more pleasant to use.
Snippets have been added across the board, so endpoints are easier to understand at a glance. We’ve also improved tags, sorting and naming to better reflect the actual API structure, making it more intuitive when browsing or integrating with tools like Postman or the Swagger UI.
Here's an example:

Run schedules via the API
You can now launch schedules right through the REST API. This feature lets you run a schedule whenever you want, which is perfect for testing, debugging, or to perform an on-demand run, even for tasks that don’t have a dedicated endpoint yet.
For example, if you need to reboot a host but there’s no call available on the API, you can simply create a reboot job in Xen Orchestra, attach it to a schedule, and trigger it via the API.
A new endpoint has been added for that purpose:
POST /rest/v0/schedules/<id>/actions/run
It will fetch the schedule and the job associated, then run it as if it were launched automatically. On top of that, two new endpoints allow you to list all schedules or retrieve a specific one:
• GET /rest/v0/schedules
• GET /rest/v0/schedules/<id>
With this, you can automate backups, reboots, or any other custom job wrapped in a schedule, giving you full control from your scripts or orchestration tools.
☸️ DevOps Tools
Our DevOps tools keep evolving to make your infrastructure easier to deploy and manage. This month, we’re bringing important updates that simplify Kubernetes deployments and make production environments even more accessible from Xen Orchestra.
Project Pyrgos: now using MicroK8s
The Pyrgos project, our Kubernetes cluster recipe available in the XOA Hub, has been greatly enhanced. It now uses MicroK8s, a light, open-source, scalable and production-ready Kubernetes distribution. This update makes deployments more stable, easier to maintain, and quicker to set up.
With just a few clicks, you have an environment ready for production, with built-in support for high availability if needed. Networking, core services and node configuration are all handled automatically.
This update makes Kubernetes deployments in Xen Orchestra easier and more reliable. To know more about MicroK8s, visit the official website:
Powershell module
Our team worked hard on the newly PowerShell module we announced last month. We added new cmdlets to manage pools, networks, VBDs and improved the output formatting. It seems this PowerShell module was very expected, as we have already received valuable comments, reports and issues and feature requests from users! It is very nice to see a new tool warmly welcomed by community!
🌐 New XO SDN controller incoming
Even though it’s not released yet, we wanted to give you an early look at the evolution of our XO SDN controller.
Initially, the core logic lived directly inside Xen Orchestra, which acted as the controller for Open vSwitch (OVS). This approach enabled some very cool capabilities, like creating private networks between pools and more. If you want to dive deeper, you can check out the original documentation and past posts like:
However, this first version came with a few limitations:
- Traffic rules could only be applied to VIFs (virtual network interfaces) that were attached to the management network — not to most VM networks, which are often separated in production.
- You couldn't apply traffic rules at the network level, only at the VIF level.
- If XO became unavailable and you rebooted a host, you would lose the flow rules.
- Only one virtual switch could be configured globally.
- And finally, you needed to open a specific port on each host for XO to communicate directly with OVS — something that wasn’t ideal for security or scalability.
Given these challenges, we decided it was time for a fresh approach — one that's more aligned with the broader XCP-ng + XO architecture.
Instead of having XO talk directly to OVS, we’re moving the logic into XCP-ng itself, with XO orchestrating it via native XAPI calls. This new design involves creating a XAPI plugin that exposes the necessary OVS commands, allowing XO to interact cleanly without opening any extra ports — simply using the existing XAPI connection already in place.
Together, the XAPI team and XO backend team have kicked off the work to rewrite the XO SDN controller with this improved model.
The result?
A simpler, more reliable architecture that eliminates previous limitations and enhances cross-pool private networking capabilities — paving the way for even more features in the future!
🐦 VMware to Vates (V2V)
Moving from VMware to the Vates environment should be as seamless as possible. That’s why we’re adding more enhancements to the V2V process, one release after another.
Resume interrupted imports
You can now resume V2V imports if they get interrupted—no need to start from scratch again. It could be a network hiccup, a reboot, or something else entirely, but Xen Orchestra will continue where it left off.
This makes large or long imports more reliable, especially in environments where interruptions are common. Previously-imported data is recognized and won’t be duplicated, saving both time and frustration.
Also, intermediate VMs created during the process aren’t automatically cleaned up—you’ll need to remove them manually once the import is successfully completed and validated.
🆕 Misc
As always, we’ve added a few extra touches to make your experience even better, this time covering how Xen Orchestra interacts with Office 365.
Support for the Office 365 connector webhook format
The web-hooks plugin in Xen Orchestra now supports the Office 365 connector format, making it easier to send notifications directly to Microsoft Teams channels. This feature ensures webhook payloads are formatted correctly for Teams, so that messages and alerts appear as intended.
This improvement is particularly useful for users who use Teams for collaboration since it simplifies the integration procedure. By adhering to the Office 365 connector template, Xen Orchestra enables straightforward communication between your virtual infrastructure and Teams.


Office 365 selection in the web-hooks plugin + Sample of an automatic notification in Microsoft Teams