Project

General

Profile

Feature #17351

Updated by Nico César about 3 years ago

Goals of this ticket: 
 * to define the command line arguments to specify Once #17349 is done, railsapi will have "replicas_desired" with some values that accept several storage clases  
 * to have all classes. 

 Using the expected behaviour for arv-put 
 * to add to same scenarios as in #17350, and the documentation this behaviour 
 * to add necesary tests to make sure we comply with this behaviour "Collection Effective Value" from #17349 

 to discuss: 
 * shall we migrate h2. table of arv-put to Go in this instance or is this a future work?   

 h2. Current command line arguments (arvados 2.1.0) : commands and notes each scenario 

 <pre> |_. Collection Effective Value |_. Volumes scenario | Expected result after keep-balance run    | 
 arv-put --help  
 usage: arv-put [-h] [--version] [--normalize | --dry-run] 
                [--as-stream {"default": 1} | --stream 1 | --as-manifest keep0 has 1 copy| 
 | --in-manifest {"default": 1, "archival": 1} | --manifest 1 | --as-raw impossible, there is no archival class? | --raw] 
                [--update-collection UUID] [--use-filename FILENAME] 
                [--filename FILENAME] [--portable-data-hash] [--replication N] 
                [--storage-classes STORAGE_CLASSES] [--threads N] 
                [--exclude PATTERN] [--follow-links 
 | --no-follow-links] 
                [--trash-at YYYY-MM-DDTHH:MM {"default": 0, "archival": 2} | --trash-after DAYS] 
                [--project-uuid UUID] [--name NAME] 
                [--progress 1 | --no-progress impossible, there is no archival class?    | --batch-progress] [--silent] 
                [--resume 
 | --no-resume] [--cache {"default": 1} | --no-cache] 
                [--retries RETRIES] 
                [path [path ...]] 2 | keep0 has 1 copy| 
 (..) 
   --replication N         Set the replication level for the new collection: how 
                         many different physical storage devices (e.g., disks) 
                         should have a | {"default": 1, "archival": 1} | 2 | keep0 has 1 copy of each data block. Default and keep1 has 1 copy | 
 | {"default": 0, "archival": 2} | 2 | impossible, there is to 
                         use the server-provided default (if any) or 2. 
   --storage-classes STORAGE_CLASSES 
                         Specify comma separated list of storage classes to be 
                         used when saving data to Keep. 
 </pre> 


 h3. base casecase 
 arv-put --replication N no 2 archival class keepstores    --storage-classes STORAGE_CLASSES directory  


 h3. updating an existing collection 
 arv-put --replication N    --storage-classes STORAGE_CLASSES directory --update-collection zzzzz-4zz18-xxxxxxxxxxxxxxx 

 h3. giving conflicting options for resume transaction 
 arv-put --replication N    --storage-classes STORAGE_CLASSES directory 
 arv-put --replication M    --storage-classes DIFFERENT_STORAGE_CLASSES directory --resume |

Back