Bug 2050751
| Summary: | fence_aws fails to find credentials when only IMDSv2 is enabled (RHEL7) | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Oyvind Albrigtsen <oalbrigt> | |
| Component: | python-s3transfer | Assignee: | Oyvind Albrigtsen <oalbrigt> | |
| Status: | CLOSED ERRATA | QA Contact: | Brandon Perkins <bperkins> | |
| Severity: | high | Docs Contact: | ||
| Priority: | high | |||
| Version: | 7.9 | CC: | adamkam, bperkins, cfeist, devel, jered, jobaker, jreznik, nwahl, sbradley | |
| Target Milestone: | rc | Keywords: | Triaged, ZStream | |
| Target Release: | 7.9 | Flags: | pm-rhel:
mirror+
|
|
| Hardware: | All | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | python-s3transfer-0.1.13-1.el7_9.2 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | 2048857 | |||
| : | 2052629 2052630 (view as bug list) | Environment: | ||
| Last Closed: | 2022-04-05 17:15:20 UTC | Type: | --- | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | 2048857, 2050759, 2051935 | |||
| Bug Blocks: | 2052629, 2052630 | |||
|
Description
Oyvind Albrigtsen
2022-02-04 15:08:37 UTC
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (python-s3transfer bug fix and enhancement update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2022:1195 This update has triggered some severe failures on any code loading urllib3 before boto3. # python Python 2.7.5 (default, Nov 16 2020, 22:23:17) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import urllib3 >>> import boto3 Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/site-packages/boto3/__init__.py", line 16, in <module> from boto3.session import Session File "/usr/lib/python2.7/site-packages/boto3/session.py", line 19, in <module> import botocore.session File "/usr/lib/fence-agents/bundled/botocore/session.py", line 29, in <module> import botocore.credentials File "/usr/lib/fence-agents/bundled/botocore/credentials.py", line 34, in <module> from botocore.config import Config File "/usr/lib/fence-agents/bundled/botocore/config.py", line 16, in <module> from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS File "/usr/lib/fence-agents/bundled/botocore/endpoint.py", line 22, in <module> from botocore.awsrequest import create_request_object File "/usr/lib/fence-agents/bundled/botocore/awsrequest.py", line 24, in <module> import botocore.utils File "/usr/lib/fence-agents/bundled/botocore/utils.py", line 32, in <module> import botocore.httpsession File "/usr/lib/fence-agents/bundled/botocore/httpsession.py", line 10, in <module> from urllib3.util.ssl_ import ( ImportError: cannot import name PROTOCOL_TLS >>> Certbot from EPEL repository is currently broken after the package update to python-s3transfer due to the urllib3 update: # certbot An unexpected error occurred: ImportError: cannot import name PROTOCOL_TLS Please see the logfile '/tmp/tmpxyrTML/log' for more details. # cat /tmp/tmpxyrTML/log 2022-04-07 12:10:52,605:DEBUG:certbot._internal.log:Exiting abnormally: Traceback (most recent call last): File "/bin/certbot", line 9, in <module> load_entry_point('certbot==1.11.0', 'console_scripts', 'certbot')() File "/usr/lib/python2.7/site-packages/certbot/main.py", line 15, in main return internal_main.main(cli_args) File "/usr/lib/python2.7/site-packages/certbot/_internal/main.py", line 1383, in main plugins = plugins_disco.PluginsRegistry.find_all() File "/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.py", line 236, in find_all plugin_ep = cls._load_entry_point(entry_point, plugins, with_prefix=False) File "/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.py", line 254, in _load_entry_point plugin_ep = PluginEntryPoint(entry_point, with_prefix) File "/usr/lib/python2.7/site-packages/certbot/_internal/plugins/disco.py", line 56, in __init__ self.plugin_cls = entry_point.load() File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2260, in load entry = __import__(self.module_name, globals(),globals(), ['__name__']) File "/usr/lib/python2.7/site-packages/certbot_dns_route53/authenticator.py", line 7, in <module> from certbot_dns_route53._internal import dns_route53 File "/usr/lib/python2.7/site-packages/certbot_dns_route53/_internal/dns_route53.py", line 6, in <module> import boto3 File "/usr/lib/python2.7/site-packages/boto3/__init__.py", line 16, in <module> from boto3.session import Session File "/usr/lib/python2.7/site-packages/boto3/session.py", line 19, in <module> import botocore.session File "/usr/lib/fence-agents/bundled/botocore/session.py", line 29, in <module> import botocore.credentials File "/usr/lib/fence-agents/bundled/botocore/credentials.py", line 34, in <module> from botocore.config import Config File "/usr/lib/fence-agents/bundled/botocore/config.py", line 16, in <module> from botocore.endpoint import DEFAULT_TIMEOUT, MAX_POOL_CONNECTIONS File "/usr/lib/fence-agents/bundled/botocore/endpoint.py", line 22, in <module> from botocore.awsrequest import create_request_object File "/usr/lib/fence-agents/bundled/botocore/awsrequest.py", line 24, in <module> import botocore.utils File "/usr/lib/fence-agents/bundled/botocore/utils.py", line 32, in <module> import botocore.httpsession File "/usr/lib/fence-agents/bundled/botocore/httpsession.py", line 10, in <module> from urllib3.util.ssl_ import ( ImportError: cannot import name PROTOCOL_TLS 2022-04-07 12:10:52,605:ERROR:certbot._internal.log:An unexpected error occurred: 2022-04-07 12:10:52,605:ERROR:certbot._internal.log:ImportError: cannot import name PROTOCOL_TLS I raised in https://bugzilla.redhat.com/show_bug.cgi?id=2072990 At least on CentOS 7 (have not yet tested on RHEL 7) this breaks the currently packaged version of awscli (awscli-1.14.28-5.el7_5.1):
# aws --version
Traceback (most recent call last):
File "/bin/aws", line 19, in <module>
import awscli.clidriver
File "/usr/lib/python2.7/site-packages/awscli/clidriver.py", line 37, in <module>
from awscli.help import ProviderHelpCommand
File "/usr/lib/python2.7/site-packages/awscli/help.py", line 24, in <module>
from botocore.docs.bcdoc import docevents
ImportError: cannot import name docevents
|