Xen Orchestra 5.69

Xen Orchestra 5.69 is now available on the latest branch. In this release, we make significant improvements to one of the update features available in Xen Orchestra.

Xen Orchestra 5.69

We are continuing the work on our new public REST API and offer a preview of the first dashboards that will be available in XO Lite.

Want to take a look at our video version of this announcement? Take a look here:

📦 Update improvements

This release brings various improvements to updating XCP-ng. Our goal is to provide a smooth way to get all the important updates (security or not) for all your XCP-ng hosts, with no hassle.

🔀 Rolling Pool Update

We have reworked the algorithm behind the Rolling Pool Update feature. Overall, this new algorithm is safer and more efficient: we changed the operation order to bring more resilience in your infrastructure.

The previous implementation began with updating all the hosts in the pool starting with the master. In a second step, we evacuated the VMs on the pool master first, rebooted it, and so on for other pool members. This implementation worked for small updates, but could cause issues as updated components might have a different version than the running (in memory) programs.

A recent example was the 8.2.1 big update, changing both XAPI and qemu on the host. If you didn't reboot or restart the toolstack after the update, you wouldn't be able to start a new VM (as long as XAPI wasn't restarted or rebooted).

In the new implementation, the master host is evacuated, then updated one by one before being restarted in turn.

🚫 Disable patch installation when HA is enabled

High availability can be the cause of many problems when upgrading your infrastructure. For this reason, it is essential to disable it for the duration of such an operation.

To avoid our users getting into problematic situations, we have disabled the ability to upgrade a host when HA is enabled.

🔄 Restart toolstack after update

After an update on a pool or host (without using the rolling pool update feature), the toolstack may not be able to work correctly. We have implemented the automated restart of this toolstack and integrated a warning message when a user decides to start to update a single host or a pool.

☝️
Note that restarting the toolstack won't affect the running VMs.

📡 Public REST API (alpha stage)

As announced in our previous release (5.68), we are creating a new public API (REST based) that aims to provide an additional tool for our users that is supported and properly documented. It's also meant to be very simple to use, that's why we always provide examples with a simple curl command.

⚠️
This is an alpha feature that may change significantly in the coming months - do not use this feature in a production environment. However, your feedback is VERY welcome!

📥 VM and VDI export

This REST API is now able to support VDI export and VM export. Here is a simple example to export a VM with zstd compression into a myVM.xva file:

curl \
  -b authenticationToken=KQxQdm2vMiv7jFEAZXOAGKFkTbs \
  'https://xoa.example.org/rest/v0/vms/770aa52a-fd42-8faf-f167-8c5c4a237a12.xva?compress=zstd' \
  > myVM.xva

For a VHD export, it's very similar:

curl \
  -b authenticationToken=KQxQdm2vMiv7FkTbs \
  'https://xoa.example.org/rest/v0/vdis/1a269782-ea93-4c4c-897a-475365f7b674.vhd' \
  > myDisk.vhd

The documentation is available here:

xen-orchestra/rest-api.md at master · vatesfr/xen-orchestra
The complete web solution to manage and backup XCP-ng and Citrix Hypervisor. - xen-orchestra/rest-api.md at master · vatesfr/xen-orchestra

✨ XO Lite dashboard

That's it! After presenting our project and mockups, the first operational dashboard of Xen Orchestra Lite is ready.
We are still working on the dark mode version, but the UI components are being put in place and we should be able to move forward more quickly once the main ones have been created:

☝️
We are working on a dedicated Devblog about the Xen Orchestra Lite and Xen Orchestra 6 UI/UX work we have started since the beginning of this year. Stay tuned!

💽 Delta Backup: selective VDIs restore

Xen Orchestra's backup tools aim to be both resilient and flexible. With this in mind, we have added options to the delta backup and restore operations. When restoring a VM from a delta backup job, you now have the possibility to exclude any VDIs from the disks to restore:

📰 Misc

We also continue to improve various Xen Orchestra features and tools. This time, it's two things that are really helpful in some situations and an improved deploy script.

🌐 Allow VM import from URL

You can now import a VM into Xen Orchestra using a URL directly. This way, you no longer need to download your VM locally before importing it into your XOA!

🕸️ Support console & stats with HTTP proxies

You were already able to connect Xen Orchestra to a pool via an HTTP proxy. However, until now, this mode of operation caused some issues, particularly regarding the stats and console access.

In this version of Xen Orchestra, these problems are solved which means you can fully use your appliance by placing it behind an HTTP proxy, allowing you to get even further with XO in air-gapped environments!

🛫 Deploy script improvement

☝️
If you didn't know, you can easily deploy a Xen Orchestra appliance by visiting this page. The whole process takes only a few minutes.

In order to make our Xen Orchestra virtual Appliance even easier to deploy and use, we also have improved the deployment script available that you can use with:

bash -c "$(wget -qO- https://xoa.io/deploy)"

Now, before booting the VM, it will automatically set XOA virtual network card on the management network. This is helpful in various situations, and also fixing a deploy failure when you only had bonds in your pool.

🛄 New templates on XOA Hub

We recently added 3 new OS templates, ready to deploy with Cloudinit on XOA Hub:

  • Rocky Linux 8.5
  • Alma Linux 8.5
  • Debian 11

All those VMs can be directly deployed as template in the pool/SR of your choice, and then created with Cloudinit, with a default user (rocky, alma and debian respectively). We provided support for network, growable disk and all Cloudinit features.