What’s New in 6.0

OpenNebula 6.0 ‘Mutara’ is the first stable release of the new OpenNebula 6 series. This release comes with a significant number of new functionalities, among which we can highlight the maturity of the new innovative edge features developed in the context of the ONEedge innovation project to deploy on-demand distributed edge cloud environments based on OpenNebula. These new edge computing features enable IT organizations to deploy true hybrid and multi-cloud environments that avoid vendor lock-in, reducing operational costs, expanding service availability, and enabling new ultra-low latency applications. Organizations maintain a single control panel with centralized operations and management that abstracts cloud functionality and ensures portability across clouds. IT organizations can now automatically deploy and manage multiple Kubernetes clusters across edge locations to enable truly multi-tenant and large-scale container orchestration.

These new edge features in OpenNebula 6.0 include:

  • A powerful distributed cloud architecture for OpenNebula that is composed of Edge Clusters that can run any workload—both virtual machines and application containers— on any resource—bare metal or virtualized— anywhere—on-premises and on a cloud provider. This hyperconverged edge cloud solution maximizes workload performance and availability, and comes with a native 3-tier storage architecture that simplifies and speeds up the deployment of containers and services across edge locations.
  • A fully-featured command line interface and a modern, slick web interface—FireEdge—to easily manage public cloud and edge providers, as well as the seamless provisioning of OpenNebula’s Edge Clusters. You can quickly expand your OpenNebula cloud on demand with third-party resources thanks to this point and click interface and create an “Edge as a Service” environment in just a few minutes!
  • A first set of templates and drivers to expand your OpenNebula cloud using AWS and Equinix Metal resources, creating Edge Clusters based on LXC, KVM, and Firecracker.
  • The new support for Dockerfiles and a revamped Marketplace for VM templates, which now is able to store service templates, which considerably improves user experience in the execution of complex container workflows, multi-tier services and management of CNCF-certified Kubernetes clusters on the edge.
../../_images/fireedge_for_rns.png

Additionally, OpenNebula 6.0 ‘Mutara’ comes with the following goodies:

  • There have been a multitude of improvements in Sunstone: revamped VNC dialogs, asynchronous operation warnings, extra information for OneFlow services, NUMA placement for VMware VMs, etc. Additionally, a new FireEdge server is now shipped with OpenNebula, enabling new functionality in Sunstone—OpenNebula’s WebUI: auto refresh for VM and Host states, VMRC console access for VMware VMs, Guacamole VNC/SSH and RDP, and more.
  • Support for VM Backups, periodically save the data of your VMs in a remote storage location set up as a private Marketplace.
  • Several OneFlow improvements, mostly related to the life cycle management of OneFlow Services, both in the engine and the GUI.
  • Hypervisor driver improvements like vSphere 7 support and additional VM tuning parameters for KVM. OpenNebula 6.0 also features a new driver for LXC containers, easing the use of containerized apps across platforms.
  • Support for containerized deployment of OpenNebula Front-end.

As usual, OpenNebula 6.0’s codename refers to a nebula, in this case to the Mutara Nebula, an interstellar dust cloud located in the Mutara sector of the Beta Quadrant. In 2285, it was the site of the epic battle between the USS Reliant (commanded by the infamous Khan Noonien Singh) and the USS Enterprise (commanded by Captain James T. Kirk), which ended [Spoiler Alert] with the detonation of the Genesis Device and the USS Enterprise making a last-minute escape thanks to the dramatic self-sacrifice of Mr Spock—as seen in Star Trek II: The Wrath of Khan :)

OpenNebula 6.0 Mutara is considered to be a stable release and as such it is available to update production environments.

In the following list you can check the highlights of OpenNebula 6.0 (a detailed list of changes can be found here):

OpenNebula Core

  • Built-in VM Backup mechanism for all supported hypervisors: LXC, KVM, Firecracker, and vCenter/ESX.
  • Add option set cold migration mode for rescheduling. See Scheduler configuration.
  • Add option to create formatted datablocks. See Image template.
  • Add support for document encrypted attributes. Check this for more information.
  • Allow ‘onevm disk-saveas’ in undeployed and stopped state. See disk-saveas.
  • Terminate oned in HA in case of lost DB connection. Configured by ERRORS_LIMIT in oned.conf.
  • Unique VM identification allows you to force a uuid to a VM. See UUID in VM template.
  • Enable live CPU and memory resize

Storage

Networking

  • VXLAN attributes can be defined per network as well as system-wide in OpenNebulaNetwork.conf file.

Sunstone

  • Add option to disable network configuration for service template instantiation. Check more information here.
  • Service registration time has been added to service templates. Available in Sunstone, enabled by default in services instances views.
  • Added remove template and images when deleting a service. Check for more information here.
  • Add option for automatic deletion of services when all associated VMs terminated. Check more information here.
  • Massively improved options for VM console access through Sunstone: add Guacamole support, including VNC, RDP and SSH, and added VMRC support through Sunstone.
  • Allow the attachment of external NIC alias. Check more information here.
  • Added states to role actions buttons. Check for more information here.
  • Add EXTERNAL NIC attribute to VM IPs on Sunstone. Check more information here.
  • Add error message for asynchronous actions on Sunstone. Check more information here.
  • Update Sunstone Host and VMs datatable columns. Check more information here.
  • Added option to enable/disable users on Sunstone. Check more information here.
  • Add support to avoid importing VM Template from the Marketplace. Check more information here.
  • NUMA-aware placement for vCenter. Check more information here.
  • Added Dockerfile support for image create here.
  • Allow charters’ configuration within service Template here.
  • Added show information of charters in service list here.
  • Added option to hide scheduled actions on VM instantiate. Check more information here.
  • Add new Sunstone labels normalization. Check more information here.
  • Add option to change boot device when instantiating a VM Template. Check more information here.
  • Add option to set VM Backups. Check more information here.
  • Add option to format Datablocks. Check more information here.
  • Add option to purge services in DONE state. Check more information here.
  • Add option to set IOTHREAD id on disks in Sunstone. Check more information here.
  • Connection RDP can change resolution screen in Sunstone.

Scheduler

OneFlow & OneGate

  • Registration time has been added to service templates. Check more information here.
  • Start time has been added to services. Check more information here.
  • Add new option to delete VM templates associated with a service template when deleting it. Check more information about new parameters here.
  • Add option to automatically delete service if all VMs have been terminated. Check more information here.
  • DONE and POWEROFF VM states are considered in transient states (DEPLOYING and SCALING) to avoid service hangs. Check more information here.
  • Purge done operation has been implemented in order to remove services in DONE state. You can check more information here.

CLI

  • CLI can output JSON and YAML formats, e.g: onevm list --json or onevm show --yaml 23
  • Command to disable and enable user. Disabled users can’t execute any commnad and can’t log in to Sunstone.
  • Configuration management tool onecfg with new ad-hoc patch functionality is part of server package. See documentation here.

onedb

  • version command has been improved to be aware of available upgrades. An example is available here.
  • upgrade command has been improved to create backup only if necessary. Also, --no-backup has been added to always avoid backup creation.

Distributed Edge Provisioning

  • Provision information is stored using a JSON document. New commands have been also added in the CLI; you can check all the information here.
  • Provider concept has been included in OpenNebula; you can check all the information here.
  • Provision operations have been implemented using Terraform. The same functionality is supported, but actions are triggered using Terraform.
  • Count attribute has been addded. This allows you to create multiple identical Hosts. Check more information here.
  • ERB syntax has been changed to a new syntax. Check more information here.
  • Dynamic user inputs have been added. This allow you to set multiple values inside the template. Check more information here.

Packaging

  • OpenNebula package names are unified across distributions, see here.
  • Container images with OpenNebula Front-end, see here.

KVM

VMware Virtualization Driver

  • Import secondary IPs as a NIC_ALIAS in OpenNebula; see here.
  • Use a specific VM Template in vCenter when importing Marketplace apps; see here.
  • Assign VCENTER_VM_FOLDER automatically per user or group; see here.
  • Option to avoid deleting disk not managed in OpenNebula; see here.
  • Fix import networks in vCenter with special characters.
  • Support for VMRC (VMware Remote Console) (VMware Remote Console) <>` connectivity in Sunstone for vCenter VMs.
  • Support for vSphere 7.0; see here.

DockerHub

  • Dockerfiles used to download images from DockerHub have been moved to external templates so they can be customized. You can find them in the /usr/share/one/dockerhub directory.
  • Export of Docker Hub images into OpenNebula preferably uses FUSE-based ext2/3/4 mounts on Front-end, instead of kernel native mounts.
  • Add support to create images from Dockerfile specification. Check this for more information.

MarketPlace

  • Add support for service templates; check this for more information.

Hooks

  • Change the way arguments are passed to host_error.rb from command line to standard input to avoid potential argument overflow issue. When upgrading from previous OpenNebula versions, if Host Failures is configured, it is necessary to update the hook (onehook update) with ARGUMENTS_STDIN = "yes".