)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"748b3e8de1a7d3ef60ea2ae0ac1f112d1eee22c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f7d8c5e1_a38c7b15","updated":"2023-12-01 21:45:49.000000000","message":"I will figure out unit tests and the release note next week","commit_id":"f928c27ff9f6118e5a298813973732bb177442e7"}],"ironic_python_agent/inspector.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7e908d2616b3a569f47e429df6ccc0a94bac340f","unresolved":true,"context_lines":[{"line_number":144,"context_line":"        req \u003d requests.post("},{"line_number":145,"context_line":"            CONF.inspection_callback_url, data\u003ddata,"},{"line_number":146,"context_line":"            verify\u003dverify, cert\u003dcert, timeout\u003dCONF.http_request_timeout)"},{"line_number":147,"context_line":"        if req.status_code \u003d\u003d 502:"},{"line_number":148,"context_line":"            raise requests.exceptions.ProxyError(req)"},{"line_number":149,"context_line":"        return req"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"4172d55a_baeae8a9","line":147,"updated":"2023-12-06 09:31:28.000000000","message":"Let\u0027s retry on all 5xx codes","commit_id":"f0fa7e3c02dc436148caf4a097dd816aa565aede"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"2ea24e586ebfdac424fb13f9c57a88bc556b2bf4","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        req \u003d requests.post("},{"line_number":145,"context_line":"            CONF.inspection_callback_url, data\u003ddata,"},{"line_number":146,"context_line":"            verify\u003dverify, cert\u003dcert, timeout\u003dCONF.http_request_timeout)"},{"line_number":147,"context_line":"        if req.status_code \u003d\u003d 502:"},{"line_number":148,"context_line":"            raise requests.exceptions.ProxyError(req)"},{"line_number":149,"context_line":"        return req"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"8520b7ef_7081c8f7","line":147,"in_reply_to":"4172d55a_baeae8a9","updated":"2023-12-06 15:00:35.000000000","message":"Done","commit_id":"f0fa7e3c02dc436148caf4a097dd816aa565aede"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d09e2686d576875f75eacf4fb9af8fbf36a971f","unresolved":true,"context_lines":[{"line_number":141,"context_line":"                                       min\u003d_RETRY_WAIT, max\u003d30),"},{"line_number":142,"context_line":"        reraise\u003dTrue)"},{"line_number":143,"context_line":"    def _post_to_inspector():"},{"line_number":144,"context_line":"        req \u003d requests.post("},{"line_number":145,"context_line":"            CONF.inspection_callback_url, data\u003ddata,"},{"line_number":146,"context_line":"            verify\u003dverify, cert\u003dcert, timeout\u003dCONF.http_request_timeout)"},{"line_number":147,"context_line":"        if req.status_code \u003e\u003d 500:"}],"source_content_type":"text/x-python","patch_set":4,"id":"4ef2724c_f3bcd09b","line":144,"updated":"2023-12-06 13:42:38.000000000","message":"very nit: \"req\" is an odd name for a response :)","commit_id":"227fb2058fa5a8355fa0cb308f01e067c169b03d"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"2ea24e586ebfdac424fb13f9c57a88bc556b2bf4","unresolved":false,"context_lines":[{"line_number":141,"context_line":"                                       min\u003d_RETRY_WAIT, max\u003d30),"},{"line_number":142,"context_line":"        reraise\u003dTrue)"},{"line_number":143,"context_line":"    def _post_to_inspector():"},{"line_number":144,"context_line":"        req \u003d requests.post("},{"line_number":145,"context_line":"            CONF.inspection_callback_url, data\u003ddata,"},{"line_number":146,"context_line":"            verify\u003dverify, cert\u003dcert, timeout\u003dCONF.http_request_timeout)"},{"line_number":147,"context_line":"        if req.status_code \u003e\u003d 500:"}],"source_content_type":"text/x-python","patch_set":4,"id":"d5928d7f_9e9fe7c0","line":144,"in_reply_to":"4ef2724c_f3bcd09b","updated":"2023-12-06 15:00:35.000000000","message":"Done","commit_id":"227fb2058fa5a8355fa0cb308f01e067c169b03d"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d09e2686d576875f75eacf4fb9af8fbf36a971f","unresolved":true,"context_lines":[{"line_number":145,"context_line":"            CONF.inspection_callback_url, data\u003ddata,"},{"line_number":146,"context_line":"            verify\u003dverify, cert\u003dcert, timeout\u003dCONF.http_request_timeout)"},{"line_number":147,"context_line":"        if req.status_code \u003e\u003d 500:"},{"line_number":148,"context_line":"            raise requests.exceptions.HTTPError(req)"},{"line_number":149,"context_line":"        return req"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    resp \u003d _post_to_inspector()"}],"source_content_type":"text/x-python","patch_set":4,"id":"380400a1_f024b73f","line":148,"updated":"2023-12-06 13:42:38.000000000","message":"From checking the docs https://requests.readthedocs.io/en/latest/_modules/requests/exceptions/ the response has to be passed as a keyword, could you double-check?","commit_id":"227fb2058fa5a8355fa0cb308f01e067c169b03d"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"2ea24e586ebfdac424fb13f9c57a88bc556b2bf4","unresolved":false,"context_lines":[{"line_number":145,"context_line":"            CONF.inspection_callback_url, data\u003ddata,"},{"line_number":146,"context_line":"            verify\u003dverify, cert\u003dcert, timeout\u003dCONF.http_request_timeout)"},{"line_number":147,"context_line":"        if req.status_code \u003e\u003d 500:"},{"line_number":148,"context_line":"            raise requests.exceptions.HTTPError(req)"},{"line_number":149,"context_line":"        return req"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"    resp \u003d _post_to_inspector()"}],"source_content_type":"text/x-python","patch_set":4,"id":"84bc51a6_bd2386a0","line":148,"in_reply_to":"380400a1_f024b73f","updated":"2023-12-06 15:00:35.000000000","message":"Done","commit_id":"227fb2058fa5a8355fa0cb308f01e067c169b03d"}],"ironic_python_agent/tests/unit/test_inspector.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d09e2686d576875f75eacf4fb9af8fbf36a971f","unresolved":true,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    @mock.patch.object(inspector, \u0027_RETRY_WAIT\u0027, 0.01)"},{"line_number":208,"context_line":"    @mock.patch.object(inspector, \u0027_RETRY_ATTEMPTS\u0027, 3)"},{"line_number":209,"context_line":"    def test_inspector_retries_on_50X_error(self, mock_post):"},{"line_number":210,"context_line":"        mock_post.side_effect \u003d [mock.Mock(status_code\u003d500),"},{"line_number":211,"context_line":"                                 mock.Mock(status_code\u003d501),"},{"line_number":212,"context_line":"                                 mock.Mock(status_code\u003d502)]"}],"source_content_type":"text/x-python","patch_set":4,"id":"e52c5ed0_ad495c7a","line":209,"updated":"2023-12-06 13:42:38.000000000","message":"Could you add another test that shows a recovery after 1 failure?","commit_id":"227fb2058fa5a8355fa0cb308f01e067c169b03d"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"2ea24e586ebfdac424fb13f9c57a88bc556b2bf4","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    @mock.patch.object(inspector, \u0027_RETRY_WAIT\u0027, 0.01)"},{"line_number":208,"context_line":"    @mock.patch.object(inspector, \u0027_RETRY_ATTEMPTS\u0027, 3)"},{"line_number":209,"context_line":"    def test_inspector_retries_on_50X_error(self, mock_post):"},{"line_number":210,"context_line":"        mock_post.side_effect \u003d [mock.Mock(status_code\u003d500),"},{"line_number":211,"context_line":"                                 mock.Mock(status_code\u003d501),"},{"line_number":212,"context_line":"                                 mock.Mock(status_code\u003d502)]"}],"source_content_type":"text/x-python","patch_set":4,"id":"ff63d4a0_a41d1508","line":209,"in_reply_to":"e52c5ed0_ad495c7a","updated":"2023-12-06 15:00:35.000000000","message":"Done","commit_id":"227fb2058fa5a8355fa0cb308f01e067c169b03d"}],"releasenotes/notes/inspector-retry-502-2b286e2ccc64c195.yaml":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0d09e2686d576875f75eacf4fb9af8fbf36a971f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes the post data to inspector in IPA to retry in 50X errors."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"563c92e6_8e0cd018","line":4,"updated":"2023-12-06 13:42:38.000000000","message":"nit: \"in IPA\" is redundant.","commit_id":"227fb2058fa5a8355fa0cb308f01e067c169b03d"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"2ea24e586ebfdac424fb13f9c57a88bc556b2bf4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes the post data to inspector in IPA to retry in 50X errors."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ab97139e_6b58b1c0","line":4,"in_reply_to":"563c92e6_8e0cd018","updated":"2023-12-06 15:00:35.000000000","message":"Acknowledged","commit_id":"227fb2058fa5a8355fa0cb308f01e067c169b03d"}]}
