"undelete" command to recover trashed blocks and restore a deleted collection
- some blocks may not have been trashed because they are still referenced by other collections
- some blocks may still be in the recoverable "trashed" state, if BlobTrashLifetime has not arrived yet
Given a manifest (or the UUID of a a collection update/delete log entry that has a manifest in old_attributes), the recovery command ("arvados-server undelete") should use keepstore's HEAD and untrash APIs to untrash the data as needed, make a new manifest with fresh signatures, and save a new collection.
If a block is not recoverable, the command should continue to untrash as many as it can, and report how many were attempted/successful, but not save a new collection. (Future improvement: save a partial collection in this case, omitting any files affected by the missing blocks.)
TODO: accept UUID of collection-delete/update log entry (currently must provide file containing manifest text)
TODO: doc page