Bug 1077276 - Duplicity no longer able to do b2
Duplicity no longer able to do b2
Status: RESOLVED INVALID
Classification: openSUSE
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: Other
Current
Other Other
: P5 - None : Normal (vote)
: ---
Assigned To: Wolfgang Rosenauer
E-mail List
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2018-01-23 17:23 UTC by Jon Brightwell
Modified: 2018-01-25 19:55 UTC (History)
2 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---
wolfgang: needinfo? (jon)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jon Brightwell 2018-01-23 17:23:23 UTC
duplicity 0.7.16 on TW

Previously working, the output is now simply.

> BackendException: B2 backend requires B2 Python APIs (pip install b2)


running the suggested command:

>pip install b2b
Collecting b2b
  Could not find a version that satisfies the requirement b2b (from versions: )
No matching distribution found for b2b

I don't remember the pip being required for when I initially installed and used it. And there's no mention of it being removed as a feature in the obs changelog.
Comment 1 Wolfgang Rosenauer 2018-01-23 18:09:52 UTC
Also nothing in the full changelog:
http://duplicity.nongnu.org/Changelog.GNU

Are you actually using B2?

I just tried to reproduce but couldn't with my usecase so would be interesting to see the command which fails exactly.

It seems there is also no python module in openSUSE providing b2.

And last but not least to be sure:
Did you really try to install b2b or b2 ? It seems your output is pasted from trying to install b2b.
Comment 2 Jon Brightwell 2018-01-24 08:18:16 UTC
Yes, typo but doesn't fix it. Is this to do with the python 3 migration?

moozaad@mudkip:~/Documents> pip install b2
Requirement already satisfied: b2 in /usr/lib/python3.6/site-packages
Requirement already satisfied: arrow>=0.8.0 in /usr/lib/python3.6/site-packages (from b2)
Requirement already satisfied: logfury>=0.1.2 in /usr/lib/python3.6/site-packages (from b2)
Requirement already satisfied: tqdm>=4.5.0 in /usr/lib/python3.6/site-packages (from b2)
Requirement already satisfied: requests>=2.9.1 in /usr/lib/python3.6/site-packages (from b2)
Requirement already satisfied: six>=1.10 in /usr/lib/python3.6/site-packages (from b2)
Requirement already satisfied: python-dateutil in /usr/lib/python3.6/site-packages (from arrow>=0.8.0->b2)
Requirement already satisfied: funcsigs in /usr/lib/python3.6/site-packages (from logfury>=0.1.2->b2)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python3.6/site-packages (from requests>=2.9.1->b2)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/lib/python3.6/site-packages (from requests>=2.9.1->b2)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/lib/python3.6/site-packages (from requests>=2.9.1->b2)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python3.6/site-packages (from requests>=2.9.1->b2)
moozaad@mudkip:~/Documents> duplicity-backup.sh 
BackendException: B2 backend requires B2 Python APIs (pip install b2)
BackendException: B2 backend requires B2 Python APIs (pip install b2)
BackendException: B2 backend requires B2 Python APIs (pip install b2)
Comment 3 Chenzi Cao 2018-01-24 09:05:44 UTC
Hi Jan, would you please take a look at this issue? If you are not the right assignee, please feel free to reassign, thanks.
Comment 4 Tomáš Chvátal 2018-01-25 16:21:52 UTC
Assign to wolfgang, nothing much to do with python itself.
Comment 5 Wolfgang Rosenauer 2018-01-25 16:40:36 UTC
(In reply to Wolfgang Rosenauer from comment #1)
> Are you actually using B2?
> 
> I just tried to reproduce but couldn't with my usecase so would be
> interesting to see the command which fails exactly.

I'm still interested in this since I cannot reproduce.
Comment 6 Jon Brightwell 2018-01-25 16:57:19 UTC
my duplicity-backup.sh:

>PASSPHRASE=xxxxxxxxx duplicity --encrypt-key yyyyyyyyyyyy --progress /server/to/backup1 b2://[account id]:[application key]@[B2 bucket name1]
>PASSPHRASE=xxxxxxxxx duplicity --encrypt-key yyyyyyyyyyyy --progress /server/to/backup2 b2://[account id]:[application key]@[B2 bucket name2]
>PASSPHRASE=xxxxxxxxx duplicity --encrypt-key yyyyyyyyyyyy --progress /server/to/backup3 b2://[account id]:[application key]@[B2 bucket name3]

No env set (eg. no #!/bin/bash).

It's 10GB free signup if you want try to reproduce. https://www.backblaze.com/b2/cloud-storage.html
Comment 7 Wolfgang Rosenauer 2018-01-25 17:16:23 UTC
Thanks, can you confirm which version you had installed before and which still worked? Was it 0.7.15?
Comment 8 Wolfgang Rosenauer 2018-01-25 17:40:10 UTC
hmm, now I've reviewed all the full diff between 0.7.15 and 0.7.16 and there is absolutely no change which might have caused it.
I will try to reproduce with a test account but it would also help if you could tell me if and with which version it ever worked.
It can be that it never did because there is no python lib available by default but currently it's not clear if we face a regression or a missing piece of library in openSUSE.
Comment 9 Jon Brightwell 2018-01-25 19:21:25 UTC
Backups are monthly and was last run with duplicity-0.7.14-1.2.x86_64
Comment 10 Wolfgang Rosenauer 2018-01-25 19:33:24 UTC
Please check if the hint outlined here helps:
pip install backports.functools_lru_cache
Comment 11 Jon Brightwell 2018-01-25 19:55:08 UTC
>#pip install backports.functools_lru_cache
>Collecting backports.functools_lru_cache
>  Downloading backports.functools_lru_cache-1.4-py2.py3-none-any.whl
>Installing collected packages: backports.functools-lru-cache
>Successfully installed backports.functools-lru-cache-1.4


same result

>BackendException: B2 backend requires B2 Python APIs (pip install b2)


I had a brainwave. Duplicity is using python 2.7 still according to strace (and /postscriptum/ zypper info). pip is provisioning for python3.

Installing it and calling it explicitly "pip2 install b2", worked. 

Thank you for the help and being my rubber duck!