The goal of this document is to outline the changes needed to restore the ability to coordinate backup and restore operations with Hermes.

Restore ZooKeeper when AppScale is Running

Currently, AppScale needs to be stopped during a ZooKeeper restore. Here are the steps that need to be performed to perform a ZooKeeper restore on a running instance:
1. Ensure the datastore is in read-only mode.
2. Stop ZooKeeper and Cassandra.
3. Bring ZooKeeper up on a different port (so no service will use it).
4. Save deployment-specific data from ZooKeeper.
5. Stop ZooKeeper.
6. Use BRService to remove ZooKeeper data directory (on all ZK machines) and replace with new one.
7. Bring ZooKeeper up again on the non-standard port.
8. Replace any deployment-specific data with the saved data.
9. Stop ZooKeeper.
10. Start ZooKeeper and Cassandra.
11. Enable datastore writes.