Bug 1306492 - python2-boto3 RPM missing dependency on python-futures
python2-boto3 RPM missing dependency on python-futures
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: python-boto3 (Show other bugs)
23
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Fabio Alessandro Locati
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-10 20:44 EST by Charles Simpson
Modified: 2016-02-28 15:24 EST (History)
1 user (show)

See Also:
Fixed In Version: python-boto3-1.2.3-3.fc22 python-boto3-1.2.3-3.fc23 python-boto3-1.2.3-3.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-02-22 15:50:28 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Charles Simpson 2016-02-10 20:44:47 EST
Description of problem:
Boto 3 uses concurrent.futures in s3.transfer. Without the backport of concurrent.futures from python-futures installed, s3 cannot be used from Boto 3.

How reproducible:
Always

Steps to Reproduce:
1. Install python2-boto3 via dnf *without* python-futures previously installed
2. Configure AWS credentials per https://github.com/boto/boto3#quick-start
3. From a Python interpreter:

    >>> import boto3
    >>> s3 = boto3.resource('s3')

4. Manually install python-futures via dnf
5. Repeat snippet in Python interpreter; call no longer crashes.

Actual results:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/boto3/__init__.py", line 87, in resource
    return _get_default_session().resource(*args, **kwargs)
  File "/usr/lib/python2.7/site-packages/boto3/session.py", line 292, in resource
    aws_session_token=aws_session_token, config=config)
  File "/usr/lib/python2.7/site-packages/boto3/session.py", line 200, in client
    aws_session_token=aws_session_token, config=config)
  File "/usr/lib/python2.7/site-packages/botocore/session.py", line 796, in create_client
    client_config=config, api_version=api_version)
  File "/usr/lib/python2.7/site-packages/botocore/client.py", line 59, in create_client
    cls = self._create_client_class(service_name, service_model)
  File "/usr/lib/python2.7/site-packages/botocore/client.py", line 76, in _create_client_class
    base_classes=bases)
  File "/usr/lib/python2.7/site-packages/botocore/hooks.py", line 226, in emit
    return self._emit(event_name, kwargs)
  File "/usr/lib/python2.7/site-packages/botocore/hooks.py", line 209, in _emit
    response = handler(**kwargs)
  File "/usr/lib/python2.7/site-packages/boto3/utils.py", line 59, in _handler
    module = import_module(module)
  File "/usr/lib/python2.7/site-packages/boto3/utils.py", line 52, in import_module
    __import__(name)
  File "/usr/lib/python2.7/site-packages/boto3/s3/inject.py", line 13, in <module>
    from boto3.s3.transfer import S3Transfer
  File "/usr/lib/python2.7/site-packages/boto3/s3/transfer.py", line 135, in <module>
    from concurrent import futures
ImportError: No module named concurrent


Expected results:

python2-boto3 RPM requires python-futures so that python-futures also gets installed and provided snippet does not crash.


Additional info:
Usage of concurrent.futures in source code: https://github.com/boto/boto3/blob/develop/boto3/s3/transfer.py#L135
Boto 3 setup.cfg requiring futures: https://github.com/boto/boto3/blob/develop/setup.cfg#L8
Missing requires: http://pkgs.fedoraproject.org/cgit/rpms/python-boto3.git/tree/python-boto3.spec#n41

Impacts versions 22, 23, and rawhide, but Bugzilla will only let me select one.
Comment 1 Fedora Update System 2016-02-11 04:35:32 EST
python-boto3-1.2.3-3.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-f7e91f03a2
Comment 2 Fedora Update System 2016-02-11 04:35:34 EST
python-boto3-1.2.3-3.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-e83dc0f643
Comment 3 Fedora Update System 2016-02-11 04:35:40 EST
python-boto3-1.2.3-3.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1ee30cef86
Comment 4 Fedora Update System 2016-02-12 08:51:40 EST
python-boto3-1.2.3-3.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-f7e91f03a2
Comment 5 Fedora Update System 2016-02-12 12:21:11 EST
python-boto3-1.2.3-3.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2016-1ee30cef86
Comment 6 Fedora Update System 2016-02-14 11:23:56 EST
python-boto3-1.2.3-3.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-e83dc0f643
Comment 7 Fedora Update System 2016-02-22 15:50:26 EST
python-boto3-1.2.3-3.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.
Comment 8 Fedora Update System 2016-02-22 20:24:50 EST
python-boto3-1.2.3-3.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.
Comment 9 Fedora Update System 2016-02-28 15:24:44 EST
python-boto3-1.2.3-3.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.