What’s New in 6.8¶
OpenNebula 6.8 ‘Rosette’ is the fifth stable release of the OpenNebula 6 series. This version of OpenNebula focuses on features to improve the end user experience as well as to optimize the use of the HW resources in KVM-based infrastructures.
The first highlight is the addition of the Virtual Datacenter (VDC) and User tab to FireEdge Sunstone. As you may know, we are working hard on replacing the eyes of OpenNebula, Ruby Sunstone, which has served well for over a decade. FireEdge Sunstone is starting to exhibit a high percentage of the needed functionality, as well as starting to expand the functionality given by Ruby Sunstone. An example is the new User tab, which also includes Accounting and Showback information that can be exported and presented in several different charts. Also, the Quotas subtab has undergone a face lifting, with a more comprehensive way to convey information.
The second highlight is related to Backup functionality, with the introduction of Backup Jobs. Backup Jobs enable the definition of backup operations that involve multiple VMs, simplifying the management of your cloud infrastructure. It lets you establish a unified backup policy for multiple VMs, encompassing schedules, backup retention, and filesystem freeze mode, as well as maintain control over the execution of backup operations, ensuring they do not disrupt ongoing workloads. Moreover, it allows for the monitoring of the progress of backup operations, essential to estimate backup times accurately.
And third and last, but not least, there have been a myriad of improvements in the KVM drivers. To name a few: now it’s possible to fine-tune the selection of CPU flags, to specify io_uring driver for disks, define a custom video device for VMs and automatically define default set timers to improve Windows performance. These options have been implemented in the driver, and for the ones where it makes sense, are already exposed through Sunstone. Both flavours :)
As a bonus, the scheduler can be now configured to reach out to an external module (with a well-defined REST API) to get recommendations on initial VM placement. The motivation behind this new feature is to able to integrate OpenNebula with different Machine Learning modules that can optimize different metrics to optimize a given criteria, or set of criteria: reduce energy consumption, reduce latency with respect to end user, reduce overall infrastructure cost, etc. Check below to learn what other goodies, and bug fixes, made it into OpenNebula.
As usual, OpenNebula 6.8 is named after a Nebula. The Rosette Nebula (also known as Caldwell 49) is an H II region located near one end of a giant molecular cloud in the Monoceros region of the Milky Way Galaxy. The open cluster NGC 2244 (Caldwell 50) is closely associated with the nebulosity, the stars of the cluster having been formed from the nebula’s matter.
OpenNebula 6.8 ‘Rosette’ is considered to be a stable release and as such it is available to update production environments.
We’d like to thank all the people that support the project, OpenNebula is what it is thanks to its community! Please keep rocking.
OpenNebula Core¶
Add
sched-action
andsg-attach
to VM Operation Permissions.Add VCPU to VMs pool list. If you are upgrading from previous version, the
VCPU
will apear after first update of the VM. Useonevm update <vm_id> --append <empty_file>
to force VM update.The scheduler has been extended so it can contact external modules to accomodate custom allocation policies easily, see the external scheduler guide for more information.
Deployment XML for libvirt will now generate feature tags for CPU features defined in the VM Template under CPU_MODEL/FEATURES.
CPU_MODEL/FEATURES
will now be added to the Automatic Requirements.
Storage & Backups¶
Shared datastore allows qcow2 backing link in CLONE action to be configurable.
Backup Jobs enable you to define backup operations that involve multiple VMs, simplifying the management of your cloud infrastructure. With Backup Jobs, you can setup unified backup policies for multiple VMs, easily track their progress, and control the resources used.
The
VIRTIO_ISCSI_QUEUES
attribute now offers support for theauto
keyword, allowing you to automatically configure the number of queues to match the virtual CPU count of the Virtual Machine. For more information check the VM Template Reference and the KVM driver guide.Added a new attribute,
VIRTIO_BLK_QUEUES
, to activate the multi-queue functionality in the virtio-blk driver. This attribute can be configured for allDISK
devices within a VM either through theFEATURES
attribute or globally in the KVM driver configuration file. For more information check the VM Template Reference and the KVM driver guide.
Ruby Sunstone¶
FireEdge Sunstone¶
Implemented VDCs tab in FireEdge Sunstone.
Implemented Users tab in FireEdge Sunstone.
API and CLI¶
Add enable method for MarketPlace; and state for Markeplace and Markeplace Appliances objects in the Golang API (GOCA).
Allow STDIN passed templates for commands that accept template files.
New
onevmgroup
commandsrole-add
,role-delete
androle-update
for managing VM Group roles.New commands to attach and detach PCI device to a Virtual Machine
KVM¶
Added a monitoring script to add
KVM_CPU_FEATURES
to the Host Monitoring Information.Added the
VIDEO
attribute for VM’s to define a custom video device for VM’s.Extended support for Microsoft Windows guests: updated list of default
HYPERV_OPTIONS
and add a predefined set timers (configurable withHYPERV_TIMERS
) to the domain clock whenHYPERV
enhancements are enabled, see the VM template reference.
vCenter¶
Added support for vSphere 8.0 U2 by utilizing the rbvmomi2 gem
Features Backported to 6.6.x¶
Additionally, the following functionalities are present that were not in OpenNebula 6.6.0, although they debuted in subsequent maintenance releases of the 6.6.x series:
SR-IOV based NICs are live-updated when updating the associated VNET attributes
Optimize appending with onedb change-body.
Allow
onedb purge-history
to delete the history record of a single VM.Improve onehost sync error logging.
Add
sched-action
andsg-attach
to VM Operation Permissions.Improve list commands help messages to point to layout configuration files.
Add VCPU to VMs pool list. If you are upgrading from the previous version, the
VCPU
will appear after the first update of the VM. Useonevm update <vm_id> --append <empty_file>
to force VM update.Added a guide for replacing a failing OpenNebula front-end host.
Backup dialog in FireEdge Sunstone updated to make datastore selection optional if not needed.
Add support to delete “in-chain” disk snapshots for tree layouts (qcow2).
Customizable option to disable the Automatic Network Selection toggle on Sunstone
Add support for CentOS 8 Stream, Amazon Linux, and openSUSE on LinuxContainers marketplace.
Add the ability to pin the virtual CPUs and memory of a VM to a specific host NUMA node.
Improve VM HA hook script host_error.rb to skip VMs deployed on local datastores.
Add support Centos 8 Stream, Amazon Linux, and Opensuse for LXD marketplace.
Add ability to pin the virtual CPUs and memory of a VM to a specific NUMA node.
Restic and Rsync drivers allows to limit CPU and I/O resources consumed by the backup operations. See the restic and the rsync documentation for more information.
OneFlow Services support custom attributes for specific roles. See the Using Custom Attributes in the Oneflow Service Management guide
Restore incremental backups from a specific increment in the chain.
Specify the base name of disk images and VM templates created when restoring a backup.
Cluster provisions have been upgraded to use Ubuntu22.04 and Ceph Quincy versions.
Other Issues Solved¶
Fix dict to xml conversion in PyONE by replacing dicttoxml by dict2xml.
Updated some ruby deprecated methods incompatible with newer ruby releases.
Fix issue with block device backed disks causing libvirt to fail to boot a VM.
Fix issue when resuming a VM in ‘pmsuspended’ state in virsh.
Fix issue deploy VM after instantiate causes React app to crash.
Fix an issue where SSH auth driver would fail with openssh formatted private keys.
Fix schedule action is not setting the right day of the week in Sunstone on checkmark box.
Fix disk RECOVERY_SNAPSHOT_FREQ on template instantiation on Ruby Sunstone.
Fix multiple minor issues in Sunstone schedule actions forms.
Fix rsync backup driver to make use of RSYNC_USER value defined in the datastore template.
Fix locked resource by admin can be overridden by user lock. Fix lock –all flag.
Fix ‘onetemplate instantiate’ the persistent flag is not correctly handled.
Fix Enable/disable actions for host to reset monitoring timers.
Fix CLI commands to not fail when config (/etc/one/cli/*.yaml) does not exist.
Fix permissions for ‘onevm disk-resize’, fix error code for ‘onevm create-chart’.
Fix filtered attributes for backup restoration (DEV_PREFIX, OS/UUID).
Fix marketplace image download with wrong user from FireEdge Sunstone.
Remove duplicated records in machine type and CPU model inputs.
Fix Sunstone backup dialog never shows up after deleting backups.
Fix Update the image name when it is selected in a template disk.
Fix wrong management of labels in OpenNebula Prometheus exporter.
Fix Incorrect service configuration for opennebula-fireedge.service.
Fix onegather journal log collection when using systemd.
Onegather now includes execution logs within the package.
Fix VM operation permissions for disk-attach, nic-(de)attach and nic-update.
Fix missing unit selectors on create images and vm templates.
Fix wrong configuration for FreeMemory10 in Prometheus rules.
Fix logic mismatch when attaching volatile disks for block drivers.
Fix oned segmentation fault when configured to run cache mode.
Fix charset conversions for ‘onedb fsck’ and ‘onedb sqlite2mysql’.
Fix initialization of ‘sed’ command avoiding repeating attributes.
Fix IP alias detach so it does not removes VM vNICs from bridge ports (OVS).
Fix schedule action is not setting the right day of the week in Sunstone on checkmark box.
Fix the template update process to ensure that restricted attributes are always kept. It’s worth noting that previous versions silently ignored the removal of restricted attributes. However, with this patch, an error will be generated in such cases.
Disable change owner and change group for public MarketPlaces.