)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6e6d72402b2b79e2bb1d1ad7c8d4faa5697dc32d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"to the parent when explicitly provided, allowing the adapter\u0027s"},{"line_number":16,"context_line":"configured value to take effect."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: #2154273"},{"line_number":19,"context_line":"Generated-By: claude-code (Claude Opus 4.6)"},{"line_number":20,"context_line":"Change-Id: Ib325f938bf232afc3bfab25c5710bfa27baadfd6"},{"line_number":21,"context_line":"Signed-off-by: jgilaber \u003cjgilaber@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"0f07df5c_9ca90efa","line":18,"updated":"2026-05-26 11:29:42.000000000","message":"FYI, this bug would be a lot easier to grok if you gave a minimal reproducer of the bug, be that a script or a REPL session.","commit_id":"68b5d04cd8d33483ad9b6b1e40989e9bd65d3141"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"f236a4eda5ef56b9b53fa68933be6aaeba61beb7","unresolved":false,"context_lines":[{"line_number":15,"context_line":"to the parent when explicitly provided, allowing the adapter\u0027s"},{"line_number":16,"context_line":"configured value to take effect."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Closes-Bug: #2154273"},{"line_number":19,"context_line":"Generated-By: claude-code (Claude Opus 4.6)"},{"line_number":20,"context_line":"Change-Id: Ib325f938bf232afc3bfab25c5710bfa27baadfd6"},{"line_number":21,"context_line":"Signed-off-by: jgilaber \u003cjgilaber@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"a470898d_04668549","line":18,"in_reply_to":"0f07df5c_9ca90efa","updated":"2026-05-26 16:31:29.000000000","message":"I\u0027ve added a reproducer script in the bug report","commit_id":"68b5d04cd8d33483ad9b6b1e40989e9bd65d3141"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6e6d72402b2b79e2bb1d1ad7c8d4faa5697dc32d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2f2210e5_5ddfec81","updated":"2026-05-26 11:29:42.000000000","message":"I think this can be simpler","commit_id":"68b5d04cd8d33483ad9b6b1e40989e9bd65d3141"}],"openstack/proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6e6d72402b2b79e2bb1d1ad7c8d4faa5697dc32d","unresolved":true,"context_lines":[{"line_number":246,"context_line":"                expiration_time \u003d int("},{"line_number":247,"context_line":"                    conn._cache_expirations.get(key_prefix, 0)"},{"line_number":248,"context_line":"                )"},{"line_number":249,"context_line":"                # Get from cache or execute and cache"},{"line_number":250,"context_line":"                creator_kwargs: dict[str, Any] \u003d {"},{"line_number":251,"context_line":"                    \u0027raise_exc\u0027: raise_exc,"},{"line_number":252,"context_line":"                    \u0027global_request_id\u0027: global_request_id,"},{"line_number":253,"context_line":"                    **kwargs,"},{"line_number":254,"context_line":"                }"},{"line_number":255,"context_line":"                if connect_retries is not None:"},{"line_number":256,"context_line":"                    creator_kwargs[\u0027connect_retries\u0027] \u003d connect_retries"},{"line_number":257,"context_line":"                _response \u003d conn._cache.get_or_create("},{"line_number":258,"context_line":"                    key\u003dkey,"},{"line_number":259,"context_line":"                    creator\u003dsuper().request,"},{"line_number":260,"context_line":"                    creator_args\u003d("},{"line_number":261,"context_line":"                        [url, method],"},{"line_number":262,"context_line":"                        creator_kwargs,"},{"line_number":263,"context_line":"                    ),"},{"line_number":264,"context_line":"                    expiration_time\u003dexpiration_time,"},{"line_number":265,"context_line":"                )"},{"line_number":266,"context_line":"                response \u003d cast(\u0027requests.Response\u0027, _response)"},{"line_number":267,"context_line":"            else:"},{"line_number":268,"context_line":"                # invalidate cache if we send modification request or user"},{"line_number":269,"context_line":"                # asked for cache bypass"},{"line_number":270,"context_line":"                self._invalidate_cache(conn, key_prefix)"},{"line_number":271,"context_line":"                # Pass through the API request bypassing cache"},{"line_number":272,"context_line":"                request_kwargs: dict[str, Any] \u003d {"},{"line_number":273,"context_line":"                    \u0027raise_exc\u0027: raise_exc,"},{"line_number":274,"context_line":"                    \u0027global_request_id\u0027: global_request_id,"},{"line_number":275,"context_line":"                    **kwargs,"},{"line_number":276,"context_line":"                }"},{"line_number":277,"context_line":"                if connect_retries is not None:"},{"line_number":278,"context_line":"                    request_kwargs[\u0027connect_retries\u0027] \u003d connect_retries"},{"line_number":279,"context_line":"                response \u003d super().request("},{"line_number":280,"context_line":"                    url,"},{"line_number":281,"context_line":"                    method,"},{"line_number":282,"context_line":"                    **request_kwargs,"},{"line_number":283,"context_line":"                )"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"            for h in response.history:"},{"line_number":286,"context_line":"                self._report_stats(h)"}],"source_content_type":"text/x-python","patch_set":1,"id":"0c47b3e0_2e5aaa90","line":283,"range":{"start_line":249,"start_character":0,"end_line":283,"end_character":17},"updated":"2026-05-26 11:29:42.000000000","message":"I don\u0027t believe these changes are necessary since keystoneauth will ignore `None` values? Changing the default should be sufficient.\n\nhttps://github.com/openstack/keystoneauth/blob/92dade5b56767908b62cf516667b93278c59dd84/keystoneauth1/adapter.py#L257","commit_id":"68b5d04cd8d33483ad9b6b1e40989e9bd65d3141"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"f236a4eda5ef56b9b53fa68933be6aaeba61beb7","unresolved":true,"context_lines":[{"line_number":246,"context_line":"                expiration_time \u003d int("},{"line_number":247,"context_line":"                    conn._cache_expirations.get(key_prefix, 0)"},{"line_number":248,"context_line":"                )"},{"line_number":249,"context_line":"                # Get from cache or execute and cache"},{"line_number":250,"context_line":"                creator_kwargs: dict[str, Any] \u003d {"},{"line_number":251,"context_line":"                    \u0027raise_exc\u0027: raise_exc,"},{"line_number":252,"context_line":"                    \u0027global_request_id\u0027: global_request_id,"},{"line_number":253,"context_line":"                    **kwargs,"},{"line_number":254,"context_line":"                }"},{"line_number":255,"context_line":"                if connect_retries is not None:"},{"line_number":256,"context_line":"                    creator_kwargs[\u0027connect_retries\u0027] \u003d connect_retries"},{"line_number":257,"context_line":"                _response \u003d conn._cache.get_or_create("},{"line_number":258,"context_line":"                    key\u003dkey,"},{"line_number":259,"context_line":"                    creator\u003dsuper().request,"},{"line_number":260,"context_line":"                    creator_args\u003d("},{"line_number":261,"context_line":"                        [url, method],"},{"line_number":262,"context_line":"                        creator_kwargs,"},{"line_number":263,"context_line":"                    ),"},{"line_number":264,"context_line":"                    expiration_time\u003dexpiration_time,"},{"line_number":265,"context_line":"                )"},{"line_number":266,"context_line":"                response \u003d cast(\u0027requests.Response\u0027, _response)"},{"line_number":267,"context_line":"            else:"},{"line_number":268,"context_line":"                # invalidate cache if we send modification request or user"},{"line_number":269,"context_line":"                # asked for cache bypass"},{"line_number":270,"context_line":"                self._invalidate_cache(conn, key_prefix)"},{"line_number":271,"context_line":"                # Pass through the API request bypassing cache"},{"line_number":272,"context_line":"                request_kwargs: dict[str, Any] \u003d {"},{"line_number":273,"context_line":"                    \u0027raise_exc\u0027: raise_exc,"},{"line_number":274,"context_line":"                    \u0027global_request_id\u0027: global_request_id,"},{"line_number":275,"context_line":"                    **kwargs,"},{"line_number":276,"context_line":"                }"},{"line_number":277,"context_line":"                if connect_retries is not None:"},{"line_number":278,"context_line":"                    request_kwargs[\u0027connect_retries\u0027] \u003d connect_retries"},{"line_number":279,"context_line":"                response \u003d super().request("},{"line_number":280,"context_line":"                    url,"},{"line_number":281,"context_line":"                    method,"},{"line_number":282,"context_line":"                    **request_kwargs,"},{"line_number":283,"context_line":"                )"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"            for h in response.history:"},{"line_number":286,"context_line":"                self._report_stats(h)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ec87e3bd_90c43269","line":283,"range":{"start_line":249,"start_character":0,"end_line":283,"end_character":17},"in_reply_to":"0c47b3e0_2e5aaa90","updated":"2026-05-26 16:31:29.000000000","message":"no, that does not seem to work because the `kwargs` in the `_request` method already contains `connect_retries` so the `setdefault` does nothing","commit_id":"68b5d04cd8d33483ad9b6b1e40989e9bd65d3141"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6207626cbd57f0a4e774592bd6492b8597609cb4","unresolved":false,"context_lines":[{"line_number":246,"context_line":"                expiration_time \u003d int("},{"line_number":247,"context_line":"                    conn._cache_expirations.get(key_prefix, 0)"},{"line_number":248,"context_line":"                )"},{"line_number":249,"context_line":"                # Get from cache or execute and cache"},{"line_number":250,"context_line":"                creator_kwargs: dict[str, Any] \u003d {"},{"line_number":251,"context_line":"                    \u0027raise_exc\u0027: raise_exc,"},{"line_number":252,"context_line":"                    \u0027global_request_id\u0027: global_request_id,"},{"line_number":253,"context_line":"                    **kwargs,"},{"line_number":254,"context_line":"                }"},{"line_number":255,"context_line":"                if connect_retries is not None:"},{"line_number":256,"context_line":"                    creator_kwargs[\u0027connect_retries\u0027] \u003d connect_retries"},{"line_number":257,"context_line":"                _response \u003d conn._cache.get_or_create("},{"line_number":258,"context_line":"                    key\u003dkey,"},{"line_number":259,"context_line":"                    creator\u003dsuper().request,"},{"line_number":260,"context_line":"                    creator_args\u003d("},{"line_number":261,"context_line":"                        [url, method],"},{"line_number":262,"context_line":"                        creator_kwargs,"},{"line_number":263,"context_line":"                    ),"},{"line_number":264,"context_line":"                    expiration_time\u003dexpiration_time,"},{"line_number":265,"context_line":"                )"},{"line_number":266,"context_line":"                response \u003d cast(\u0027requests.Response\u0027, _response)"},{"line_number":267,"context_line":"            else:"},{"line_number":268,"context_line":"                # invalidate cache if we send modification request or user"},{"line_number":269,"context_line":"                # asked for cache bypass"},{"line_number":270,"context_line":"                self._invalidate_cache(conn, key_prefix)"},{"line_number":271,"context_line":"                # Pass through the API request bypassing cache"},{"line_number":272,"context_line":"                request_kwargs: dict[str, Any] \u003d {"},{"line_number":273,"context_line":"                    \u0027raise_exc\u0027: raise_exc,"},{"line_number":274,"context_line":"                    \u0027global_request_id\u0027: global_request_id,"},{"line_number":275,"context_line":"                    **kwargs,"},{"line_number":276,"context_line":"                }"},{"line_number":277,"context_line":"                if connect_retries is not None:"},{"line_number":278,"context_line":"                    request_kwargs[\u0027connect_retries\u0027] \u003d connect_retries"},{"line_number":279,"context_line":"                response \u003d super().request("},{"line_number":280,"context_line":"                    url,"},{"line_number":281,"context_line":"                    method,"},{"line_number":282,"context_line":"                    **request_kwargs,"},{"line_number":283,"context_line":"                )"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"            for h in response.history:"},{"line_number":286,"context_line":"                self._report_stats(h)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8e6b9fa1_5db7e72e","line":283,"range":{"start_line":249,"start_character":0,"end_line":283,"end_character":17},"in_reply_to":"ec87e3bd_90c43269","updated":"2026-05-28 15:01:32.000000000","message":"Ah, indeed 🤦","commit_id":"68b5d04cd8d33483ad9b6b1e40989e9bd65d3141"}],"openstack/tests/unit/test_proxy.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6e6d72402b2b79e2bb1d1ad7c8d4faa5697dc32d","unresolved":true,"context_lines":[{"line_number":610,"context_line":"        self.session.request.assert_called_with("},{"line_number":611,"context_line":"            \u0027fake/1\u0027,"},{"line_number":612,"context_line":"            \u0027GET\u0027,"},{"line_number":613,"context_line":"            connect_retries\u003dmock.ANY,"},{"line_number":614,"context_line":"            raise_exc\u003dmock.ANY,"},{"line_number":615,"context_line":"            global_request_id\u003dmock.ANY,"},{"line_number":616,"context_line":"            microversion\u003dmock.ANY,"}],"source_content_type":"text/x-python","patch_set":1,"id":"544f127b_b1983469","side":"PARENT","line":613,"updated":"2026-05-26 11:29:42.000000000","message":"Rather than remove this, can we set a concrete value?","commit_id":"b3f2a05382766d773e7ca6241f75581eac8425b6"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"f236a4eda5ef56b9b53fa68933be6aaeba61beb7","unresolved":true,"context_lines":[{"line_number":610,"context_line":"        self.session.request.assert_called_with("},{"line_number":611,"context_line":"            \u0027fake/1\u0027,"},{"line_number":612,"context_line":"            \u0027GET\u0027,"},{"line_number":613,"context_line":"            connect_retries\u003dmock.ANY,"},{"line_number":614,"context_line":"            raise_exc\u003dmock.ANY,"},{"line_number":615,"context_line":"            global_request_id\u003dmock.ANY,"},{"line_number":616,"context_line":"            microversion\u003dmock.ANY,"}],"source_content_type":"text/x-python","patch_set":1,"id":"de108290_62c588fc","side":"PARENT","line":613,"in_reply_to":"544f127b_b1983469","updated":"2026-05-26 16:31:29.000000000","message":"done, I\u0027ve configured `connect_retries\u003d3` and checked here that the value is set properly","commit_id":"b3f2a05382766d773e7ca6241f75581eac8425b6"}]}
