Abiquo Documentation Cookies Policy

Our Documentation website uses cookies to improve your experience. Please visit our Cookie Policy page for more information about cookies and how we use them.


Abiquo 2.6


Skip to end of metadata
Go to start of metadata

Admin Guide 1. Abiquo: Upgrading from 2.4

Contents:


This section is a guide to upgrading Abiquo for larger installations, not all instructions may apply to your implementation. If in doubt or any questions please contact our support department. NOTE this upgrade should only be applied to the latest major previous version of Abiquo with the latest patches sets applied due to SQL schema updates that are expected in the upgrade process.

This upgrade should only be performed from at least Abiquo version v2.4.2 (2.4.0 GA with Hotfix 1 & 2 applied) 

Notes on Changes in 2.6

Please see the Release Notes for Abiquo 2.6 for a full list of changes and links to documentation of new features.

Overview

This section provides an outline of the upgrade preparation and process. The whole process is described in more detail below.

Preparation Overview

Before you perform the upgrade, do the following preparatory steps.

  1. Test v2.6 thoroughly in your lab
  2. Migrate virtual machines on KVM CentOS 5 to CentOS 6
    • Note: this step may be performed at any time prior to the Abiquo upgrade
  3. Upgrade AIM to 2.1.4 for Abiquo 2.6
  4. Upgrade Abiquo LVM Servers
  5. Optional step: Prepare for Billing Update
    • The billing update will be available after the release of Abiquo 2.6
  6. Update and test any API integration code
  7. Download the Abiquo 2.6 ISO to a location that can be easily accessed by all servers
Upgrade Overview

These are the basic steps to perform the upgrade. A more detailed description of the process is given below.

  1. Remove customer access.
  2. Ensure all queues are empty and no tasks are in progress.
  3. Back up the existing environment, including all customization.
  4. Shutdown all of the Abiquo platform servers 
    • DHCP and DHCP Relay are not upgraded.
  5. Upgrade the Abiquo platform servers: 
    1. Remote Services
    2. V2V
    3. Abiquo Server
  6. Update Abiquo properties
  7. Upgrade Abiquo Database with database delta script

  8. Optional step: Update Billing
  9. Restart the tomcat server
  10. Reapply branding and other customizations
  11. Modify privileges in User roles in Abiquo
  12. Post-upgrade: Users clear browser cache
  13. Test the Upgrade

Detailed Preparation

Step 1. Test v2.6 thoroughly in your lab

Ensure that you have fully tested the v2.6 functionality and upgrade in your lab environment. Copy existing library templates to the test platform, etc. Test new features:

  • Amazon EC2 Integration
  • Hyper-V 3 Integration
  • Oracle VM Integration
  • NFS Persistent Storage Integration
  • Outbound API
  • Workflow Integration
  • Backup Front-end
  • Capture VM Improvements
  • System Disk and Hard Disk Resize
  • Apps Library Improvements
  • Other Improvements

Please read Configuration Changes in Abiquo 2.6 before starting your upgrade process

Step 2. Migrate virtual machines on KVM CentOS 5 to CentOS 6

For hypervisors installed with the Abiquo ISO (CentOS 5), migrate the VMs to hypervisors installed on CentOS 6

  • Note that this upgrade can be performed at any time prior to the Abiquo upgrade. See Migrate VMs on KVM CentOS 5 to CentOS 6
  • If you already migrated VMs to CentOS 6.3, this is sufficient. For new installs, CentOS 6.4 should be used.
Step 3. Upgrade AIM to 2.1.4 for Abiquo 2.6

Upgrade AIM on KVM cloud nodes. The latest version is 2.1.4, which is NOT compatible with Abiquo 2.4. Use the upgrade script to upgrade the cloud nodes.

The upgrade script performs the standard AIM upgrade with yum but also makes some changes to the virtual machine definitions for the new version of libvirt. 

Step 1: First do ONE of the following:

  • Disable the physical machines in Abiquo (in Infrastructure view in the GUI) or using the API (setting state to HALTED) OR
  • Shutdown the Abiquo Platform Servers

Step 2: Run the Abiquo 2.4 to 2.6 AIM Upgrade Script

Run the following script on all KVM servers. If your KVM servers do not have Internet access you can download the script and modify it to use a local repository you create for the yum upgrade.

curl -s https://raw.github.com/abiquo/kvm-installer/master/abiquo-kvm-upgrade-2.4-to-2.6.sh | sh

Step 3: On the upgraded KVM  cloud nodes, check that Abiquo AIM is running before starting the server upgrade process

ps aux | grep abiquo-aim

See  AIM - Abiquo Infrastructure Management

Step 4. Upgrade LVM

Use the Abiquo ISO to upgrade LVM servers. The upgraded servers are NOT compatible with Abiquo 2.4. For LVM used with ESXi, Abiquo recommends that you perform an HBA rescan on ESXi hypervisors after upgrading. 

HBA Rescan After Upgrade

When using LVM volumes with ESXi, perform an HBA rescan after completing the LVM upgrade. This will avoid problems with virtual machine startup caused by any possible loss of iSCSI sessions.

Step 5. Optional Step: Prepare for Billing Update

The Billing update can be performed after the Abiquo upgrade at a time convenient to users.

Step 6. Update and test API integration

Update and test any API integration code with Abiquo 2.6. Note that API versioning was introduced in v2.0, which means you may need to change your API calls. For information about the Abiquo versioning system please see Versioning and Abiquo Version Numbers

Step 7. Download the ISO

Download the Abiquo 2.4 ISO and Abiquo 2.6 ISO to a location that can be easily accessed by all servers.

Detailed Upgrade

Step 1. Remove customer access

This can be done by disabling all the physical machines in Abiquo (in Infrastructure view in the GUI) or using the API (set state to HALTED).

Step 2. Ensure all queues are empty and no tasks are in progress

On Remote Services check the status of RabbitMQ to ensure that there are no outstanding tasks  

service rabbitmq-server status

This will provide the PID and tell us if it is running or not.

Check that there are no jobs in the queues:  

 # rabbitmqctl list_queues name messages consumers

The first number after each queue name is the number of messages in the queue and the second number is the number of consumers. If a queue is empty, the number of messages will be 0. The following example shows the result with empty queues. If there are any messages, you should wait for them to be consumed before proceeding with the upgrade.

Listing queues ...
abiquo.vsm.eventsynk	0	1
abiquo.nodecollector.notifications	0	1
abiquo.scheduler.requests	0	1
abiquo.tracer.traces	0	1
abiquo.datacenter.requests.Abiquo.virtualfactory	0	1
abiquo.ha.tasks	0	1
abiquo.am.notifications	0	1
abiquo.scheduler.slow.requests	0	1
abiquo.datacenter.requests.Abiquo.bpm	0	1
abiquo.datacenter.notifications	0	1
abiquo.scheduler.fast.requests	0	1
...done.

Messages may have been created by conversions in progress. You can check for any active V2V conversions by checking for the V2V or Mechadora processes. Wait for the conversions to finish before proceeding with the upgrade.

ps aux | grep v2v
ps aux | grep mechadora

See ServiceManagement-v2vdiskmanager for more information.

Step 3. Back up existing environment

You can make snapshots of the VMs, but you should also make a complete copy of the database, branding and anything else that may be unique to the installation. 

See Backup and Restore of Customization for Upgrading Abiquo


Step 4. Shut down all Abiquo platform servers 

There is no need to shut down DHCP and DHCP Relay servers because they are not upgraded.

Step 5. Upgrade the Abiquo Platform Servers using the ISO
  1. Remote Services
  2. V2V
  3. Abiquo Server

Burn the Abiquo Platform installer ISO to a CD and boot from it.

 

Step 5.1. Boot the server from the CD or ISO image and press <Enter>

Upgrade Process and Order

You must follow the upgrade process in the correct order (Cloud Nodes, Storage Servers, Remote Services, V2V Services, Abiquo Server).

Step 5.2. Test the Media (optional)

If the Abiquo ISO image was burnt to a CD you have the option of testing the media. This could take 15-20 minutes but is recommended to rule out media defect.

Step 5.3. Welcome Screen

After completing step 2, the graphical setup screen will appear. Click <Next>.

Step 5.4. Select your keyboard and click <Next>

Step 5.5. Select Upgrade an Existing Installation

If you have more than one installation, select it and click <Next>.

Step 5.6. Select Update boot loader configuration and click <Next>

Step 5.7. Start the upgrade process

Step 5.8. Eject media and reboot

Eject the CD or ISO and click <Reboot>.

Step 5.9 Optional check of upgraded packages

The packages for Abiquo 2.6 are as follows. Note that there is a new war introduced for the outbound API, called "m". 

abiquo-am-2.6.0-2.el5.20130920_1352.noarch.rpm
abiquo-api-2.6.0-1.el5.20130920_1351.noarch.rpm
abiquo-client-premium-2.6.0-2.el5.20130920_1350.noarch.rpm
abiquo-core-2.6.0-5.el5.noarch.rpm
abiquo-dhcp-relay-2.6.0-2.el5.noarch.rpm
abiquo-logos-ee-4.9.99-12.el5.abiquo.noarch.rpm
abiquo-lvmiscsi-2.6.0-1.el5.20130920_1349.noarch.rpm
abiquo-m-2.6.0-1.el5.20130920_1352.noarch.rpm
abiquo-nodecollector-2.6.0-2.el5.20130920_1349.noarch.rpm
abiquo-pocsetup-2.6.0-3.el5.20130718_1406.noarch.rpm
abiquo-release-ee-2.6.0-3.el5.noarch.rpm
abiquo-release-notes-ee-2.6.0-1.noarch.rpm
abiquo-remote-services-2.6.0-4.el5.noarch.rpm
abiquo-server-2.6.0-6.el5.20130920_1349.noarch.rpm
abiquo-sosreport-plugins-2.6.0-1.el5.noarch.rpm
abiquo-ssm-2.6.0-4.el5.20130920_1348.noarch.rpm
abiquo-v2v-2.6.0-2.el5.20130920_1347.noarch.rpm
abiquo-virtualfactory-2.6.0-2.el5.20130920_1347.noarch.rpm
abiquo-vsm-2.6.0-2.el5.20130920_1353.noarch.rpm
Step 6. Check and Update Abiquo Properties

After the upgrade of all the Abiquo platform servers, you should check the abiquo.properties files and add new properties and remove deprecated ones.

Check the abiquo.properties after the upgrade. For example, if you are running separate Redis and RabbitMQ servers, then check that the Redis and Rabbit properties are still correct.

After an upgrade you should always check the  Abiquo Configuration Properties documentation. An excerpt from this documentation is included here.

New Properties in v2.6.7

These properties are new in Abiquo 2.6.7.

Storage System Manager

  1.  abiquo.storagemanager.nexenta.blocksize

New properties marked with the (star) symbol in the Info column of the properties table.

New Properties in v2.6

These properties are new in Abiquo 2.6. Optional properties are commented out with a hash sign "#" in front of the property. Default values are given after the equals sign "=".

Appliance Manager

  1. #abiquo.appliancemanager.check.repository=600000
  2. #abiquo.appliancemanager.deploy.connection=120000
  3. #abiquo.appliancemanager.deploy.idle=6000000000
  4. #abiquo.appliancemanager.deploy.totalTimeout=8640
  5. #abiquo.appliancemanager.downloads=-1
  6. #abiquo.appliancemanager.fstimeoutms=7000
  7. #abiquo.appliancemanager.repository.ignoredPathPrefix=
  8. #abiquo.appliancemanager.repository.ignoredPathRegex=
  9. #abiquo.appliancemanager.repository.ignoredPathSuffix=
  10. #abiquo.appliancemanager.upload.progressInterval=5000

M Outbound API

  1. abiquo.m.identity=admin
  2. abiquo.m.credential=xabiquo

NetApp Free Space Ratio

  1. abiquo.storagemanager.netapp.aggrfreespaceratio=0.05

Oracle

  1. #abiquo.virtualfactory.oraclevm.repositoryLocation=
  2. #abiquo.virtualfactory.oraclevm.jobTimeoutMs=28800000
  3. #abiquo.virtualfactory.oraclevm.hardPartitioning=false
  4. #abiquo.virtualfactory.oraclevm.hardPartitioningCPURatio=1
  5. #abiquo.virtualfactory.oraclevm.createSparseDisks=true
  6. #abiquo.virtualfactory.oraclevm.ha=false
  7. #abiquo.virtualfactory.oraclevm.defaultVMDomain=HVM

VSM Polling

  1. #abiquo.vsm.pollingfrequency.hyperv_301=5000
  2. #abiquo.vsm.pollingfrequency.kvm=5000
  3. #abiquo.vsm.pollingfrequency.oracle_vm=5000
  4. #abiquo.vsm.pollingfrequency.vmx_04=5000
  5. #abiquo.vsm.pollingfrequency.xenserver=5000

New properties marked with the (star) symbol in the Info column of the properties table.

Changes to Properties in v2.6

Properties that have been changed in this version are:

  1. abiquo.server.api.location - now required by remote services and API
Changed properties are marked with the (warning) symbol in the New column of the properties table.

Changes to KVM Configuration Without Full Virtualization

 You may now need to perform other configuration in addition to setting abiquo.virtualfactory.kvm.fullVirt=false. See KVM Cloud Node Installation

Required Remote Services Property in Abiquo 2.6

The property abiquo.server.api.location is now also required by remote services in distributed installations for template download. In Abiquo 2.6 GA, you must manually add this property to the abiquo.properties file on the distributed remote services server.

Open Sessions on Hyper-V and ESXi

Set abiquo.virtualfactory.openSession=1 as a workaround to problems with concurrent deployments in:
  • Hyper-V

Removed and Deprecated Properties in Abiquo 2.6

Properties that are not supported in this version are:

  1. hypervisors.storagelink.address
  2. hypervisors.storagelink.password
  3. hypervisors.storagelink.user
  4. abiquo.storagemanager.storageMethod: 
    • the platform default storage allocation method is still Progressive, but to change this default, you must set a value for every tier in every datacenter
  5. abiquo.vsm.esx.pollinginterval
    • Replaced by abiquo.vsm.pollingfrequency.vmx_04
  6.  abiquo.vsm.pollingfrequency.xen_3
  7. abiquo.vsm.pollingfrequency.vbox
  8. abiquo.vsm.xen.refresh.mstosleep
  9. abiquo.vsm.xen.refresh.retries
Many of these deprecated or removed properties are related to technology that is no longer supported by Abiquo, including XenServer Storagelink, Xen hypervisor and VirtualBox hypervisor

Configure infrastructure checks

  • abiquo.vi.check.delay property is the delay period after an infrastructure check completes before the next check begins.
  • abiquo.ha.check.delay is the delay between checks of machines that already have HA in progress in order to determine if HA movements are complete
  • See Configure Infrastructure Checks

Configure Abiquo Events

Configure M

If you do not configure M properly, no events will be available in Abiquo. You will probably need to configure the M properties in the abiquo.properties file on the server where M will run. By default, M runs on the Abiquo Server. The required properties are the M user account details and the API location.

In Abiquo 2.6, there is a new module called M. This module listens for events in the Abiquo API. When it receives events, it performs requests to the Abiquo API to retrieve further details about the events. Then it writes the events to the Abiquo database and broadcasts them as the event stream of the Outbound API.

Automatic M User Account Configuration

When you install or upgrade Abiquo 2.6, it is essential to check that the M module is properly configured to ensure that your platform will record events.

  1. Fresh install of 2.6 + customer enters cloud admin password in install screens
    1. Abiquo automatically configures M is automatically configured with the admin password
    2. M user and password are NOT included in properties file
    3. If the customer changes the admin account, they must reconfigure M with user and/or password in the abiquo.properties file as described below
  2. Fresh install of 2.6 + customer does NOT enter cloud admin password in install screens
    1. Abiquo automatically configures M with the default admin account (user admin, password xabiquo)
    2. When the customer changes the admin account, they must configure M with user and/or password in the abiquo.properties file as described below
  3. Upgrade from 2.4.x to 2.6.x
    1. Abiquo automatically configures M with the default cloud admin account (user admin, password xabiquo)
    2. The customer must configure M with user and password in the abiquo.properties file as described below

Configure M Properties

You must configure the abiquo.properties file on the server where M will run. Without this configuration, no events will be available in Abiquo

  1. Abiquo M User
    • M will use this identity and credential to access the Abiquo API and retrieve information about the events
    • It will record the events in the Abiquo database and stream them through the Outbound API
    • When you modify the default cloud admin user, the hidden default values of admin and xabiquo will not function
    • This user must have permission to access all events. See the privileges defined for the Outbound API role in Privileges

  2. Abiquo API Location with Port
    • The API location must be an externally accessible IP and port
    • Use the API port to ensure that an event streaming user with a regular user role can access events
    • The API location IP address cannot be a localhost value (127.0.0.1 or localhost)
    • The Abiquo API location is also used for the Chef integration, so remember this if you have distributed platform components

Example of Manual M Configuration

Abiquo M Configuration
abiquo.m.identity = AbiquoMUser 
abiquo.m.credential = AbiquoMPassword
abiquo.server.api.location = http://my.api.location:80/api

Step 7. Update Abiquo Database to 2.6

The Abiquo 2.6 ISO upgrade will automatically apply the schema deltas against the MySQL instance with the kinton database running on the machine where the ISO is running (i.e. Locally installed MySQL).
 
For Abiquo installations that have a remote databases to the Abiquo Server the upgrade will not update the database automatically. Run the database upgrade script after the ISO upgrade, BUT before Tomcat is started.

The database delta script will be located in /usr/share/doc/abiquo-server/database on the Abiquo Server. Copy it to the remote server and run:

mysql kinton < kinton-delta-2.4.0_to_2.6.0.sql

Then check that the client-premium.xml and api.xml files located in /opt/abiquo/tomcat/conf/Catalina/localhost on the Abiquo Server contain the right connection details for the remote Abiquo (kinton) database.

Step 8. Optional Step: Perform Billing Upgrade

The Billing Integration upgrade can be performed at any time that is convenient in the billing cycle. Prepare to upgrade the Billing Integration, by processing any outstanding billing and backing up the output files. The main change to billing in Abiquo 2.6 is addition of a "Repository" cost column to output file format in the DBMS and CSV output files. See Billing Improvements

Step 9. Start the Tomcat server
service abiquo-tomcat start
Step 10. Reapply branding and other customizations

Reapply Branding after recompiling any changed elements, and other customizations, for example, add the Google Maps Javascript API v2 key again.

See Backup and Restore of Customization

Step 11. Modify Privileges in User Roles in Abiquo

In general, new features added to Abiquo are not enabled by privileges to ensure that customers can introduce these features to the cloud platform as desired. Customers should always review the privileges available in each version. An excerpt of the Privileges documentation is included here.

New Privilege in Abiquo v2.6.5

  1.  Manage virtual machine backup disks

New Privileges in Abiquo v2.6

  1. Manage datacenter backup configuration
  2. Manage workflow tasks
  3. Manage virtual machine backup configuration
  4. Manage virtual machine backup schedule
  5. Delete unkown virtual machines
  6. Display datacenter capacity and free space

Changes to Privileges in Abiquo 2.6

The privilege "Add a cost code when editing a VM template" has been moved from the Pricing section to the Apps Library section

Create Outbound API User

The privileges for the M outbound API role are marked in the Outbound API column. You can create a role with these privileges and assign it to a user that will connect to Abiquo, read all events and stream them and store them in the Abiquo database. Add the user credentials to the abiquo.properties file.

The M user requires the Manage users of all enterprises permission, so it can see users from other enterprises. However, without the Manage users privileges, it cannot modify other users accounts. To test this, log in with the M user, and you will see all users listed, but you will not be able to modify the accounts.

 

 

Step 12. Post upgrade – Users clear browser cache

Important: Do NOT forget this step

Before logging in to Abiquo after an upgrade, all users must clear the browser cache on their machines. Check that the Abiquo GUI reports the correct version in the bottom left of the browser. 

Step 13. Test the Upgrade

Perform basic testing to validate the installation e.g.

  1. Deploy VM
  2. Create instance
  3. Create persistent VM
  4. Deploy VM with external storage

Test new 2.6 features