Public bug reported:
I found python-botocore 1.16.19+repack-1ubuntu0.16.04.2 unable to make
S3 requests. Minimal reproducer:
import os
import boto3
os.environ["AWS_ACCESS_KEY_ID"] = "ABCABCABCABCABCABCAB"
os.environ["AWS_SECRET_ACCESS_KEY"] =
"YWJjYWJjYWJjYWJjYWJjYWJjYWJjYWJjYWJhYmMK"
os.environ["AWS_DEFAULT_REGION"] = "us-east-1"
boto3.client("s3").list_objects(Bucket="abc")
The error I get with python-botocore 1.16.19+repack-1ubuntu0.16.04.2
from xenial-updates/universe is:
$ python repro.py
Traceback (most recent call last):
File "repro.py", line 6, in <module>
boto3.client("s3").list_objects(Bucket="abc")
File "/usr/lib/python2.7/dist-packages/botocore/client.py", line 316, in
_api_call
return self._make_api_call(operation_name, kwargs)
File "/usr/lib/python2.7/dist-packages/botocore/client.py", line 622, in
_make_api_call
operation_model, request_dict, request_context)
File "/usr/lib/python2.7/dist-packages/botocore/client.py", line 641, in
_make_request
return self._endpoint.make_request(operation_model, request_dict)
File "/usr/lib/python2.7/dist-packages/botocore/endpoint.py", line 102, in
make_request
return self._send_request(request_dict, operation_model)
File "/usr/lib/python2.7/dist-packages/botocore/endpoint.py", line 137, in
_send_request
success_response, exception):
File "/usr/lib/python2.7/dist-packages/botocore/endpoint.py", line 256, in
_needs_retry
caught_exception=caught_exception, request_dict=request_dict)
File "/usr/lib/python2.7/dist-packages/botocore/hooks.py", line 356, in emit
return self._emitter.emit(aliased_event_name, **kwargs)
File "/usr/lib/python2.7/dist-packages/botocore/hooks.py", line 228, in emit
return self._emit(event_name, kwargs)
File "/usr/lib/python2.7/dist-packages/botocore/hooks.py", line 211, in _emit
response = handler(**kwargs)
File "/usr/lib/python2.7/dist-packages/botocore/retryhandler.py", line 183,
in __call__
if self._checker(attempts, response, caught_exception):
File "/usr/lib/python2.7/dist-packages/botocore/retryhandler.py", line 251,
in __call__
caught_exception)
File "/usr/lib/python2.7/dist-packages/botocore/retryhandler.py", line 269,
in _should_retry
return self._checker(attempt_number, response, caught_exception)
File "/usr/lib/python2.7/dist-packages/botocore/retryhandler.py", line 317,
in __call__
caught_exception)
File "/usr/lib/python2.7/dist-packages/botocore/retryhandler.py", line 223,
in __call__
attempt_number, caught_exception)
File "/usr/lib/python2.7/dist-packages/botocore/retryhandler.py", line 359,
in _check_caught_exception
raise caught_exception
botocore.exceptions.HTTPClientError: An HTTP Client raised and unhandled
exception: name must be a byte string
Downgrading it to python-botocore 1.3.23-1 from xenial/universe solves
the problem (the error changes to "The AWS Access Key Id you provided
does not exist in our records" but this is expected).
The error exception "name must be a byte string" originates from
pyopnessl (https://github.com/pyca/pyopenssl/issues/515) so my
understanding is that the latest version of botocore in xenial-updates
is incompatible with xenial's ssl libraries.
** Affects: python-botocore (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1905069
Title:
python-botocore in xenial-updates can no longer make S3 requests due
to some incompatibility with python-openssl
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-botocore/+bug/1905069/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs