This plugin is loaded from 3 different components of Abiquo:
The API needs to load the plugin in order to know which features are supported and in order to choose and command the actions.
- validateConfiguration() - During API startup this method is invoked to validate that all required plugin configuration is loaded and the plugin can be used.
The virtual factory uses the plugin to:
- configure and destroy the backup for the VMs
- request an on demand backup
- restore a VM
In summary, it executes the actions requested by the user.
It processes the backup tasks as it does with the deploy ones, which also means that it keeps the task locked while a method is invoked.
applySchedule(connection, virtualMachineIdentifier, backupSchedule) - Configure the backup of the recently deployed VM.
applySchedule(connection, virtualMachineIdentifier, oldBackupSchedule, newBackupSchedule) - Some backup changes have occurred in a deployed VM, so make them effective. Changes can be new configurations added, old ones removed or some of them updated.
- removeSchedue(connection, virtualMachineIdentifier) - The VM is will be undeployed, so remove the existing backup configuration.
- executeBackup(connection, virtualMachineIdentifier, options) - A user requested a backup of the VM at this moment, so let's proceed.
- executeRestore(connection, virtualMachineIdentifier, backupId) - A user requested a restore of a backup of a VM, so let's proceed.
Cloud Provider Proxy
The cloud provider proxy (CPP) uses the plugin to:
- Retrieve the backup and restore results.
- Check for the backup and restore results that are expired.
These are actions requested by a periodical task from API, so it retrieves the necessary information to maintain the status of the backup in the Abiquo.
- listResults(connection, lastCheckDate, inProgressResultProviderIds) - Return to Abiquo API which backup results are finished or in progress.
- getExpiredResults(connection, providerIds) - Check the given results that API supposes to be expired and return those that are really expired.