Xen Orchestra 5.100
XO 5.100 is here, bringing powerful new features, expanded REST API capabilities, and key improvements to stability and UX as we continue building for the future.
5.100 isn’t just a nice, round number; it marks an exciting XO release packed with new features and improvements. This update reflects the pulse of our fast-growing ecosystem, bringing even more capabilities to XO as we expand alongside it: no tricks, just treats!
👨🚀 Project & Community
It’s been a busy month! Along with a major XCP-ng release, our ecosystem is expanding, with VEEAM now supporting XCP-ng and our service offerings growing to meet diverse needs, and there’s even more on the horizon.
XCP-ng 8.3 official release
We're thrilled to unveil XCP-ng 8.3, the final installment in our 8.x platform series. This release is a pivotal moment for our community, paving the way for future advancements. The journey to bring XCP-ng 8.3 to life has been monumental, and the scale of our efforts highlights the dedication behind it:
- 450 tasks tracked and managed within our Kanban board
- 1,200 builds generated through our Koji build system
- Over 1,000 messages exchanged in forums dedicated to testing (excluding countless related discussions)
- Thousands of test runs executed to secure top-notch quality and performance
- More than 11,000 pre-release ISO downloads by our community, reflecting your enthusiastic support
Also a big thanks to Tom who made a great Youtube video about it:
Extending our service portfolio
To support the varied requirements of our clients and partners, we are introducing a suite of professional services specifically crafted to facilitate the seamless integration and use of Vates VMS. These services are thoughtfully tailored to meet the distinct needs of both prospective and current customers, whether they engage directly with Vates or through our trusted network of expert partners.
In other words, you’ll have access to Technical Account Managers, Consultants, and Project Managers to address all your needs. These experts are either directly part of the Vates team or certified professionals, ensuring you receive the highest standard of tailored support.
VEEAM support for XCP-ng
VEEAM has released a first working prototype compatible with the XCP-ng API, announced personally by their Chief Product Officer:
While we handle backups with Xen Orchestra at Vates, we’re thrilled to see our ecosystem expanding. The feedback from VEEAM's developers has been excellent, and we’re optimistic this will move beyond a prototype in the coming months. We’ll continue to monitor the progress closely and offer support to VEEAM as needed.
Does Vates VMS scale?
As we continue to support increasingly large customers and infrastructures, we’re often asked, “Does it scale?” In this blog post, we aim to answer that question. Spoiler alert: it does. This example showcases a major online travel company handling millions of requests daily: a true testament to Vates VMS's robust scalability.
Project management: switching to Plane
We are proud to use self-hosted software to build our own company and products. In our case, we were using WeKan before. As our team grew a lot, we needed something more flexible and scalable. So we decided to switch to Plane, and we are really happy about it. It's still a young project, but each release provides a huge number of improvements, so we are confident about it.
XO team growing rapidly
It's not just Vates experiencing rapid growth—our XO team is expanding at an impressive rate, too! We’ll share the final 2024 numbers soon, but the progress is clear. Recently, we welcomed two new VueJS developers, Joris and Sebastian, who are diving into work on our new UI. Our backend team also gained a valuable member, Stéphane, and we’re thrilled to have Thomas as our new Technical Writer. And the expansion doesn’t stop there! With more team members set to join soon, we’re on track to triple the team size in less than a year.
And now back on our monthly release!
💾 Backup
In addition to regular bug fixes, we're dedicating efforts to enhancing the existing code base, further boosting stability and reliability.
Better old XenServer support (<7.3) without CBT
We've fixed an issue that could block VHD backups if Changed Block Tracking was not available. Some older XenServer versions don't support CBT, but this should not stop your VHD exports. Now, if CBT isn't enabled or if there is no Network Block Device (NBD) network, your legacy VHD backups can continue without any problems. This fix provides a smoother experience for users with legacy systems while seamlessly maintaining backup functionality.
Chained backup optimizations
After a month since the initial release, we’ve fine-tuned backup chaining, reducing re-transfer in certain scenarios. It’s now even more efficient and resilient!
🛰️ XO 6
The major overhaul of XO is steadily advancing, and with more developers on board, the pace of progress is set to accelerate even further.
Server status
The Server Status card is a new addition to the XO 6 Dashboard. It provides a quick, comprehensive view of server health and operational status in Xen Orchestra. This card makes it easy to monitor key metrics at a glance, keeping administrators informed and simplifying routine checks across multiple servers.
New components
This release introduces several new UI components that, while currently behind the scenes, provide the foundation for future views and interactions within Xen Orchestra. These elements set the stage for an even more dynamic, user-friendly interface as they're rolled out in future updates. Stay tuned for new enhancements to the Xen Orchestra experience!
There's so many different components worked on that we can't sum them up in here, but our small gallery will give you a hint:
Behind the scenes
In XO 6 & XO Lite, we’ve overhauled the contribution process to be more accessible and user-friendly. With updated documentation and clearer guidelines (particularly for web-core
components), outside developers can now contribute with ease and confidence.
We’ve also established consistent coding standards and templates, ensuring alignment across all contributions. These updates foster collaboration, making it simpler to share ideas and code, which ultimately strengthens our community and fuels innovation.
While this long-term work does require some resources in the short term, it’s a commitment to building a future-ready product—for both Vates and our community.
🔭 XO Lite
We're continuing our work on XO Lite, refining the UX design for the networking features and enhancing the capabilities of XO Deploy.
Deploy XOA with custom NTP servers
XO Lite now supports the addition of custom Network Time Protocol (NTP) servers during XOA deployment. This enhancement allows you to specify your preferred time servers to ensure accurate time synchronization across your infrastructure. It's a small change that can make a big difference in maintaining the integrity of your systems. Enjoy greater flexibility and control over your NTP settings!
Network management UX
Since last month, we’ve made significant progress on the UX mockups for network management. With most screens now designed, we're close to moving into the next exciting phase: implementation!
🪐 XOA & XO Proxy
This month, we’ve rebuilt our virtual appliances, equipping them with expanded capabilities right out of the box.
Multiple DNS server support
We've added support for multiple DNS servers during initial setup in XOA. By configuring multiple DNS servers, you can improve the redundancy and reliability of name resolution, ensuring a more robust network configuration from the start and streamlining the management of your infrastructure.
CLI: New network ntp command
We're pleased to introduce the network ntp
command. This new feature simplifies the management of Network Time Protocol (NTP) settings directly from the command line interface. Accurate time synchronization is critical to maintaining consistency across virtual environments, making this a valuable tool for improving system reliability and ensuring accurate timekeeping in logs and network operations.
New Proxy appliance
We're happy to announce a new proxy for Xen Orchestra based on Debian 12. This new appliance replaces the older version that had some limitations. The updated proxy improves connectivity and performance, making it easier to effectively manage remote hosts. For those interested in how proxies work, you can explore their benefits further in our Concrete guide to XO proxies.
📡 REST API
With each release, our REST API continues to expand. This month, we’ve added two new features: authentication token management and the ability to create VMs using CloudInit.
Authentication tokens
Xen Orchestra 5.100 introduces a powerful new feature in the REST API: authentication token creation with strong security. To create tokens, users need to authenticate with a password or, if enabled, a one-time password (OTP), adding a robust layer of protection to your automated workflows and integrations. Tokens can be configured for short or long-term access, providing flexibility without compromising security, especially useful for recurring scripts or temporary access scenarios.
Here's an example, eg to create an authentication token with a POST request to /rest/v0/users/authentication_tokens
. First, the --user username:password
flag sends user credentials in the HTTP request for authentication. Then, the -H
option sends a header specifying the Content-Type
as JSON. Use the -d
option to add a body to the request with optional token details, like client name, description, and expiration time (in milliseconds). The result:
curl -X POST http://xoa.localdomain/rest/v0/users/authentication_tokens?otp=1234 \
--user foo:bar \
-H "Content-Type: application/json" \
-d '{"client": "some-client", "description": "some-description", "expiresIn": 60000 }'
Great! Now you can retrieve the user’s existing tokens with a GET request to /rest/v0/users/authentication_tokens
:
curl http://xoa.localdomain/rest/v0/users/me/authentication_tokens \
--cookie "token=some-token-id" \
-L
/users/me
alias to redirect automatically to the user’s specific ID endpoint. If the user doesn’t know their ID, they can access /rest/v0/users/me/authentication_tokens
,which redirects them to GET /rest/v0/users/authentication_tokens
. The --cookie
option sends the token ID for authentication.VM creation with Cloud-Init support
We’ve enhanced the REST API by adding Cloud-Init support for VM creation. This feature simplifies the setup of virtual machines by automating their initialization and configuration, making it easier to manage cloud environments at scale. With Cloud-Init, administrators can now customize VMs at creation, ideal for scripting initial configurations or deploying standardized setups. This feature represents a significant increase in automation and flexibility for Xen Orchestra users.
Here's an example:
curl --cookie "token=<your-auth-token>" \
-H "Content-Type: application/json" \
-X POST http://localhost:9000/rest/v0/pools/<your-pool-uuid>/actions/create_vm \
-d '{"name_label":"mra-rest-api", "template":"<your-cloud-init-uuid-template>", "cloud_config":"#cloud-config\nhostname: Debian-12-Cloud-init-(Hub)\nssh_authorized_keys:\n - ssh-rsa AAAA...<complete with your SSH KEY>", "boot":true, "destroy_cloud_config_vdi": true}'
To know more, check out the Cloud-Init website.
🐦 VMware to Vates (V2V)
Previously, warm migrations from VMware ESXi to Vates could encounter session timeouts, particularly during the final steps when the VM shuts down and the last snapshot transfers. This update brings a more resilient approach, automatically refreshing the session to avoid interruptions and ensure a smoother migration process. By maintaining an active connection throughout the data sync, the final snapshot handoff is now less likely to encounter delays or errors, making V2V migrations more reliable and efficient.
🆕 Misc
Our "Misc section" is packed with updates this month! And with our continued growth, you can expect it to keep expanding.
Fix tooltip disappearing
We've fixed an issue where tooltips would randomly disappear. This fix ensures that users can rely on consistent and informative tooltips. No more losing valuable context or guidance as you navigate the interface! This improvement is part of our ongoing commitment to refining the user experience and making your workflow smoother.
Home/VMs filter by MAC address
We've introduced a new filter that allows Xen Orchestra Appliance (XOA) users to locate a VM by MAC address. Simply enter the MAC address in quotes (e.g., "70:1A:83:62:90:D0"
), and you’ll get a streamlined list of matching VMs—perfect for identifying specific machines within large environments or troubleshotoing connectivity issues more efficiently.
Hide PVS accelerator in orphan VDIs
We've improved the dashboard by hiding PVS accelerators associated with orphaned virtual disk images (VDIs). These VDIs, used by Citrix Provisioning Services, serve as a temporary cache and are not associated with any virtual machines.
This change helps users focus on relevant information without unnecessary distractions, resulting in a cleaner and more intuitive dashboard experience.
Synchronized descriptions and comments in Netbox
We've added a handy feature to synchronize the new "description" field in Netbox between XO and Netbox. This enhancement ensures that any changes made to this new field in your Xen Orchestra configuration is automatically reflected in Netbox, keeping everything consistent and up to date. This feature streamlines your workflow and improves your ability to effectively manage your resources.
To learn more about Netbox, read our Netbox synchronization with XO DevBlog!
Filter object selectors by tags
We're pleased to introduce a new feature that allows users to filter object selectors by tags in access control lists (ACLs). This enhancement is in direct response to user requests for more granular control over user and group access to virtual machines (VMs) based on specific tags. With this functionality, you can now create customized permissions that meet your organization's needs, making it easier to efficiently manage access rights.
New Cloud-init Template Variable : {index}
This release introduces the {index}
Cloud-init template variable, as a more compatible alternative to the %
variable, which could interfere with Jinja templating. To ensure a smooth transition, %
will continue to work for workflows with multiple VMs enabled, but is now marked as deprecated. This update improves compatibility and reliability when automating VM deployments using cloud-init with Xen Orchestra.
To know more about Jinja, check out their official website.