Backup and Restore functionality needs to be added to the Redis datastore.
Launchpad Blueprint: https://blueprints.launchpad.net/trove/+spec/redis-backup-restore
Trove instances created with the Redis datastore do not currently have a way to create a backup or to restore from one. This functionality needs to be added.
Redis currently has two persistence strategies: RDB [*] and AOF [†] (both can be used concurrently). The backup strategy is the same for both, however restoring is a little different if AOF is enabled (whether or not RDB is also enabled).
The redis-cli utility will be used to create the backup. This process is the same regardless of the persistence strategy configured within Redis. The process will be as follows :
Restoring a Redis server from backup depends on the persistence method that is running on the server. 
To restore a Redis server from a backup :
If AOF is disabled:
If AOF is enabled:
The default values for the following config options will need to be updated:
Existing Python bindings are sufficient, and no changes are anticipated.
Once these changes are implemented, the following Trove CLI commands will now be fully functional with Redis:
- create –backup
The following files will need to be added to the guest agent, where the corresponding implementation will reside:
The following existing files will be updated:
No backwards compatibility issues are anticipated.
The API calls for backup and restore need to be implemented.
No new tests are deemed to be required (beyond the requisite unit tests). The int-tests group for Redis will be modified to run backup-related commands during integration test runs. It would be good if a 3rd party Redis CI could be set up to test Redis integration functionality, but at present this is not available.
Datastore specific documentation should be modified to indicate that backup and restore of a Redis Trove instance is now supported.