)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"2cbcddcf4731d7e03708be446bb7bbd684aa2245","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This logic is broken in a few places when dealing with real world"},{"line_number":10,"context_line":"redirect cases, such as Debian Cloud images redirecting to mirrors."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It seems that the code was written with an incorrect assumption that"},{"line_number":13,"context_line":"requests does not limit redirects by default. It does, the default"},{"line_number":14,"context_line":"max_redirects seems to be 30. We can change it on Session if we need."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #2127154"},{"line_number":17,"context_line":"Change-Id: I200d631e166075ceab80dcd4b0ff596d1860aa3b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"33537129_bdd1862d","line":14,"range":{"start_line":12,"start_character":0,"end_line":14,"end_character":69},"updated":"2025-10-13 13:33:01.000000000","message":"That is an incorrect assumption. The consensus then was not to open up ironic to a series of redirects, but only permit a single redirect to be handled.","commit_id":"d9121ee18cd0737dc73f2a5cef2375ffe3b2ebae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e5b7a3f74c73a60c61b587857d64b0fafec49e51","unresolved":true,"context_lines":[{"line_number":9,"context_line":"This logic is broken in a few places when dealing with real world"},{"line_number":10,"context_line":"redirect cases, such as Debian Cloud images redirecting to mirrors."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"It seems that the code was written with an incorrect assumption that"},{"line_number":13,"context_line":"requests does not limit redirects by default. It does, the default"},{"line_number":14,"context_line":"max_redirects seems to be 30. We can change it on Session if we need."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Closes-Bug: #2127154"},{"line_number":17,"context_line":"Change-Id: I200d631e166075ceab80dcd4b0ff596d1860aa3b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"82491536_d6bae741","line":14,"range":{"start_line":12,"start_character":0,"end_line":14,"end_character":69},"in_reply_to":"33537129_bdd1862d","updated":"2025-10-13 14:07:02.000000000","message":"For additional context, the issues we were seeing were path redirects for path handling where the URL was being corrected due to bad data entry. i.e.\n\nhttps://foo/bar -\u003e https://foo/bar/\n\nAlong with single step redirects in case an admin has moved the file.","commit_id":"d9121ee18cd0737dc73f2a5cef2375ffe3b2ebae"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e5b7a3f74c73a60c61b587857d64b0fafec49e51","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cf3b2213_b7b4cedd","updated":"2025-10-13 14:07:02.000000000","message":"Adding JayF to review as he was one of the original reviewers from when this went in:\n\nIf memory serves, there was then concern over with the open ended redirects and ultimately this might break some handling cases around anaconda, but given its not a mainstream driver maybe that is okay.","commit_id":"d9121ee18cd0737dc73f2a5cef2375ffe3b2ebae"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"7ce5754249e659db11c1c77ef384b951a4f997e1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f99d2d7e_abf6a668","updated":"2025-10-13 15:06:04.000000000","message":"I don\u0027t have specific memory of the original case, but trailing / vs no trailing / is absolutely a case we should ensure is (unit) tested.","commit_id":"d9121ee18cd0737dc73f2a5cef2375ffe3b2ebae"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"532be3407ab5fd65aad9be25d7d1076dea807ffe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d51d9059_2a6f0644","updated":"2025-10-15 16:32:53.000000000","message":"Let me look into the anaconda related logic once more before approving.","commit_id":"d9121ee18cd0737dc73f2a5cef2375ffe3b2ebae"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"4e03e7577a5745a543c90ccee2bfcac450e86c70","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"41a70e30_508ab6e6","updated":"2025-10-09 12:44:10.000000000","message":"recheck","commit_id":"d9121ee18cd0737dc73f2a5cef2375ffe3b2ebae"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"431ffec87d6bcce66428dafc900c931f9f5e960f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b46bcfbc_534ea85b","in_reply_to":"32c6ee6f_5d9265ae","updated":"2025-10-15 07:39:33.000000000","message":"I don\u0027t understand the argument here: I tried to reproduced the trailing slash logic as it was before. Which behavior change do you expect?\n\nYour patch has passed btw.","commit_id":"d9121ee18cd0737dc73f2a5cef2375ffe3b2ebae"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"41752b1a4c931258d0550236345d149322bf8997","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"32c6ee6f_5d9265ae","in_reply_to":"f99d2d7e_abf6a668","updated":"2025-10-13 15:40:52.000000000","message":"I went back into the history, it looks like Ruby was also one of the reviewers too. It was back in 2022.\n\nAt present, a lack of tailing slash on the url won\u0027t be handled by this code and is likely broken which likely breaks some anaconda usage. Unit testing unfortuantely won\u0027t really handle it when the tests are removed and unwound with the redirect changes. I\u0027ve proposed https://review.opendev.org/c/openstack/ironic/+/963869 as a quick test.","commit_id":"d9121ee18cd0737dc73f2a5cef2375ffe3b2ebae"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"309eefef214e2f0f2a00f93506a536494b736d18","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c65de3c8_75eab519","updated":"2025-10-15 16:50:21.000000000","message":"Testing","commit_id":"d711f2c008fc76e5f1b65d40ebc5cd63fc7946a3"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e7a5b9a32b47568df611e527d3075a20154883ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"d5fd3e58_eef58674","updated":"2025-10-31 14:47:52.000000000","message":"Finally tested this, it seems to work.","commit_id":"5482045e88a526538df26265af0a54ee847917c8"}],"ironic/common/image_service.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"e5b7a3f74c73a60c61b587857d64b0fafec49e51","unresolved":true,"context_lines":[{"line_number":182,"context_line":"                    or response.status_code \u003d\u003d http_client.FOUND"},{"line_number":183,"context_line":"                    or response.status_code \u003d\u003d http_client.TEMPORARY_REDIRECT"},{"line_number":184,"context_line":"                    or response.status_code \u003d\u003d http_client.PERMANENT_REDIRECT):"},{"line_number":185,"context_line":"                # NOTE(TheJulia): In the event we receive a redirect, we need"},{"line_number":186,"context_line":"                # to notify the caller. Before this we would just fail,"},{"line_number":187,"context_line":"                # but a url which is missing a trailing slash results in a"},{"line_number":188,"context_line":"                # redirect to a target path, and the caller *may* actually"},{"line_number":189,"context_line":"                # care about that."},{"line_number":190,"context_line":"                redirect \u003d requests.Session().get_redirect_target(response)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"                # Extra guard because this is pointless if there is no"}],"source_content_type":"text/x-python","patch_set":1,"id":"d86b2b16_a992b124","side":"PARENT","line":189,"range":{"start_line":185,"start_character":0,"end_line":189,"end_character":34},"updated":"2025-10-13 14:07:02.000000000","message":"I think this is going to be breaking for anaconda since you have to have a tailing slash on folders for it to be happy, if memory serves.","commit_id":"b8cc6447c107eef1c5cb98fa2ac504c207d5999e"}]}
