Comment 4 for bug 1411803

Revision history for this message
Kenneth Loafman (kenneth-loafman) wrote : Re: [Bug 1411803] Re: s3+http URL causes assertion failure

Both daily and releases are vivid aware now. Daily has the latest trunk
now. Releases will get 0.7.03 when it comes out (soon).

On Thu, Apr 30, 2015 at 10:40 PM, François Jacques <
<email address hidden>> wrote:

> Hi,
>
> Just to confirm the issue originally reported and the observation from
> Warren in Vivid. The bug is already fixed in duplicity; it's just that
> vivid is behind (7.01 instead of 7.02).
>
> Should someone wish to take another part than lauching their fav editor
> and update botobackend.py, an alternative is to add the duplicity ppa.
> Side note - *at this time* the duplicity ppa isn't vivid aware, so you
> have to configure the apt source to use the utopic update stream:
>
> deb http://ppa.launchpad.net/duplicity-team/ppa/ubuntu utopic main
>
> sudo apt-get update
> sudo apt-get upgrade
>
> Apt should tell you duplicity can be updated.
>
> --
> You received this bug notification because you are subscribed to
> Duplicity.
> https://bugs.launchpad.net/bugs/1411803
>
> Title:
> s3+http URL causes assertion failure
>
> Status in Duplicity - Bandwidth Efficient Encrypted Backup:
> Fix Released
>
> Bug description:
> == Basic Info ==
>
> $ duplicity --version
> duplicity 0.7.01
>
> $ python2 --version
> Python 2.7.9
>
> OS: Arch Linux
>
> Target Filesystem: S3
>
>
> == Problem Description ==
>
> When attempting to backup to S3, I've traditionally used the "s3+http"
> URL to avoid specifying the hostname.
>
> The target URL is: "s3+http://dup-backup/thinkdtz-will"
>
> While this used to work, in recent duplicity this no longer works and
> leads to an assertion in __boto_single.py: "assert scheme == 's3'".
>
>
> == Outsider's Hopefully Help Analysis ==
>
> A bit of digging shows the problem is that urlparse is parsing the
> first bit of the URL as a hostname instead of the bucket name.
>
> I believe the problem was introduced here: http://bazaar.launchpad.net
> /~duplicity-team/duplicity/0.7-series/revision/1036
>
> The commit seems like it's just a refactoring of how uses_netloc is
> populated, but it also adds in a few schemes that weren't
> in the original definition. I'm not sure if that's intentional but it
> seems wrong and probably worth checking to see if other schemes besides
> "s3+http" were mistakenly added.
>
>
> == Changes to use_netloc ==
>
> uses_netloc before this change can be in the lines removed here:
> http://bazaar.launchpad.net/~duplicity-
> team/duplicity/0.7-series/revision/1036#duplicity/backend.py
>
> Notice how only 's3' (not gs or s3+http) is included.
>
> However, all three protocols are added to the new uses_netloc code as
> seen here:
>
> http://bazaar.launchpad.net/~duplicity-
> team/duplicity/0.7-series/revision/1036#duplicity/backends/botobackend.py
>
> There's also a comment in backends.py that reinforces the notion that
> "s3+http" shouldn't be in "uses_netloc": http://bazaar.launchpad.net
> /~duplicity-
> team/duplicity/0.7-series/view/head:/duplicity/backend.py#L66
>
>
> == Proposed Resolution ==
>
> Removing the line in botobackend that adds "s3+http" to uses_netloc
> resolves the issue for me.
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/duplicity/+bug/1411803/+subscriptions
>