Upgrade Abiquo 5.4 to 6.0.x distributed by servers

Table of contents

This section describes how to upgrade from Abiquo 5.4 to any Abiquo 6.0.x version. Please contact Abiquo Support for further information.


This is a non-official upgrade document from which you can easily cut and paste the commands for each to prepare your own upgrade document.

  • The official upgrade document, that you must read and refer to for your upgrade is still Upgrade Abiquo

Abiquo YUM repositories are no longer open, please contact Abiquo Support to obtain your credentials

This upgrade process starts from Abiquo 5.4.0 or above. To upgrade from earlier versions, please see Upgrade Abiquo from 5.2 to 5.4.x or the appropriate page for your version.

  • The upgrade will overwrite lang_en_US.json. If you have customized labels or translations, back them up before the upgrade and restore them afterwards accordingly.
  • The upgrade will overwrite the SAML login configuration for multiple IdPs. If you use SAML with multiple IdPs, back up the configuration files before the upgrade and add the multiple IdPs afterwards accordingly. See Restore SAML security beans after upgrade

1. Prevent cloud users from performing VM operations

  1. In the UI in the Infrastructure view, select each physical machine and click Disable
  2. Using the API, set the state of each physical machine to DISABLED





2. API servers

On each API Server do these steps. If you have a separate DB server, do the DB upgrade steps on that server.

# Log in as root
sudo su -


# Check that the Abiquo RabbitMQ queues are empty (API or Datanode).
# The number of messages in all queues must be 0.
# rabbitmqctl list_queues messages name


# Back up the UI
tar cvfz /var/www/html/ui.tgz-$(date +%Y%m%d_%H%M%S) /var/www/html/ui


# Back up the /opt/abiquo folder
tar cvfz /opt/abiquo.tgz-$(date +%Y%m%d_%H%M%S) /opt/abiquo

 
# Back up Redis
redis-cli save
cp -a /var/lib/redis /var/lib/redis-$(date +%Y%m%d_%H%M%S)


# On DB Server, back up the Abiquo MySQL DBs
mysqldump --routines --triggers kinton            > kinton.sql-$(date +%Y%m%d_%H%M%S)
mysqldump --routines --triggers kinton_accounting > kinton_accounting.sql-$(date +%Y%m%d_%H%M%S)


# IF you are using SAML with multiple IdPs, back up security beans files
cp
/opt/abiquo/tomcat/webapps/api/WEB-INF/classes/springresources/security/saml/security-saml-generated-beans.xml /opt/abiquo/tomcat/webapps/api/WEB-INF/classes/springresources/security/saml/security-saml-generated-beans.xml-$(date
 +%Y%m%d_%H%M%S)


# Stop  services
systemctl stop httpd
systemctl stop abiquo-tomcat
 

# Prepare yum repository
yum-config-manager --enable abiquo-base
yum-config-manager --enable abiquo-updates

 
# Perform update
yum clean all && yum makecache
yum update 'abiquo-*'


# Upgrade the Abiquo databases
abiquo-db [-h DB hostname] [-P DB port] [-u user] [-p password] update


# IF the database upgrade fails because of checksums
abiquo-db [-h DB hostname] [-P DB port] [-u user] [-p password] clearCheckSums
abiquo-db [-h DB hostname] [-P DB port] [-u user] [-p password] update


# Post-upgrade step for API
chown -R tomcat /opt/abiquo

Additional API and UI upgrade steps

  1. Add translations for new UI labels to lang_xx_XX_custom.json. See Abiquo UI client language configuration

  2. Optionally add new configuration to client-config-custom.json. See Configure Abiquo UI

  3. In your UI configuration, check that the API endpoint is pointing to your Abiquo API server:

    {
        "config.endpoint""http://<API_IP_ADDRESS>/api"
    }

  4. Add new API properties to the abiquo.properties file found in the /opt/abiquo/config/ folder. See Changes to Abiquo Confi

Remote services servers

On each remote services server do these steps.

# Log in as root
sudo su -
 
 
# On V2V servers, check for active conversions
# ps aux | grep v2v
# ps aux | grep mechadora
 

# Back up the /opt/abiquo folder
tar cvfz /opt/abiquo.tgz-$(date +%Y%m%d_%H%M%S) /opt/abiquo

  
# Back up Redis
redis-cli save
cp -a /var/lib/redis /var/lib/redis-$(date +%Y%m%d_%H%M%S)


# Stop services
systemctl stop abiquo-tomcat


# Check if there is an NFS shared folder for the NARS results (related to system property abiquo.nars.async.fileresults.path):
mount | grep -i "nfs\|results" | grep -v sunrpc
10.60.37.87:/abq-pro-nfs on /opt/abiquo/results-nars type nfs4 (rw,nosuid,nodev,noexec,relatime,sync,vers=4.1,rsize=1048576,wsize=1048576,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.60.37.77,local_lock=none,addr=10.60.37.87,user)


#Unmount the previous shared folder if you have it mounted
umount /opt/abiquo/results-nars

  
# Prepare yum repository
yum-config-manager --enable abiquo-base
yum-config-manager --enable abiquo-updates
  

# Perform update
yum clean all && yum makecache
yum update 'abiquo-*'


# Remount the shared folder for NARS (and any other folders you have unmounted)
mount -a


# Post upgrade steps for RS
chown -R tomcat /opt/abiquo
chown -R tomcat /opt/vm_repository
chmod -R a+r /opt/vm_repository


cd /usr/share/doc/abiquo-redis/redis/
bash ./4.2.3/00-old-vsm-definitions.sh

Additional RS upgrade steps

  1. Add new RS properties to the abiquo.properties file found in the /opt/abiquo/config/ folder. See Changes to Abiquo Configuration Properties



3. Monitoring servers

On each Watchtower monitoring server do these steps.

# Log in as root and stop services
sudo su -
systemctl stop abiquo-emmett
systemctl stop abiquo-delorean
systemctl stop kairosdb
systemctl stop cassandra
 

# Really kill Cassandra by getting its process number (e.g. XXXXX) and killing it
ps auwx | grep cassandra
kill -9 XXXXX


# Prepare yum repository
yum-config-manager --enable abiquo-base
yum-config-manager --enable abiquo-updates

 
# Perform update
yum clean all && yum makecache
yum update 'abiquo-*'

 
# Update watchtower database
watchtower-db [-h DB hostname] [-P DB port] [-u user] [-p password] update





4. Start Abiquo server and services

Start all servers in the correct order.

# On API Server
service httpd restart
service abiquo-tomcat start
 

# On Remote Services including V2V
service abiquo-tomcat start
 

# On the Monitoring Server, start the Cassandra service
sudo service cassandra start
 

# WAIT about 5 minutes until Cassandra is up and running
# Start the KairosDB service
sudo service kairosdb start
 

# Start the other services in this order
sudo service abiquo-emmett start
sudo service abiquo-delorean start

5. Reporting server

We recommend that you update your reports server to JasperReports v7.8.0.

Copyright © 2006-2024, Abiquo Holdings SL. All rights reserved