How to Upgrade from Community to Enterprise Edition


This article shows how to do an OpenNebula upgrade from the Community version (CE) to the Enterprise Edition (EE). This is especially interesting for those customers with existing OpenNebula (CE) deployments who have just contracted an Enterprise Subscription.

The process of updating from CE to EE is not different from upgrading CE to CE or EE to EE. There are two main differences that are detailed in this article, mainly the need to configure the EE repositories, and the possibility to use the onecfg tool to handle configuration files upgrades.

1. Configure the OpenNebula Enterprise Edition Repositories

To access to the Enterprise Edition, customers need to setup the OpenNebula Enterprise Edition repositories .


Edit the /etc/yum.repos.d/opennebula.repo configuration file as follows:

name=OpenNebula Enterprise Edition


  • TOKEN is the customer credentials you have received with format USER:PASSWORD (both parts of the token are set of random characters, e.g. IyLBhWwg:QU8uJeZt).
  • OS_VERSION is the version of the CentOS/RHEL (e.g. 8).

For Debian/Ubuntu

Ensure you have gnupg, wget and apt-transport-https packages installed:

# apt update
 # apt -y install gnupg wget apt-transport-https

Then edit the /etc/apt/sources.list.d/opennebula.list configuration file:

deb https://<TOKEN><OS>/<OS_VERSION> stable opennebula


  • TOKEN is the customer credentials you have received with format USER:PASSWORD (both parts of the token are set of random characters, e.g. IyLBhWwg:QU8uJeZt).
  • OS is OS distribution (e.g. Debian or Ubuntu).
  • OS_VERSION is the OS version (e.g. 20.04 for Ubuntu or 10 for Debian).

Finally run:

# apt update

Following Debian 10 and Ubuntu 16.04, it’s now possible (and recommended) to store a customer token in a separate file to the repository configuration. If you choose to store the repository credentials separately, you need to avoid using the TOKEN part in the repository definitions above. You should create a new file /etc/apt/auth.conf.d/opennebula.conf with the following structure and replace the USER and PASSWORD parts with the customer credentials you have received:


2. Upgrade to New Version

The documentation guide describes the upgrade procedure in detail, please follow it to update your OpenNebula version. 

The difference with a regular CE update is in Step 6 Update Configuration Files. OpenNebula Enterprise Edition comes with the dedicated tool onecfg, which automates and simplifies the upgrade of configuration files.

First, run onecfg status to check the current OpenNebula and Configuration versions and check if there are configuration updates. For example:

# onecfg status
--- Versions ------------------------------
OpenNebula:  6.0.2    

--- Backup to Process ---------------------
Snapshot:    /var/lib/one/backups/config/2021-06-25_09:46:38-v5.12.0.4
(will be used as one-shot source for next update)

--- Available Configuration Updates -------
New config:  6.0.0    
- from 5.12.0 to 6.0.0 (YAML,Ruby)

If there are available configuration updates, run onecfg upgrade. For example:

# onecfg upgrade
  ANY : Found backed up configuration to process!
  ANY : Snapshot to update from '/var/lib/one/backups/config/2021-06-25_09:46:38-v5.12.0.4'
  ANY : Backup stored in '/var/lib/one/backups/config/2021-06-25_09:53:25_23568'
  ANY : Configuration updated to 6.0.0

Finally, if the configuration upgrade was successful, by running onecfg status again you'll see there is no available configuration updates available. For example:

# onecfg upgrade
 # onecfg status
  --- Versions ------------------------------
  OpenNebula: 6.0.2
  Config: 6.0.0

  --- Available Configuration Updates -------
  No updates available.
Was this article helpful?
0 out of 0 found this helpful



Please sign in to leave a comment.