Upgrade Abiquo 3.x Versions

Prerequisites

You can upgrade from any version of Abiquo 3.0.0-GA or 3.x version to the latest Abiquo version.

Remember to:

  • stop services
  • check for queued jobs or conversions 
  • perform a full backup.

Note about UI configuration

  • The upgrade will OVERWRITE lang_en_US.json. If you have custom labels or translations, back them up before the upgrade and add them afterwards as lang_xx_XX_custom.json
  • The upgrade deprecates client-config.json. Add custom configuration to client-config-custom.json after the upgrade

See Prepare to Upgrade Abiquo 3.x Versions

 

Perform the packages upgrade

This step must be done on all Abiquo servers, including Abiquo Management Server, Remote Services, KVM Servers and LVM Servers.

Configure Repositories

Remove previous repo packages

yum remove abiquo-release*

Install destination repo package

There is one package for each major version that installs base and update repositories. Please locate the abiquo-release-ee package of your destination version and install it with the following command. This example is for the latest Abiquo major version of 3.6.

yum localinstall http://mirror.abiquo.com/abiquo/3.6/os/x86_64/abiquo-release-ee-3.6.0-2.el6.noarch.rpm

Update yum cache

yum clean all && yum makecache

Update abiquo packages

yum update 'abiquo-*' && yum update jdk

Update databases

This step must be done on the database server.

Main Abiquo database

 Ensure your hostname is in your DNS or in your /etc/hosts file.
abiquo-liquibase [-h DB hostname] [-P DB port] [-u user] [-p password] update

There is a known issue with upgrades from 3.2 versions where the following message appears and the liquibase update fails: 

Liquibase update Failed: Validation Failed:
1 change sets check sum
src/X.X.X-XX/kinton-X.X.X.xml::ABICLOUDPREMIUM-XXXX-XxxxxxxxXXxXxxxxxxXxxxxx::XXXXXXXXX is now: 7:ee2fa6e058ec76c7abf801567898917d
For more information, use the --logLevel flag

This can be easily solved by executing the following command and retrying the abiquo-liquibase update command.

abiquo-liquibase clearCheckSums

 

Additional steps for intermediate versions

Start with your original version and perform all the steps to the final version.

All scripts are located on the Abiquo Server.

 Start here if you are upgrading from Abiquo 3.0

In 3.1 we introduced credentials encryption.

First install the new encryption libraries for Java 8

Upgrade from Abiquo 3.1.x to 3.2.x

To cypher your current credentials, please follow these instructions:

Upgrade from Abiquo 3.0.1 to 3.1

Now continue with the sections for the following 3.x versions

 Start here if you are upgrading from Abiquo 3.1

If you are upgrading from 3.1, Abiquo 3.2 requires a new Java Cryptography Extension (JCE) libraries for Java 8 so you will need to install the new encryption libraries.

Upgrade from Abiquo 3.1.x to 3.2.x

Upgrade redis schema

Execute the Redis delta script on each Abiquo Server running Redis (Abiquo Server and Abiquo RS nodes) to update the schema to the 3.2 version. This script can be found on following path on the Abiquo Server

/usr/share/doc/abiquo-server/redis/3.2.0/redis-delta-3.0_to_3.2.py

And in the next path in the Abiquo Remote services

/usr/share/doc/abiquo-remote-services/redis/3.2.0/redis-delta-3.0_to_3.2.py

Now continue with the sections for the following 3.x versions

 Start here if you are upgrading from Abiquo 3.2

Execute this script on the Abiquo Management Server:

/usr/share/doc/abiquo-server/redis/3.4.0/00-failed-templates.sh

And this other script on the Abiquo Remote Services:

/usr/share/doc/abiquo-remote-services/redis/3.4.0/01-old-vsm-definitions.sh

Now continue with the sections for the following 3.x versions

 Start here if you are upgrading from Abiquo 3.4

Execute this script on the Abiquo Management Server:

yum -y install python-redis
python /usr/share/doc/abiquo-server/redis/3.6.0/02-null-creation-timestamp.py

And this other script on the Abiquo Remote Services:

yum -y install python-redis
/usr/share/doc/abiquo-server/redis/3.6.0/00-old-vsm-definitions.sh
python /usr/share/doc/abiquo-remote-services/redis/3.6.0/01-vdc-provider-id.py
 Upgrade to Abiquo 3.6.x

Execute this script on the Abiquo Remote Services:

python /usr/share/doc/abiquo-remote-services/redis/3.6.2/00-digitalocean-v2.py

Configuration

Add Abiquo Configuration Properties to the abiquo.properties file as required.

UI configuration

After the upgrade is complete, perform the UI configuration. The default UI location in Abiquo 3.x is /var/www/html/ui

  • Add custom labels and translations in the lang_xx_XX_custom.json files in the lang folder
  • Add custom configuration to client-config-custom.json

      • The essential UI configuration is the API endpoint pointing to your Abiquo API server

        {
            "config.endpoint": "http://myAbiquoAPIServer/api"
        }
     
Unable to render {include} The included page could not be found.