Prepare to upgrade Abiquo

This section describes how to prepare to upgrade from any previous version of Abiquo to the current version. Please contact Abiquo Support for further information.

 

 

1. Prevent cloud users from performing VM operations

  • In the UI Infrastructure tab, select each physical machine and click Disable

  • Using the API, set the state of each physical machine to DISABLED

2. Check for operations in progress on the platform

  1. Check that the Abiquo RabbitMQ queues are empty. The number of messages in all queues must be 0:

    # rabbitmqctl list_queues messages name
    Listing queues ...
    0	abiquo.am.notifications
    0	abiquo.bpm.notifications
    0	abiquo.datacenter.requests.ADatacenter.bpm
    0	abiquo.datacenter.requests.ADatacenter.virtualfactory
    0	abiquo.ha.tasks
    0	abiquo.nodecollector.notifications
    0	abiquo.pcrsync.messages
    0	abiquo.pcrsync.parking-expect-no-consumers
    0	abiquo.scheduler.fast.requests
    0	abiquo.scheduler.requests
    0	abiquo.scheduler.slow.requests
    0	abiquo.tracer.traces
    0	abiquo.virtualfactory.notifications
    0	abiquo.virtualmachines.definitionsyncs
    0	abiquo.vsm.eventsynk
    ...done.


    (info) In a standard environment, the RabbitMQ service is on the Abiquo API server. Depending on the environment, this will be the Abiquo Monolithic or the Abiquo Server appliance.


  2. Check for any active V2V conversions by checking for the V2V or Mechadora processes

    $ ps aux | grep v2v
    $ ps aux | grep mechadora


3. Stop platform services

  1. Stop the API on the API server or monolithic server

    systemctl stop abiquo-tomcat


  2. Stop the UI on the API server or monolithic server or dedicated UI server

    systemctl stop httpd


  3. Stop remote services server

    systemctl stop abiquo-tomcat


  4. Stop the database on the monolithic server or database server.

    systemctl stop mariadb
    

    For a datanode configuration, you will also need to stop the Galera cluster. For more details, see Stop and start HA configuration

  5. Stop RabbitMQ (on the monolithic server or API server or Datanode)

    systemctl stop rabbitmq-server


  6. V2V Server -
    You do not need to stop anything because the BPM remote service is run on-demand only

  7. Stop monitoring server

    systemctl stop abiquo-delorean
    systemctl stop abiquo-emmett
    systemctl stop kairosdb
    systemctl stop cassandra


  8. On the monitoring server, check if Cassandra is really dead

    ps auwx | grep cassandra

    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.

    kill -9 12345


4. Back up the main platform elements

To perform a basic backup of the platform, run the following backups:

Before you begin, stop platform services, and check you have enough space on your destination systems.


# 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)

# On the Abiquo API Server or UI server, back up the UI
tar cvfz /var/www/html/ui.tgz-$(date +%Y%m%d_%H%M%S) /var/www/html/ui

# If you are using SAML authentication with multiple IdPs, on ALL Abiquo API Servers, back up this file
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)

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

# On Abiquo Monolithic or API Server, Remote Services, or Datanode, back up Redis
redis-cli save
cp -a /var/lib/redis /var/lib/redis-$(date +%Y%m%d_%H%M%S)






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