Feature #17351
Updated by Nico César almost 4 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 |