Issue
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 much 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 . Examples for some Linux distros are shown below.
For RHEL
Edit the /etc/yum.repos.d/opennebula.repo configuration file as follows:
cat << "EOT" > /etc/yum.repos.d/opennebula.repo
[opennebula]
name=OpenNebula Enterprise Edition
baseurl=https://enterprise.opennebula.io/repo/7.4/RedHat/$releasever/$basearch
username=<user>
password=<password>
enabled=1
gpgkey=https://downloads.opennebula.io/repo/repo2.key
gpgcheck=1
repo_gpgcheck=1
EOT
chmod 600 /etc/yum.repos.d/opennebula.repo
dnf makecacheWhere:
- <user> is first part of the token you have received with format USER:PASSWORD
-
<password> is second part of the token
(both parts of the token are set of random characters, e.g. IyLBhWwg:QU8uJeZt).
After the repository file has been updated, please run:
dnf upgrade opennebulaFor AlmaLinux
Edit the /etc/yum.repos.d/opennebula.repo configuration file as follows:
cat << "EOT" > /etc/yum.repos.d/opennebula.repo
[opennebula]
name=OpenNebula Enterprise Edition
baseurl=https://enterprise.opennebula.io/repo/7.4/AlmaLinux/$releasever/$basearch
username=<user>
password=<password>
enabled=1
gpgkey=https://downloads.opennebula.io/repo/repo2.key
gpgcheck=1
repo_gpgcheck=1
EOT
chmod 600 /etc/yum.repos.d/opennebula.repo
dnf makecacheWhere:
- <user> is first part of the token you have received with format USER:PASSWORD
-
<password> is second part of the token
(both parts of the token are set of random characters, e.g. IyLBhWwg:QU8uJeZt).
After the repository file has been updated, please run:
dnf upgrade opennebulaFor Ubuntu 24.04
Ensure you have gnupg, wget and apt-transport-https packages installed:
apt update
apt -y install gnupg wget apt-transport-httpsThen edit the /etc/apt/sources.list.d/opennebula.list configuration file:
cat << "EOT" > /etc/apt/auth.conf.d/opennebula.conf
machine enterprise.opennebula.io
login <user>
password <password>
EOT
chmod 600 /etc/apt/auth.conf.d/opennebula.conf
echo "deb [signed-by=/etc/apt/keyrings/opennebula.gpg] https://enterprise.opennebula.io/repo/7.4/Ubuntu/24.04 stable opennebula" > /etc/apt/sources.list.d/opennebula.list
apt-get updateWhere:
- <user> is first part of the token you have received with format USER:PASSWORD
-
<password> is second part of the token
(both parts of the token are set of random characters, e.g. IyLBhWwg:QU8uJeZt).
Finally run:
apt upgrade
For Ubuntu 26.04
Ensure you have gnupg, wget and apt-transport-https packages installed:
apt update
apt -y install gnupg wget apt-transport-httpsFollowing 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 and replace the <user> and <password> parts with the customer credentials you have received:
cat << "EOT" > /etc/apt/auth.conf.d/opennebula.conf
machine enterprise.opennebula.io
login <user>
password <password>
EOT
chmod 600 /etc/apt/auth.conf.d/opennebula.confWhere:
- <user> is first part of the token you have received with format USER:PASSWORD
-
<password> is second part of the token
(both parts of the token are set of random characters, e.g. IyLBhWwg:QU8uJeZt).
Then create or override the /etc/apt/sources.list.d/opennebula.list configuration file:
echo "deb [signed-by=/etc/apt/keyrings/opennebula.gpg] https://enterprise.opennebula.io/repo/7.4/Ubuntu/26.04 stable opennebula" > /etc/apt/sources.list.d/opennebula.listUbuntu 26.04 ships Node.js 22 in its base repositories, but OpenNebula FireEdge requires Node.js 20, which is provided by the OpenNebula repository. Add an APT pin so that apt installs Node.js 20 from the OpenNebula repository instead of the newer version shipped by Ubuntu:
cat << "EOT" > /etc/apt/preferences.d/opennebula-nodejs
Package: nodejs
Pin: release o=OpenNebula
Pin-Priority: 600
EOT
apt-get updateFinally run:
apt upgrade
How to configure OpenNebula EE repository for other supported distros, please, refer to our documentation.
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 7. 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
Config: 5.12.0.4
--- 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)
In case of invalid metadata as shown below:
onecfg status
--- Versions ------------------------------
OpenNebula: 7.4.1
Config: 7.4.1
ERROR: Configurations metadata are outdated.re-initialize the configuration metadata:
onecfg init --forceIf there are available configuration updates, run onecfg upgrade command. 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.0Finally, if the configuration upgrade was successful, by running onecfg status again you'll see there is no available configuration updates available. For example:
onecfg status
--- Versions ------------------------------
OpenNebula: 7.4.1
Config: 7.4.1
--- Available Configuration Updates -------
No updates available.
Comments
Please sign in to leave a comment.