python3 + SSL + wsgi murano api RecursionError: maximum recursion depth exceeded while calling a Python object

Bug #1886784 reported by zhurong
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Murano
Fix Released
High
zhurong

Bug Description

b'{"code": 500, "title": "Internal Server Error", "explanation": "The server has either erred or is incapable of performing the requested operation.", "error": {"message": "maximum recursion depth exceeded", "type": "RecursionError", "traceback": "Traceback (most recent call last):\\n File \\"/usr/lib/python3.6/site-packages/murano/api/middleware/fault.py\\", line 130, in process_request\\n return req.get_response(self.application)\\n File \\"/usr/lib/python3.6/site-packages/webob/request.py\\", line 1313, in send\\n application, catch_exc_info=False)\\n File \\"/usr/lib/python3.6/site-packages/webob/request.py\\", line 1277, in call_application\\n app_iter = application(self.environ, start_response)\\n File \\"/usr/lib/python3.6/site-packages/webob/dec.py\\", line 129, in __call__\\n resp = self.call_func(req, *args, **kw)\\n File \\"/usr/lib/python3.6/site-packages/webob/dec.py\\", line 193, in call_func\\n return self.func(req, *args, **kwargs)\\n File \\"/usr/lib/python3.6/site-packages/keystonemiddleware/auth_token/__init__.py\\", line 338, in __call__\\n response = self.process_request(req)\\n File \\"/usr/lib/python3.6/site-packages/keystonemiddleware/auth_token/__init__.py\\", line 659, in process_request\\n resp = super(AuthProtocol, self).process_request(request)\\n File \\"/usr/lib/python3.6/site-packages/keystonemiddleware/auth_token/__init__.py\\", line 411, in process_request\\n allow_expired=allow_expired)\\n File \\"/usr/lib/python3.6/site-packages/keystonemiddleware/auth_token/__init__.py\\", line 445, in _do_fetch_token\\n data = self.fetch_token(token, **kwargs)\\n File \\"/usr/lib/python3.6/site-packages/keystonemiddleware/auth_token/__init__.py\\", line 754, in fetch_token\\n allow_expired=allow_expired)\\n File \\"/usr/lib/python3.6/site-packages/keystonemiddleware/auth_token/_identity.py\\", line 178, in verify_token\\n auth_ref = self._request_strategy.verify_token(\\n File \\"/usr/lib/python3.6/site-packages/keystonemiddleware/auth_token/_identity.py\\", line 128, in _request_strategy\\n strategy_class = self._get_strategy_class()\\n File \\"/usr/lib/python3.6/site-packages/keystonemiddleware/auth_token/_identity.py\\", line 151, in _get_strategy_class\\n if self._adapter.get_endpoint(version=klass.AUTH_VERSION):\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/adapter.py\\", line 282, in get_endpoint\\n return self.session.get_endpoint(auth or self.auth, **kwargs)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/session.py\\", line 1200, in get_endpoint\\n return auth.get_endpoint(self, **kwargs)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/identity/base.py\\", line 380, in get_endpoint\\n allow_version_hack=allow_version_hack, **kwargs)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/identity/base.py\\", line 271, in get_endpoint_data\\n service_catalog = self.get_access(session).service_catalog\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/identity/base.py\\", line 134, in get_access\\n self.auth_ref = self.get_auth_ref(session)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/identity/generic/base.py\\", line 206, in get_auth_ref\\n self._plugin = self._do_create_plugin(session)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/identity/generic/base.py\\", line 138, in _do_create_plugin\\n authenticated=False)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/identity/base.py\\", line 610, in get_discovery\\n authenticated=authenticated)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/discover.py\\", line 1442, in get_discovery\\n disc = Discover(session, url, authenticated=authenticated)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/discover.py\\", line 526, in __init__\\n authenticated=authenticated)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/discover.py\\", line 101, in get_version_data\\n resp = session.get(url, headers=headers, authenticated=authenticated)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/session.py\\", line 1098, in get\\n return self.request(url, \'GET\', **kwargs)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/session.py\\", line 888, in request\\n resp = send(**kwargs)\\n File \\"/usr/lib/python3.6/site-packages/keystoneauth1/session.py\\", line 979, in _send_request\\n resp = self.session.request(method, url, **kwargs)\\n File \\"/usr/lib/python3.6/site-packages/requests/sessions.py\\", line 533, in request\\n resp = self.send(prep, **send_kwargs)\\n File \\"/usr/lib/python3.6/site-packages/requests/sessions.py\\", line 646, in send\\n r = adapter.send(request, **kwargs)\\n File \\"/usr/lib/python3.6/site-packages/requests/adapters.py\\", line 449, in send\\n timeout=timeout\\n File \\"/usr/lib/python3.6/site-packages/urllib3/connectionpool.py\\", line 600, in urlopen\\n chunked=chunked)\\n File \\"/usr/lib/python3.6/site-packages/urllib3/connectionpool.py\\", line 343, in _make_request\\n self._validate_conn(conn)\\n File \\"/usr/lib/python3.6/site-packages/urllib3/connectionpool.py\\", line 839, in _validate_conn\\n conn.connect()\\n File \\"/usr/lib/python3.6/site-packages/urllib3/connection.py\\", line 332, in connect\\n cert_reqs=resolve_cert_reqs(self.cert_reqs),\\n File \\"/usr/lib/python3.6/site-packages/urllib3/util/ssl_.py\\", line 281, in create_urllib3_context\\n context.options |= options\\n File \\"/usr/lib64/python3.6/ssl.py\\", line 423, in options\\n super(SSLContext, SSLContext).options.__set__(self, value)\\n File \\"/usr/lib64/python3.6/ssl.py\\", line 423, in options\\n super(SSLContext, SSLContext).options.__set__(self, value)\\n File \\"/usr/lib64/python3.6/ssl.py\\", line 423, in options\\n super(SSLContext, SSLContext).options.__set__(self, value)\\n [Previous line repeated 287 more times]\\nRecursionError: maximum recursion depth exceeded\\n"}}

zhurong (zhu-rong)
Changed in murano:
status: New → Confirmed
importance: Undecided → High
assignee: nobody → zhurong (zhu-rong)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to murano (master)

Fix proposed to branch: master
Review: https://review.opendev.org/739923

Changed in murano:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to murano (master)

Reviewed: https://review.opendev.org/739923
Committed: https://git.openstack.org/cgit/openstack/murano/commit/?id=ae9b4e8099a31e2a45e1a1ed0f225f50f34ca394
Submitter: Zuul
Branch: master

commit ae9b4e8099a31e2a45e1a1ed0f225f50f34ca394
Author: zhurong <email address hidden>
Date: Wed Jul 8 16:25:18 2020 +0800

    Murano api add monkey patch

    In this commit [0] has monkey patching should be as
    early as possible, but didn't monkey patch murano api,
    this will cause the RecursionError

    [0]: I76fed9e80a7f848a0f6b37c25dd035844c75a6ee

    Change-Id: Idf8ab02b15459d4dc786389c583afb752c599cb6
    Closes-Bug: #1886784

Changed in murano:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to murano (stable/ussuri)

Fix proposed to branch: stable/ussuri
Review: https://review.opendev.org/740394

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to murano (stable/train)

Fix proposed to branch: stable/train
Review: https://review.opendev.org/740395

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to murano (stable/ussuri)

Reviewed: https://review.opendev.org/740394
Committed: https://git.openstack.org/cgit/openstack/murano/commit/?id=e2025ccab6f14e706193a8fbf7009ef9670bc575
Submitter: Zuul
Branch: stable/ussuri

commit e2025ccab6f14e706193a8fbf7009ef9670bc575
Author: zhurong <email address hidden>
Date: Wed Jul 8 16:25:18 2020 +0800

    Murano api add monkey patch

    In this commit [0] has monkey patching should be as
    early as possible, but didn't monkey patch murano api,
    this will cause the RecursionError

    [0]: I76fed9e80a7f848a0f6b37c25dd035844c75a6ee

    Change-Id: Idf8ab02b15459d4dc786389c583afb752c599cb6
    Closes-Bug: #1886784
    (cherry picked from commit ae9b4e8099a31e2a45e1a1ed0f225f50f34ca394)

tags: added: in-stable-ussuri
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to murano (stable/train)

Reviewed: https://review.opendev.org/740395
Committed: https://git.openstack.org/cgit/openstack/murano/commit/?id=cfef69e34e3eda4f019a00a2d84ff3d6e5288a1d
Submitter: Zuul
Branch: stable/train

commit cfef69e34e3eda4f019a00a2d84ff3d6e5288a1d
Author: zhurong <email address hidden>
Date: Wed Jul 8 16:25:18 2020 +0800

    Murano api add monkey patch

    In this commit [0] has monkey patching should be as
    early as possible, but didn't monkey patch murano api,
    this will cause the RecursionError

    [0]: I76fed9e80a7f848a0f6b37c25dd035844c75a6ee

    Change-Id: Idf8ab02b15459d4dc786389c583afb752c599cb6
    Closes-Bug: #1886784
    (cherry picked from commit ae9b4e8099a31e2a45e1a1ed0f225f50f34ca394)

tags: added: in-stable-train
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/murano 8.1.1

This issue was fixed in the openstack/murano 8.1.1 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/murano ussuri-eol

This issue was fixed in the openstack/murano ussuri-eol release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.