Feature #3536
Implement a recursive kamaki store upload
Status: | Closed | Start date: | 04/03/2013 | |
---|---|---|---|---|
Priority: | Medium | Due date: | ||
Assignee: | Stavros Sachtouris | % Done: | 100% |
|
Category: | kamaki | Spent time: | - | |
Target version: | v0.8 |
Description
Now: kamaki store upload uploads only one local file per call.
Desired feature: support uploading a whole directory. Semantics (to initiate the discussion):
kamaki store upload <local file> <container>[:<remote_path>]
- By default, upload only one file, use a flag (e.g. -R) to upload recursively
- In recursive uploads, upload the full directory tree
- All subdirs will be reflected as Pithos directory objects (otherwise, kamaki download won't work). E.g.:
$ ls -R my_dir my_dir/adir/afile my_dir/some.file $ kamaki store upload -R my_dir my_container $ kamaki store list my_container my_dir/ DIR my_dir/a/ DIR my_dir/adir/afile 32MiB my_dir/some.file 42MiB
- Check everything before uploading
- Default remote path starts from local directory, e.g.
$ kamaki store upload -R /home/user/files/my_dir my_container
will create paths of the form:
my_container:mydir/...
(In kamaki we use the : notation to separate containers from objects)
- May add custom prefices and suffices to remote paths (e.g. --prefix, --suffix). Can also be aplied to single uploads.
- If remote_path is given as an argument, it means "put them in this directory". This remote directory should exist in advance as directory object (same semantics as a bash cp). E.g.:
$ kamaki store upload -R my_dir my_container:some/path Error: Object some/path if container my_container not exists or not a directory
- If at least final target path exists on remote container, then the operation is aborted by default. Can be forced with a flag (e.g. -f)
History
#1 Updated by Stavros Sachtouris almost 10 years ago
- % Done changed from 0 to 70
#2 Updated by Stavros Sachtouris almost 10 years ago
- Status changed from New to Resolved
- % Done changed from 70 to 100
#3 Updated by Stavros Sachtouris almost 10 years ago
- Status changed from Resolved to Closed