← Back to team overview

duplicity-team team mailing list archive

Re: [Merge] lp:~carlalex/duplicity/duplicity into lp:duplicity

 

> Testing a live backup against S3, I don't see any difference in list returning
> strings or byte strings. The only difference I've seen is in the manual test.

that's because in live duplicity the backend are wrapped in BackendWrapper class. see comment https://code.launchpad.net/~carlalex/duplicity/duplicity/+merge/376206/comments/985749
 
> I had added register_backend to s3_boto3_backend, keeping it self contained
> and following the convention in the ssh backends.  The backends do not seem
> entirely consistent on this point, with ssh having the two flavors entirely
> self contained, and boto and cf separating the implementation from the
> registration.  

they are not. they were implemented before we switched to the prefixed scheme approach.

>The primary advantage of separating the registration from the
> implementation of the backend appears to be selecting backend implementation
> by CLI option, which I was told was now discouraged.    FWIW, I'd say "boto"
> is not correct for this new backend anyway, since boto3 is really a completely
> different library, which can coexist with boto in a project.  If we do want to
> register the new backend along side the older s3 backends in a common
> location, I'd suggest something named "s3" over "boto", reflecting the backup
> server type rather than the particular implementation.

not sure what you mean here.

> 
> I didn't register a netloc. Per the comments in backend.py, that didn't seem
> correct since the new backend doesn't have a network location.  The new URL
> follows the behavior of the older "s3+http", which is also not in the netloc
> list.

i was talking about the older boto backend here (note: i wrote botobackend.py) . your implementation seems not to use netloc indeed.

> I had already added boto3+s3 to the url scheme section and an extended
> explanation under "A note on amazon s3" in my latest updates, so I'm not sure
> what else you are asking for.  Is the bzr merge request not up to date?

in the man page there is a section 'Url Format' that explains the url formats per backend (meaning protocol) currently it looks like

-->

URL Format

Duplicity uses the URL format (as standard as possible) to define data locations. The generic format for a URL is:
scheme://[user[:password]@]host[:port]/[/]path
It is not ....

[SNIP]

S3 storage (Amazon)

s3://host[:port]/bucket_name[/prefix] 
s3+http://bucket_name[/prefix]
See also A NOTE ON EUROPEAN S3 BUCKETS

SCP/SFTP access

scp://.. or 
sftp://user[:password]@other.host[:port]/[relative|/absolute]_path
defaults are paramiko+scp:// and paramiko+sftp:// 
alternatively try pexpect+scp://, pexpect+sftp://, lftp+sftp:// 
See also --ssh-askpass, --ssh-options and A NOTE ON SSH BACKENDS.

[SNIP]

<--

see how the alternate backends are documented for scp/sftp? same would be advisable for s3, now that we have two backend (implementations) that provide S3 access.

if you don't want to touch the older botobackend.py i'm fine with that of course.


thanks! ..ede/duply.net

-- 
https://code.launchpad.net/~carlalex/duplicity/duplicity/+merge/376206
Your team duplicity-team is subscribed to branch lp:duplicity.


Follow ups

References