)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"4db84340c7e779462d3cfee1475db02df919b8d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1a802a6b_45342140","updated":"2026-03-26 09:55:24.000000000","message":"makes sense, we need to remove usage of eventlet from the origin code and then change the mock, I will do it as a followup. Approving the change till then as this is required to fix the mentioned issue.","commit_id":"ee97a78e03bc297f10443a3bd912f2ad26583bd0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"a068bcf747930f9827cb2c65f791b2383d20f829","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a425f907_9e6260fc","updated":"2026-03-26 13:29:21.000000000","message":"recheck unrelated error - Could not wait for server fd - select (11: Resource temporarily unavailable)","commit_id":"ee97a78e03bc297f10443a3bd912f2ad26583bd0"}],"glance/tests/unit/common/test_utils.py":[{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"894ee22a11339da0d50fed08d3b0a5d4f6b48c74","unresolved":true,"context_lines":[{"line_number":954,"context_line":""},{"line_number":955,"context_line":"class ImportURITestCase(test_utils.BaseTestCase):"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"    @mock.patch(\"eventlet.green.socket.getaddrinfo\")"},{"line_number":958,"context_line":"    def test_validate_import_uri(self, mock_getaddrinfo):"},{"line_number":959,"context_line":"        # This avoid internet access in validate_import_uri()"},{"line_number":960,"context_line":"        # (ie: DNS resolution of foo.com)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1ca636a1_b0f0aa15","line":957,"updated":"2026-03-20 15:02:05.000000000","message":"I think we are moving away from eventlet so no use of mocking eventlet. Instead you should use @mock.patch(\"socket.getaddrinfo\")","commit_id":"ee97a78e03bc297f10443a3bd912f2ad26583bd0"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"2ba6674e6d2ce394b12674d6d163655a43e43382","unresolved":true,"context_lines":[{"line_number":954,"context_line":""},{"line_number":955,"context_line":"class ImportURITestCase(test_utils.BaseTestCase):"},{"line_number":956,"context_line":""},{"line_number":957,"context_line":"    @mock.patch(\"eventlet.green.socket.getaddrinfo\")"},{"line_number":958,"context_line":"    def test_validate_import_uri(self, mock_getaddrinfo):"},{"line_number":959,"context_line":"        # This avoid internet access in validate_import_uri()"},{"line_number":960,"context_line":"        # (ie: DNS resolution of foo.com)"}],"source_content_type":"text/x-python","patch_set":3,"id":"53187bdc_8905fe23","line":957,"in_reply_to":"1ca636a1_b0f0aa15","updated":"2026-03-25 15:07:25.000000000","message":"Hi Abhishek,\n\nThanks for your patch review.\n\nUnfortunately, it cannot be up to me to do this.\n\nThe problem is in the new normalize_hostname() in glance/common/utils.py included in the OSSA-2026-004, that calls socket.getaddrinfo from Eventlet. I understand why it has been made there, so that it would be easily backported to previous Glance versions. However, unless this file is patched to stop using Eventlet, my test fix has to mock Eventlet, no choice here.\n\nI shall also remind you that you\u0027re the author of this code that shouldn\u0027t be using Eventlet as you wrote. The only thing I\u0027m doing here, is repairing a wrong DNS query in the unit test that shouldn\u0027t have been there to begin with.\n\nSo, please repair normalize_hostname(), and I\u0027ll mock.patch the thing that will replace socket.getaddrinfo.\n\nI shall also remind you that I\u0027m only a poor Debian package maintainer, that have to deal with all what\u0027s produced by OpenStack upstream. While I happily send patches to fix things, I cannot spend all my time addressing the technical dept in each and every project: it simply wouldn\u0027t scale.\n\nUntil the code in normalize_hostname() is fixed to stop using Eventlet, it\u0027d be nice to allow this patch, which I also will be able to backport to fix the OSSA-2026-0004 patch.\n\nThanks for your understanding.","commit_id":"ee97a78e03bc297f10443a3bd912f2ad26583bd0"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"894ee22a11339da0d50fed08d3b0a5d4f6b48c74","unresolved":true,"context_lines":[{"line_number":992,"context_line":"                    group\u003d\u0027import_filtering_opts\u0027)"},{"line_number":993,"context_line":"        self.assertFalse(utils.validate_import_uri(\"http://localhost:8484\"))"},{"line_number":994,"context_line":""},{"line_number":995,"context_line":"    @mock.patch(\"eventlet.green.socket.getaddrinfo\")"},{"line_number":996,"context_line":"    def test_ignored_filtering_options(self, mock_getaddrinfo):"},{"line_number":997,"context_line":"        # This avoid internet access in validate_import_uri()"},{"line_number":998,"context_line":"        # (ie: DNS resolution of foo.com)"}],"source_content_type":"text/x-python","patch_set":3,"id":"d737144e_5a71cb5a","line":995,"range":{"start_line":995,"start_character":0,"end_line":995,"end_character":52},"updated":"2026-03-20 15:02:05.000000000","message":"ditto","commit_id":"ee97a78e03bc297f10443a3bd912f2ad26583bd0"},{"author":{"_account_id":6476,"name":"Thomas Goirand","email":"thomas@goirand.fr","username":"thomas-goirand"},"change_message_id":"2ba6674e6d2ce394b12674d6d163655a43e43382","unresolved":true,"context_lines":[{"line_number":992,"context_line":"                    group\u003d\u0027import_filtering_opts\u0027)"},{"line_number":993,"context_line":"        self.assertFalse(utils.validate_import_uri(\"http://localhost:8484\"))"},{"line_number":994,"context_line":""},{"line_number":995,"context_line":"    @mock.patch(\"eventlet.green.socket.getaddrinfo\")"},{"line_number":996,"context_line":"    def test_ignored_filtering_options(self, mock_getaddrinfo):"},{"line_number":997,"context_line":"        # This avoid internet access in validate_import_uri()"},{"line_number":998,"context_line":"        # (ie: DNS resolution of foo.com)"}],"source_content_type":"text/x-python","patch_set":3,"id":"644fe46b_da2b8992","line":995,"range":{"start_line":995,"start_character":0,"end_line":995,"end_character":52},"in_reply_to":"d737144e_5a71cb5a","updated":"2026-03-25 15:07:25.000000000","message":"ditto","commit_id":"ee97a78e03bc297f10443a3bd912f2ad26583bd0"}]}
