Platform Notes

This page will show you the specific considerations at the time of using an OpenNebula cloud, according to the different supported platforms.

This is the list of the individual platform components that have been through the complete OpenNebula Quality Assurance and Certification Process.

Certified Components Version

Front-End Components

Component Version More information
RedHat Enterprise Linux 7 Front-End Installation
Ubuntu Server 16.04 (LTS), 18.04 (LTS), 18.10 Front-End Installation
CentOS 7 Front-End Installation
Debian 9 Front-End Installation
MariaDB or MySQL Version included in the Linux distribution MySQL Setup
SQLite Version included in the Linux distribution Default DB, no configuration needed
Ruby Gems Versions installed by packages and install_gems utility front-end installation
Corosync+Pacemaker Version included in the Linux distribution Front-end HA Setup

vCenter Nodes

Component Version More information
vCenter 6.0/6.5/6,7, managing ESX 6.0/6.5/6.7 vCenter Node Installation

KVM Nodes

Component Version More information
RedHat Enterprise Linux 7 KVM Driver
Ubuntu Server 16.04 (LTS), 18.04 (LTS), 18.10 KVM Driver
CentOS 7 KVM Driver
Debian 9 KVM Driver
KVM/Libvirt Support for version included in the Linux distribution. For CentOS/RedHat the packages from qemu-ev are used. KVM Node Installation

LXD Nodes

Component Version More information
Ubuntu Server 16.04 (LTS), 18.04 (LTS), 18.10 (stable) LXD Driver
LXD Support for LXD >= 3.0.0, either snap or system package LXD Node Installation

Open Cloud Networking Infrastructure

Component Version More information
ebtables Version included in the Linux distribution Ebtables
8021q kernel module Version included in the Linux distribution 802.1Q VLAN
Open vSwitch Version included in the Linux distribution Open vSwitch
iproute2 Version included in the Linux distribution VXLAN

Open Cloud Storage Infrastructure

Component Version More information
iSCSI Version included in the Linux distribution LVM Drivers
LVM2 Version included in the Linux distribution LVM Drivers
Ceph Hammer (LTS) v0.94, Jewel v10.2.0 The Ceph Datastore


Component Version More information
net-ldap ruby library 0.12.1 LDAP Authentication
openssl Version included in the Linux distribution x509 Authentication

Cloud Bursting

Component Version More information
aws-sdk 2.5.10 Amazon EC2 Driver
azure 0.7.9 Azure Driver
one-to-one 1.0.0 OpenNebula Driver

Application Containerization

Component Version
Docker 18.03.0-ce
Docker Machine 0.13.0
Appliance OS Ubuntu 16.04


Browser Version
Chrome 61.0 - 67.0
Firefox 59.0 - 61.0
IE 11.0


For Windows desktops using Chrome or Firefox you should disable the option touch-events of your browser:

Chrome: chrome://flags -> #touch-events: disabled. Firefox: about:config -> dom.w3c_touch_events: disabled.

Internet Explorer is not supported with the Compatibility Mode enabled, since it emulates IE7 which is not supported.

VMware Cloud on AWS

OpenNebula has been validated and is supported on VMware Cloud on AWS. Customers can contact the support team through the commercial support portal to know specific configuration and limitations.


Generally for all Linux platforms, it is worth noting that gems should be installed with the install_gems, avoiding the platform’s package version.

Certified Infrastructure Scale

A single instance of OpenNebula (ie, a singled ‘oned’ process) has been stress tested to cope with 500 hypervisors without performance degradation. This is the maximum recommended configuration for a single instance, and depending on the underlying configuration of storage and networking mainly, it is recommended to switch to a federated scenario for any larger number of hypervisors.

However, there are several OpenNebula users managing significant higher number of hypervisors (in the order of two thousand) with a single instance, this largely depends as mentioned on the storage, networking and also monitoring configuration.

Frontend Platform Notes

The following applies to all Front-Ends:

  • XML-RPC tuning parameters (MAX_CONN, MAX_CONN_BACKLOG, KEEPALIVE_TIMEOUT, KEEPALIVE_MAX_CONN and TIMEOUT) are only available with packages distributed by us as they are compiled with a newer xmlrpc-c library.
  • For cloud bursting, a newer nokogiri gem than the one packed by current distros is required. If you are planning to use cloud bursting, you need to install nokogiri >= 1.4.4 prior to run install_gems: # sudo gem install nokogiri -v 1.4.4.
  • Only ruby versions >= 1.9.3 are supported.

Ubuntu 18.10 Platform Notes

LXD comes by default as an installed snap package. There are issues when $HOME is not inside /home which affects oneadmin user whose $HOME is /var/lib/one resulting in oneadmin being unable to use lxc commands. Almost 100% of the LXD driver code uses REST to interact with LXD, however some features and the ability to manage the host as oneadmin will be crippled when using 1810. To fix this, one should run oneadmin commands using sudo.

snapd installs LXD with different id mappings, the default profile configured by opennebula-node-lxd package sets up the adequate configuration, when applying a different profile to a container ensure this one has the correct id mappings. A quick way to ensure this, is cloning the default profile via:

# lxc profile copy default new_profile

Ubuntu 18.04 Platform Notes

Essential Ruby library xmlrpc is missing from Ruby 2.4.0 and above. The library is required by many OpenNebula parts and also the CLI tools. To get the missing library, gem xmlrpc needs to be installed via tool install_gems, or the gem command:

# sudo gem install xmlrpc

Ubuntu 16.04 Platform Notes

By default it comes with lxd 2, lxd3 should be installed from xenial-backports. Make sure you have backports enabled in sources.list

# apt-get -t xenial-backports install lxd

Resizing ext4 filesystems of LXD containers will fail due to outdated e2fsck package

CentOS 7.0 Platform Notes

This distribution lacks some packaged ruby libraries. This makes some components unusable until they are installed. In the front-end, just after package installation these commands should be executed as root to install extra dependencies:

# /usr/share/one/install_gems

When using Apache to serve Sunstone, it is required that you disable or comment the PrivateTMP=yes directive in /usr/lib/systemd/system/httpd.service.

There is an automatic job that removes all data from /var/tmp/, in order to disable this, please edit the /usr/lib/tmpfiles.d/tmp.conf and remove the line that removes /var/tmp.

There is a bug in libvirt that the prevents the use of the save/restore mechanism if cpu_model is set to 'host-passthrough' via RAW. The work around if needed is described in this issue.

Debian 8

Make sure that the packages ruby-treetop and treetop are not installed before running ìnstall_gems, as the version of treetop that comes packaged in Debian 8 is incompatible with OpenNebula. OneFlow requires a version >= 1.6.3 for treetop, packages distributed with Debian 8 includes an older version (1.4.5).

Nodes Platform Notes

The following items apply to all distributions:

  • Since OpenNebula 4.14 there is a new monitoring probe that gets information about PCI devices. By default it retrieves all the PCI devices in a host. To limit the PCI devices that it gets info and appear in onehost show refer to PCI Passthrough.
  • When using qcow2 storage drivers you can make sure that the data is written to disk when doing snapshots setting its cache parameter to writethrough. This change will make writes slower than other cache modes but safer. To do this edit the file /etc/one/vmm_exec/vmm_exec_kvm.conf and change the line for DISK:
DISK = [ driver = "qcow2", cache = "writethrough" ]

CentOS/RedHat 7.0 Platform Notes

Ruby Dependencies

In order to install ruby dependencies, the Server Optional channel needs to be enabled. Please refer to RedHat documentation to enable the channel.

Alternatively, use CentOS 7 repositories to install ruby dependencies.

Libvirt Version

The libvirt/qemu packages used in the testing infrastructure are the ones in the qemu-ev repository. To add this repository you can install the following packages:

yum install centos-release-qemu-ev
yum install qemu-kvm-ev

Disable PolicyKit for Libvirt

It is recommended that you disable PolicyKit for Libvirt:

$ cat /etc/libvirt/libvirtd.conf
auth_unix_ro = "none"
auth_unix_rw = "none"
unix_sock_group = "oneadmin"
unix_sock_ro_perms = "0770"
unix_sock_rw_perms = "0770"

Unsupported Platforms Notes


Use the following distributions at your own risk. They are not officially supported by OpenNebula.

Ubuntu 14.04 Platform Notes

Package ruby-ox shouldn’t be installed as it contains a version of the gem incompatible with the CLI

CentOS 6.5 Usage Platform Notes

  • As a front-end, because home directory of oneadmin is located in /var, it violates SELinux default policy. So in ssh passwordless configuration you should disable SELinux by setting SELINUX=disabled in /etc/selinux/config.
  • As a node, to accomplish disk hotplugging:
    • to accomplish disk hotplugging, disks need to be attached through SCSI, so their images should have a DEV_PREFIX=“sd”
    • to accomplish disk hotplugging, VM template that will permit SCSI disk attaches afterwards needs to have an explicitly defined SCSI controller:
  RAW=[TYPE = "kvm",
       DATA = "<devices><controller type='scsi' index='0' model='virtio-scsi'></controller></devices>"]

* due to libvirt version < = 0.10.2, there is a bug in libvirt/qemu attach/detach nic functionality that prevents the reuse of net IDs. This means that after a successful attach/detach NIC, a new attach will fail.

Installing on ArchLinux

OpenNebula is available at the Arch User Repository (AUR), please check the opennebula package page.

Installing on Gentoo

There is an ebuild contributed by Thomas Stein in the following repository:

Still, if you want to compile it manually you need to install the xmlrpc-c package with threads support, as:

USE="threads" emerge xmlrpc-c

Installing on Devuan

Packages for Devuan Jessie 1.0 Beta are provided by Alberto Zuin. You can download them at: