Xen Orchestra 5.108

Release Jun 30, 2025

As we head into the quieter summer months in Europe, we’re closing June with a pretty big release. XO 5.108 brings a wave of updates and sets the tone for what’s clearly becoming the top priorities: Backup, REST API, the new UI, and DevOps tooling.

You’ll also notice fewer changes to the current XO 5 UI: that’s by design. Our team is now focusing more on what’s next: XO 6, which we’re aiming to make the default experience by the end of the year!

I’m also back on video this month — after missing the last two releases due to a whirlwind of work trips around the globe. So if you’d rather watch or listen to everything packed into this release, here you go:

🎧
Prefer listening? This release is also available in podcast format! We’re back on Spotify!

👨‍🚀 Project & Community

This section keeps growing — a good sign that not only is Vates expanding, but the entire ecosystem around it is gaining momentum too.

XCP-ng 8.3 reaches LTS status

Almost 9 months after its initial release, XCP-ng 8.3 is now officially an LTS version. That means long-term support, a refreshed ISO including all updates and security fixes to date, and a clear signal: the countdown has started for the eventual sunset of XCP-ng 8.2.

Please take time to read all the details, changes and consequences in our dedicated blog post:

XCP-ng 8.3 is now LTS
Today, XCP-ng 8.3 becomes LTS, including new ISOs and XOSTOR officially available with it.

CloudStack support for XCP-ng 8.3

It wasn’t planned to align, but by a nice coincidence, CloudStack is now fully compatible with XCP-ng 8.3 LTS.

For those unfamiliar, CloudStack is an open-source cloud management platform designed to orchestrate and manage large-scale virtualized infrastructure (from compute to networking and storage). This compatibility milestone makes it even easier to build and manage your own cloud with the latest XCP-ng release.

Apache CloudStack 4.19.3.0 and 4.20.1.0 Release | Apache CloudStack
The Apache CloudStack project is pleased to announce the release of CloudStack 4.19.3.0 and 4.20.1.0.

Vates Partners insights

If you're already a partner — or thinking about becoming one — don’t miss the latest edition of our partner update. It’s packed with fresh news, opportunities, and key info tailored just for you.

Vates Partners Insight #4 - 2025 updates for Vates Partners
As we approach the second half of 2025, we’d like to take a moment to reflect on what we’ve accomplished together so far, and to share what’s coming next.

Ford joins the Xen Project board

We’re proud to see the Xen Project gaining momentum and the latest proof is Ford joining the board, just a few months after Honda did the same. It’s no accident: Xen is becoming the reference hypervisor for automotive use cases, thanks to its minimalist and secure architecture.

What does it mean for the broader ecosystem? More contributors, faster progress, and a stronger, more robust code base, benefits that extend beyond the automotive world. While cars and servers may seem unrelated, Xen’s core mission is the same: providing strong and efficient VM isolation on shared hardware.

If it’s trusted to help run your car safely, it’s more than ready for your production environment.

Xen Summit 2025 San Jose

I’ll be in San Jose for Xen Summit 2025, where I’ll present the current state of XCP-ng — the Xen Project-based platform we’ve been building as part of the Linux Foundation ecosystem.

It’s also a great opportunity to catch up with the Xen community (and beyond, interest is clearly growing!). If you’re in the area, feel free to register and come say hi!

Xen Summit
Xen Summit is our annual event where the community connects with experts, discovers innovations, and shapes the future of virtualization.

You can also participate directly to a talk by submitting your paper, it's closing soon!

🛠️ Xen Summit 2025: Find Your Place in the Future of Virtualization
The annual Xen Summit is right around the corner, and there has never been a more exciting time to be part of the Xen Project. As enterprise and industrial needs shift and proprietary vendors rethink their licensing, the industry is ready for strong, open alternatives. Xen stands out not only

Who owns your virtualization stack?

In a world full of open-source wrappers and orchestration layers, it’s easy to forget the most important question: who really controls the foundation your infrastructure runs on? I share my thoughts on the topic (from a sovereignty and long-term risk perspective) in a new post on my personal blog.

Who owns your virtualization stack?
In a world full of open-source wrappers and orchestration layers, who actually owns the foundation your infrastructure runs on?

Pheeeww. And that was only the announcements: time to dig into what’s actually in the XO 5.108 release!


💾 Backup

Our team has been working hard this month to enhance the compatibility and interoperability of backups with external vendors and services!

Azure storage support preview

Xen Orchestra now supports Azure storage as a backup repository (BR) for your backups. Once the BR is configured with your storage credentials, it integrates with all backup types, including full or incremental.

Azure-specific settings are also now visible in the interface, so you can easily verify or troubleshoot your configuration without relying on config files or the API.

As for S3, it's using the block format to store your VM disks, meaning it works with NBD-enabled hosts.

Our Azure storage support is backed by brand-new code, with a custom implementation tailored to our architecture. While the functionality is broadly similar to S3, we built a dedicated logic under the hood, this wasn’t just a wrapper.

Because of that, it's currently only available on the latest channel and should be considered a technical preview, not yet production-ready. We're actively testing and refining it, and early feedback is welcome!

Support for Qcow2 backups

Our great work working on the next backup engine is now yielding results. If you want a reminder about it:

Next-gen XO backup engine: beyond VHD
Discover how we’re building a smarter, format-agnostic backup system to meet the demands of tomorrow’s infrastructure.

In short, it means that Xen Orchestra now supports all backup operations on Qcow2: regular backups, incremental AND replication. Restore is also working too.

And even beyond that, it's very agnostic and can handle any format transformation, like going from VHD to Qcow2 and vice-versa, which is a great ally in replication when you are mixing VM disks formats.

Regarding the requirements:

  • You must have a backup job configured with NBD and block based backup (since we won't store any VHD or Qcow2 directly)
  • You are testing Qcow2 and installed the extra packages on your host (don't forget this is still preview and not yet officially supported in production!)
  • The VM drive is larger than 2TiB (so obviously it can only be Qcow2)

In short, if you are already testing Qcow2 with 2TiB+ drives, you can now backup, replicate AND restore your VMs. Perfect to test the entire stack and report if you had any issues!

⚠️
Remember that Qcow2 support in XCP-ng is still in preview. We are doing good progress though. If you want to test and report, please go in the dedicated forum thread!

If you want to follow our work on Qcow2 on XCP-ng, don't miss our most recent article about it:

QCOW2 in XCP-ng: engineering a new storage path
We’re working on bringing QCOW2 support to XCP-ng as an alternative to VHD to support larger disk than 2TiB. This article dives into the technical changes involved, the challenges we faced, and what’s planned to make QCOW2 ready for production use.

Decoupling NBD from CBT

NBD is more and more essential to do faster and efficient backups. Until now, it was also coupled with the activation of CBT. The storage CBT feature is kind of complex and could have some specific interaction, causing some race conditions sometime. In order to simplify things, we decided to decouple both options. You can now rely on NBD for backups without using CBT.

Improved timeout handling for S3

We've improved how timeouts are managed when interacting with S3 and S3-compatible storage.

Previously, timeout errors were not retried, which could result in failed backups, particularly with providers like Backblaze, where temporary issues are more frequent.

We now properly retry when a timeout error happens, which helps prevent failures caused by brief network issues or slow responses from the remote.

Additionally, errors that trigger a retry are now properly logged. This way, the support team has more information about what happened and can solve timeout issues faster.

New backup code fixes

Xen Orchestra 5.108 improves how backup jobs handle situations where one or more target storage repositories (SRs) become invalid or unavailable, an issue that several users had reported as a cause of backup failures.

Previously, if one of the selected SRs couldn't be used, the entire job might fail or behave unpredictably. Now, Xen Orchestra detects and skips over invalid SRs when multiple targets are defined, allowing the backup to proceed with the remaining valid ones.

This makes backup jobs more robust and reduces the risk of interruptions in environments with multiple or rotating storage locations.

Better backup reports

Backup reports now behave more predictably and are no longer tied to the Report when setting. Previously, if this option was set to "failure" the report summary would only include failed VMs. Successful ones were left out, even though their logs existed. 

From now on, the content of the report is based solely on the actual backup logs, regardless of when the report is triggered. This gives a more complete and accurate view of what happened during the backup run. 

To keep things flexible, a new option has been added to backup task configuration. It lets you choose whether to include successful VMs in reports triggered by failures, which preserves the old behavior if needed. This sits alongside the existing Shorter backup reports setting, so you can tailor the level of detail to your needs.

New Shorter backup reports option

🥝 Core UI

The Core UI is getting even better and more efficient. From a new icon library to fresh visual components, we're improving both what you see and what happens behind the scenes to make future updates quicker.

UI code quote block

XO 6 features a new UI component that makes it easier to display inline code or technical content, like command-line snippets, configuration values, error listings, and logs. It's great for showing raw logs in a clean, readable format.

This component ensures a consistent look and better readability in the whole application, especially in tooltips, dialogs, or help messages. This small change helps make technical details clearer wherever they appear.

Icon management library

We've changed the way we handle icons across our web apps. Until now, we were using FontAwesome icons directly (e.g. faDisplay). However, each time we used complex icons (with stacking, colors, and specific positioning) multiple times, we ended up with duplicated code and overly complex component hierarchies.

To solve this, we built our own icon library, where each icon (even complex and multi-layered ones) is identified by just a name.

Now, we can simply use that name as a prop in our components. Let's say we need to propagate a complex 3-icon stack with custom colors and positioning. We can define it in the library just once, and use it by name everywhere. For instance: <MyComponent icon="server:maintenance" />.

With this system, code and component APIs are cleaner, and visuals are more consistent.

Table pagination

New Select and Multi-select components

We’ve introduced brand new Select and Multi-Select components to improve both the user experience and developer ergonomics. While the changes might seem subtle visually, this is actually a major enhancement behind the scenes.

These components now offer a more unified and polished interface for picking one or several options, with consistent styling aligned with our design system.

What’s new:

  • ✅ Full keyboard navigation
  • 🔍 Optional search field with customizable search terms
  • 🧩 Multi-selection support
  • 🗣️ Customizable labels when multiple items are selected

For developers:

  • Simplified usage of both the component and its composable logic
  • Cleaner API and more predictable behavior

VM dashboard 

XO6 and XO Lite have a new VM dashboard with a responsive and light design, so that you can see key metrics and VM status in an instant. The dashboard shows basic resource usage (CPU, RAM, disk), health info, and network activity, but this is just the beginning! In the future, we'll add more details to the dashboard to make it even more useful.

Pool section in the System tab

We've added a Pool section to the System tab. This gives you a quick look at essential host info like hardware details, CPU, and memory usage, all in one place. It's an easy way to keep an eye on your infrastructure and paves the way for future monitoring improvements.

Mobile support for side panel and tables

We've revamped the side panels and tables to ensure they work smoothly on mobile devices. The layout now dynamically adjusts to fit smaller screens, preventing content from being cut off and ensuring a user-friendly experience.

🛰️ XO 6

Beyond updates to the core UI, we've continued to enhance XO 6 visually and under the hood, with fresh interface components and optimizations for faster performance.

Adding sites to the treeview

There's a new level in the treeview hierarchy: the site, which is positioned above pools. 

Selecting a site shows all your pools and opens a dedicated dashboard tab for your current XOA, with all related information. 

This addition helps organize infrastructure more clearly, especially in large deployments with multiple pools spread across various locations, and will enable us to add more site-level features in the future

💡
Note: Sites are temporarily labeled as "Xen Orchestra Appliance" until we implement support for custom naming.

Improved host dashboards

We've updated the host dashboard in XO 6 to better align with the one in XO Lite. This includes clearer wording and a more consistent presentation overall.

For instance:

  • "RAM usage" becomes "RAM provisioning"
  • "Memory usage" becomes "RAM usage"

One key improvement is in how CPU provisioning is calculated: it now matches the values shown in XO Lite, for a more accurate and unified view of your hosts' resources in both interfaces.

Dashboard powered by data streams

The dashboard now displays data as soon as it's available, instead of waiting for everything to be fully loaded. When you open the page, the system starts calculating the metrics in the background and shows them progressively as they're ready.

This change makes a noticeable difference in larger environments, where generating all the dashboard data can take several seconds. Instead of staring at an empty screen, you’ll now start seeing partial results almost immediately.

In the future, we will reuse this improvement in other parts of Xen Orchestra where heavy data processing is required.

Better backup views

We've updated the backup section to make it clearer and easier to use. With improved layouts and naming, it's now simpler to understand how backup jobs are structured and quickly find what you need.

This update makes managing backups more intuitive, especially when dealing with multiple schedules, remotes, or job types.

The backup view before XO 5.108

🪐 XOA

Behind the scenes, we've made substantial improvements to improve how updates are built and delivered. Although these changes aren't visible in the app, they allow us to roll out better updates and address issues faster - all thanks to a collaborative effort from the entire team!

Improved XO release process

The Xen Orchestra release process has been refined. As a result, that the platform is now more reliable and easier to maintain, particularly for backporting urgent security fixes.

The updated approach improves support for multiple release channels and ensures better consistency between development and production environments. It also streamlines packaging and version tracking, making patch management more efficient and reducing the likelihood of build-related issues.

📡 REST API

We're continuing our journey into documenting our API with Swagger. Not only are we migrating existing endpoints, but we've also added new ones, opening up even more possibilities for managing your environment.

Support for more VM state changes

The API now includes support for more VM state change operations that were previously unavailable. You can perform actions like force shutdown, clean shutdown, suspend, resume, and both soft and hard reboot through the API.

This update brings the REST interface closer to matching the features of the existing JSON-RPC API so that you can more easily automate common VM lifecycle operations.

Extended VM stats

We have two new methods in the REST and JSON-RPC APIs, namely addDataSource and removeDataSource.

They let you pick more data sources to keep an eye on a particular VM, give you the ability to monitor the metrics in more detail and maybe even unlock new possibilities in Xen Orchestra.

They are really great metrics, like the runstate family. For example:

  • runstate_concurrency_hazard > 0% indicates that sometimes, at least one vCPU is running while at least one other vCPU wants to run but can’t get pCPU time. If the vCPUs must coordinate, this behavior causes performance issues.
  • runstate_full_contention > 0% indicates that sometimes the vCPUs want to run all at the same time but none can get pCPU time.

Those metrics are critical to do capacity planning and resource optimization. And they are already used by our new partner, EasyVirt, for their "Aria-like" product, DC Scope. You can read more about it in here:

Vates & Easyvirt: a new alliance strengthening the Cloud technology ecosystem
DC Scope brings advanced monitoring, optimization, and sustainability features to XCP-ng environments, offering a powerful, turnkey alternative to VMware Aria.

Introducing many new endpoints

In addition to the VM data sources, we continue to add and migrate new API endpoints to Swagger each month. This is part of the ongoing effort we announced during the 5.104 release back in February.

This time around, we've introduced several new endpoints:

  • Networks (create, delete)
  • PCIs (get, get id)
  • PGPUs (get, get id)
  • Servers (delete)
  • SMs (get, get id)
  • VM actions (pause, suspend, resume, unpause)

Existing endpoints moved to Swagger

On top of the new endpoints listed above, we've migrated multiple endpoints from the API over to Swagger:

  • Pool actions (emergency_shutdown, rolling_reboot, rolling_update)
  • Dashboards
  • VMs (import and create)
Xen Orchestra 5.104
This month at Vates, we’re bringing you a wave of updates across the board! Our virtualization stack is now validated for Red Hat Enterprise Linux 9, and we’ve announced a strategic partnership with VyOS to enhance networking capabilities in Vates VMS.

Now it's a matter of few releases to get absolutely all our REST API endpoints to swagger, meaning XO REST API will be fully documented!

☸️ DevOps Tools

It’s also been a packed month on the DevOps side, with new releases, improvements, and growing internal ownership of key tools.

VirtOps#6: Kubernetes cluster in minutes

In this latest update, we show how you can use Xen Orchestra recipes to deploy a fully working Kubernetes cluster in just a few minutes. We also break down what’s happening behind the scenes (from the underlying components to the orchestration logic), so you can understand exactly how it all comes together.

VirtOps#6: create a Kubernetes cluster in minutes
Learn how to deploy a full Kubernetes cluster in minutes using our built-in recipe feature in Xen Orchestra, and discover the components running under the hood.

Terraform provider & Packer plugin update

Last week, we released an update for the Terraform (and OpenTofu) provider. This new version improves the VM disk lifecycle : resizing an existing VDI handles the needed VM reboot automatically, and a few others fixes. Read the changelog here: https://github.com/vatesfr/terraform-provider-xenorchestra/releases/tag/v0.32.0

Packer plugin v0.8.1

The Packer plugin has just been released in version v0.8.1, marking the first release since ownership was officially transferred from Dom to Vates. This milestone reflects how Vates is steadily internalizing more DevOps expertise and tooling, reinforcing our long-term commitment to ecosystem sustainability and autonomy.

This update provides support for auto install of Linux distros such as Ubuntu 24.04 that can find the autoinstall file only on a virtual CD, not on a good old -virtual- floppy!

Release v0.8.1 · vatesfr/packer-plugin-xenserver
What’s Changed Other Changes Add support for cd_files in addition to floppy_files by @ceejatec in #144 Update-url by @nathanael-h in #166 New Contributors @ceejatec made their first contribution…

XO Cloud Controller Manager (CCM)

The XO CCM acts as a bridge between your Kubernetes cluster and your XO infrastructure. It connects to Xen Orchestra, retrieves detailed information about your VMs, and automatically maps them to their corresponding Kubernetes nodes. Using this mapping, it then applies meaningful labels to the Kubernetes nodes based on the underlying XO topology, such as the pool or host each VM is running on.

Real-world example

Imagine you’re running a Kubernetes cluster spread across two different XO pools located in separate datacenters. Thanks to the labels applied by the XO CCM, Kubernetes is now aware of the physical location of each node. This enables features like anti-affinity rules — allowing you to schedule workloads in a way that avoids placing replicas on the same pool or even in the same datacenter, increasing resilience and fault tolerance.

GitHub - vatesfr/xenorchestra-cloud-controller-manager: Kubernetes Cloud Controller Manager for Xen Orchestra
Kubernetes Cloud Controller Manager for Xen Orchestra - vatesfr/xenorchestra-cloud-controller-manager

📖 Documentation & guides

We've put a lot of effort into updating the Xen Orchestra documentation to make it clearer, more useful, and better aligned with the current state of the application. Below, you'll find a list of some of the most recent additions to that documentation:

🤝 External contributions

Our community continues to play a vital role in making Xen Orchestra better every day. Thanks to your contributions, which range from fixing typos to expanding language support, we are able to improve both the polish and accessibility of the platform!

Widespread typo corrections

This month, lots of spelling errors and typos were fixed, both in the documentation and the source code.

The work was done in two parts, one about comments and documentation that is already fully merged, and another about the code itself, which we are reviewing and merging little by little to make sure nothing breaks.

A big thanks to community member Josh Soref for making this possible, we really appreciate the time and attention to detail!

jsoref - Overview
Wondering how I’m finding spelling errors / want to prevent new ones? https://check-spelling.dev - jsoref

Access to XO 6–only languages

Thanks to a contribution from p-bo, users can now select languages in XO 5 that are exclusive to XO 6.

Since XO 6 lacks a settings page, language selection depends on the cookie set by XO 5. However, some languages available in XO 6 weren't selectable through XO 5, making them inaccessible in practice.

To address this, p-bo temporarily added these missing languages to the XO 5 language selector. This allows users to switch to any supported language in XO 6, even before a proper settings interface is introduced.

p-bo - Overview
p-bo has 182 repositories available. Follow their code on GitHub.

🌐 Translations

Since we started to use Weblate, we never had so many translation contributions. That's great! If you want to discover more about Weblate, check out their website:

Weblate - web-based localization
Copylefted libre software, used by over 2,500 libre software projects and companies in over 165 countries.

Updates for 5 languages

Thanks to our community and their efforts, translations have been improved across the app, with updates for Czech, Dutch, German, Russian and Spanish. This makes the interface more accessible and consistent for our international users, as part of our effort to enhance the experience for everyone.

Current XO 6 translation status

Thanks a lot to the community! If you'd like to help translate Xen Orchestra or fix existing translations, feel free to contribute here.

🆕 Misc

Not every update fits neatly into a specific category, but that doesn’t make them any less useful. From tighter control over security warnings to small improvements that simplify everyday tasks, these changes add up to make Xen Orchestra more aligned with your needs and enjoyable to use.

Hide XSA-468 warnings per VM

Xen Orchestra automatically checks Windows VMs for vulnerable PV drivers and shows a warning if it detects an issue related to the XSA-468 vulnerability (CVE-2025-27462, CVE-2025-27463 and CVE-2025-27464).

While we strongly recommend to upgrade these drivers (or ideally, the OS itself) some setups can’t be updated. This is especially true for legacy systems like Windows 7 or Windows Server 2012. If you're stuck with one of these VMs, a mitigation script will be made available on the XCP-ng side, but XO won’t be able to confirm whether you’ve applied it or not.

To avoid unnecessary clutter, you can now prevent the warning from showing for a particular VM, by tagging it with HIDE_XSA468. The banner at the top of the VM view will only appear if there are vulnerable VMs without this tag.

VDI format in SR and disk views

You can now see the VDI format, such as Qcow2 or VHD, directly in the interface at both the VM and storage repository levels. In a VM's disk view, each disk displays its format. The same goes for the SR view, where all associated disks now clearly show their format.

When creating a new disk or VM, the SR selection dropdown also indicates the format that will be used, helping you choose the right storage backend from the get-go.

⚠️
Qcow2 disks are now explicitly labeled, and export actions are disabled for them since Qcow2 export isn't officially supported (yet) at this stage.

This update brings more clarity when working with different storage formats and helps avoid incompatible operations.

Remove a remote syslog server

You can now remove the remote Syslog configuration of a XCP-ng host directly from Xen Orchestra. Previously, once a remote Syslog server was set, you couldn't clear that field through the UI without manually editing the host.

This improvement gives you complete control over the remote logging setup from the host's advanced settings, letting you update, replace, or entirely remove a Syslog destination.

Tags

Olivier Lambert

Vates CEO & co-founder, Xen Orchestra and XCP-ng project creator. Enthusiast entrepreneur and Open Source advocate. A very happy Finnish Lapphund owner.