Feature #17351
Updated by Nico César almost 4 years ago
Goals of this ticket: * to define the command line arguments to specify storage clases * to have all the expected behaviour for arv-put * to add to the documentation this behaviour * to add necesary tests to make sure we comply with this behaviour to discuss: * shall we migrate arv-put to Go in this instance or is this a future work? h2. Current command line arguments (arvados 2.1.0) : <pre> arv-put --help usage: arv-put [-h] [--version] [--normalize | --dry-run] [--as-stream | --stream | --as-manifest | --in-manifest | --manifest | --as-raw | --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 | --trash-after DAYS] [--project-uuid UUID] [--name NAME] [--progress | --no-progress | --batch-progress] [--silent] [--resume | --no-resume] [--cache | --no-cache] [--retries RETRIES] [path [path ...]] (..) --replication N Set the replication level for the new collection: how many different physical storage devices (e.g., disks) should have a copy of each data block. Default 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 <pre> arv-put --replication N --storage-classes STORAGE_CLASSES directory </pre> Expected behaviour: ... h3. updating an existing collection <pre> arv-put --replication N --storage-classes STORAGE_CLASSES directory --update-collection zzzzz-4zz18-xxxxxxxxxxxxxxx </pre> Expected behaviour: ... h3. giving conflicting options for resume transaction <pre> arv-put --replication N --storage-classes STORAGE_CLASSES directory arv-put --replication M --storage-classes DIFFERENT_STORAGE_CLASSES directory --resume </pre> Expected behaviour: ...