Idea #8724

Updated by Brett Smith over 8 years ago

Write a script on ticket #8576 we copy to verify blob storage.  

 but we have to be sure 100% that the Keep services on a cluster have a good we copy of a given list of blocks.    The use case is that you generate a list of existing md5sums everything before you do we delete old nodes  

 make a keep-rsync, and run this script after the keep-rsync is done to verify that everything was copied over correctly. 

 The script takes as input: 

 * a file with md5sums to check, one per line 
 * a file that contains the Keep signing key 
 * API host+token 
 * an optional prefix argument 

 For each block named in the list of md5sums, does this check... preferably using HEAD (see #8702) if it's not implemented then it generates its own signature for the block, and sends HEAD requests to appropriate (e.g., non-proxy) Keep services in rendezvous hash order.    If no Keep service returns 200 OK for should do a given block, the script reports that as an error GET and exits nonzero. 

 If a prefix argument is provided, make sure the MD5 matches.  

 this script only checks blocks that begin with that prefix, a la keep-rsync. 
 will be used in #7797 when we copy su92l