This section describes how to upgrade from Abiquo 5.2.0 or above to an Abiquo 5.3.x version.
Please contact Abiquo Support for further information.
Abiquo YUM repositories are no longer open, please contact Abiquo Support to obtain your credentials
This upgrade process starts from Abiquo 5.2.0 or above. To upgrade from earlier versions, please see Upgrade Abiquo
The upgrade to Abiquo 5.3 includes a migration to provider ID as the identifier of a deployed VM.
Prepare the provider ID migration before your upgrade. See Create a test VM and run PIM planner on a database dump
Before you shut down the platform servers you should check that no operations are in progress.
Check that the Abiquo RabbitMQ queues are empty on the Abiquo Monolithic Server, Abiquo Server or Datanode server
The number of messages in all queues must be 0.
On the V2V Server, check for any active conversions by checking for the V2V or Mechadora processes
When users' VM operations are blocked and all of the above checks show that no tasks are running, it is safe to halt the platform.
Before you begin, stop platform services and check you have enough space on your destination systems
Back up the Abiquo MySQL DBs with the date in timestamp format.
Dump the Redis datastore and back it up.
Back up /opt/abiquo folder on all Abiquo platform servers.
Back up the UI
if there are operations in progress, DO NOT STOP the platform services because this can cause serious issues with your platform.
See Check for operations in progress on the platform and wait for all operations to complete
To stop platform services:
Stop the API on the API Server or Monolithic Server
Stop the UI on the API Server or Monolithic Server or dedicated UI Server
Stop Remote Services server
Stop RabbitMQ (on the Monolithic Server or API Server or Datanode)
Stop Monitoring server
On the Monitoring server, check if Cassandra is really dead
Get the process number for Cassandra (the first number in the output of the previous command), and kill it. In this example, Cassandra is process 12345.
All processes on platform servers should now be halted.
This is a major upgrade, so we recommend that you make a snapshot and/or a backup of your platform servers.
Check that you have the repository URL and credentials
To upgrade to a version with a patch number of zero, for example, version 5.3.0
Remove the previous version Abiquo release packages.
Locate the corresponding abiquo-release-ee package in the list of available versions
Install the release package. For Abiquo 5.3.0, the command would be similar to the following
Check that you have the repository URL and credentials
To upgrade to a version with patch number that is not zero, for example, version 5.3.x, enable both repositories:
Optionally add your username and password to the Abiquo repos
Don't forget to use a backslash to escape any shell special characters. For more details, see https://www.oreilly.com/library/view/learning-the-bash/1565923472/ch01s09.html
Clean yum and make cache
If you did not make snapshots of all servers already, then you could do this now.
These instructions are for monolithic, distributed, and HA environments.
Update Abiquo packages:
The Abiquo services must run as the tomcat user (not root), so set the required permissions and enforce the use of the package configuration files.
If you have a MONOLITHIC SERVER do all of the following steps on the Monolithic server
On Abiquo Server and Remote Services
On the Remote Services with Appliance Manager and the V2V Server (i.e. servers that mount the NFS repository)
On the V2V server, check the /etc/sysconfig/abiquo/ec2-api-tools file exists.
The file must contain the following configuration. If the file does not exist, create it and add this configuration.
Check that your hostname is in your DNS or in your /etc/hosts file
Upgrade the Abiquo API databases
If the liquibase update fails with a message similar to the following:
Do the following steps
Clear the database checksums
To upgrade the Abiquo Watchtower database, on the monitoring appliance, run the command below:
For the upgrade to Abiquo 5.3, perform the provider ID migration using the PIM tools.
The PIM planner will process each deployed VM to:
The PIM planner doesn't make any changes to the platform but you must run it after you upgrade the database to Abiquo 5.3.
What is the output of the PIM planner?
The PIM planner requires access to the MariaDB kinton schema via the JDBC URL.
To run the PIM planner do these steps.
Run the Abiquo upgrade to 5.3 and stop after the database upgrade
On the Abiquo API Server, install the Abiquo PIM tools package
By default, it should install in the /opt/abiquo/pim-tools folder
Run the PIM planner against your database.
We strongly reccommend that you redirect the log in the standard output of the PIM planner to a file.
Kinton JDBC URL including user and password
The output file. The default is 'migration-plan.data'
What does it output?
The PIM migrator requires the following.
Do these steps.
Do these steps to run the PIM migrator.
Before you run the PIM migrator on your production servers:
Log in to ALL Remote Services Servers and do these steps on EACH server.
Install the PIM tools
The default install folder is /opt/abiquo/pim-tools
Obtain the datacenter-id of the Remote Services server from the value of the abiquo.datacenter.id property in the abiquo.properties file.
In this case, the value of the datacenter-id parameter will be "abq_dc1"
Run the PIM migrator in dry run mode, which is the default mode that doesn't make any changes.
The "-noseed" parameter is required. The default value is false, which means the migrator will use the platform's default seed file. You can specify a seed file with the "-seed" parameter.
We recommend that you save the log in standard output to a file. And we recommend that you give the output files names that will identify the Remote Services server.
Run the PIM migrator in update mode, by setting the "no dry run" option to true.
Copy the SQL file from the Remote Services server to the Abiquo database server.
After you run the migrator on ALL Remote Services servers, run the SQL upgrades on the database server as described in the next step.
Update the Abiquo database server
Update the Abiquo database with all of the update.sql files. For example
Now continue with the Abiquo upgrade
ID of the current datacenter to migrate
Set to 'true' in order to perform the changes (default: false)
If true, don't use a seed file and ignore the seed property value (default: false)
SQL output file (by default 'update.sql')
Migration plan data file
Redis server host for this datacenter
Redis server port for this datacenter (by default 6379)
Seed file (by default '/etc/abiquo/.store')
The migrator does not process the following providers.
For Google Cloud Platform, if you have VMs deployed before the upgrade, after you apply the PIM tools, do these steps:
By default, you will find the upgrade scripts (e.g. for Redis definitions) on the Abiquo Server under the folder: /usr/share/doc/abiquo-redis/redis/
For each upgrade step, run the Redis database script to remove old VSM definitions, which can be found in the 4.2.3 subfolder
On Remote Services server:
Run Redis database script
These scripts can always be found on the Abiquo Server.
On each Remote Services server (including Monolithic sever) or Datanode server run the Redis scripts
Before you start the Abiquo tomcat server, add Abiquo Configuration Properties to the abiquo.properties file.
By default the abiquo.properties file is found in the /opt/abiquo/config/ folder.
See Changes to Abiquo Configuration Properties
Configure the user interface. The default UI location is /var/www/html/ui.
Optional: 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. See Configure Abiquo UI
If your API is not in the same domain as the UI, set the API endpoint pointing to your Abiquo API server:
SAML: If you are using SAML with multiple IDPs, restore the configuration as described at Restore SAML security beans after upgrade.
Reporting changes: To upgrade the Abiquo Reports Server for the upgrade to Abiquo 5.3.x, contact Abiquo Support.
To start the Abiquo platform servers and services, do these steps:
On the Abiquo Server, restart the HTTP daemon to refresh the user interface files, and bring up the Tomcat server.
On the Remote Services server, start the Tomcat server
On the Monitoring Server, start the Cassandra service
Start the KairosDB service
WAIT about 1 minute until the service is up and running. If the startup process fails and there are entries in the log file `/opt/kairosdb/log/kairosdb.log` that look like this "Unable to setup cassandra schema com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed", then:
Start the other services in this order