)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5567cdb3dac712c2ca939977757e8ba6630d28a4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8417467c_9f5d00d6","updated":"2026-11-12 11:47:06.000000000","message":"I had a different approach with https://review.opendev.org/c/openstack/glance/+/922962 but let\u0027s go with your patch. I see a couple of issues.","commit_id":"6faadbaac09bcfb1a8c0a21a90ea12bcd8bdc773"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"eaf9353b8cde4c89f1dd5833e23bb730d0771aa9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8e51d6f4_1bba0c83","updated":"2026-11-12 12:30:22.000000000","message":"Thank you for review, will post a new PS soon!","commit_id":"6faadbaac09bcfb1a8c0a21a90ea12bcd8bdc773"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"20bccf283cdac43ce3083e2c2d6fe04d7735b89a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3540bb54_3e0e49d8","updated":"2026-11-12 16:13:33.000000000","message":"Thanks!","commit_id":"67e2bb0b3c5d355e51e4fe669a49021dc3be6f7d"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"8c7f29aa57fd991d6eef4803772cc85c68e1df5b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"57230ab2_bb257154","updated":"2026-11-12 19:58:42.000000000","message":"recheck","commit_id":"67e2bb0b3c5d355e51e4fe669a49021dc3be6f7d"}],"glance/common/client.py":[{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5567cdb3dac712c2ca939977757e8ba6630d28a4","unresolved":true,"context_lines":[{"line_number":109,"context_line":"            self.sock \u003d sock"},{"line_number":110,"context_line":"            self._tunnel()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        context \u003d ssl.create_default_context()"},{"line_number":113,"context_line":"        if self.key_file and self.cert_file:"},{"line_number":114,"context_line":"            context.load_cert_chain(self.key_file, self.cert_file)"},{"line_number":115,"context_line":"        if self.insecure:"}],"source_content_type":"text/x-python","patch_set":1,"id":"42d83860_9219290f","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":44},"updated":"2026-11-12 11:47:06.000000000","message":"Using ssl.create_default_context(), we might end up calling \"context.load_default_certs(Purpose.SERVER_AUTH)\" and I\u0027m not sure this is what we want.","commit_id":"6faadbaac09bcfb1a8c0a21a90ea12bcd8bdc773"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"eaf9353b8cde4c89f1dd5833e23bb730d0771aa9","unresolved":false,"context_lines":[{"line_number":109,"context_line":"            self.sock \u003d sock"},{"line_number":110,"context_line":"            self._tunnel()"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        context \u003d ssl.create_default_context()"},{"line_number":113,"context_line":"        if self.key_file and self.cert_file:"},{"line_number":114,"context_line":"            context.load_cert_chain(self.key_file, self.cert_file)"},{"line_number":115,"context_line":"        if self.insecure:"}],"source_content_type":"text/x-python","patch_set":1,"id":"dad5a2eb_515d8573","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":44},"in_reply_to":"42d83860_9219290f","updated":"2026-11-12 12:30:22.000000000","message":"Ack, changed it to use SSLContext(PROTOCOL_TLS_CLIENT)","commit_id":"6faadbaac09bcfb1a8c0a21a90ea12bcd8bdc773"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"5567cdb3dac712c2ca939977757e8ba6630d28a4","unresolved":true,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        context \u003d ssl.create_default_context()"},{"line_number":113,"context_line":"        if self.key_file and self.cert_file:"},{"line_number":114,"context_line":"            context.load_cert_chain(self.key_file, self.cert_file)"},{"line_number":115,"context_line":"        if self.insecure:"},{"line_number":116,"context_line":"            context.check_hostname \u003d False"},{"line_number":117,"context_line":"            context.verify_mode \u003d ssl.CERT_NONE"}],"source_content_type":"text/x-python","patch_set":1,"id":"6697050c_69ce17a6","line":114,"range":{"start_line":114,"start_character":36,"end_line":114,"end_character":49},"updated":"2026-11-12 11:47:06.000000000","message":"Looking at https://docs.python.org/3/library/ssl.html#ssl.SSLContext.load_cert_chain I think you have the arguments reversed here. It should be load_cert_chain(self.cert_file, self.key_file).","commit_id":"6faadbaac09bcfb1a8c0a21a90ea12bcd8bdc773"},{"author":{"_account_id":9303,"name":"Abhishek Kekane","email":"akekane@redhat.com","username":"abhishekkekane"},"change_message_id":"eaf9353b8cde4c89f1dd5833e23bb730d0771aa9","unresolved":false,"context_lines":[{"line_number":111,"context_line":""},{"line_number":112,"context_line":"        context \u003d ssl.create_default_context()"},{"line_number":113,"context_line":"        if self.key_file and self.cert_file:"},{"line_number":114,"context_line":"            context.load_cert_chain(self.key_file, self.cert_file)"},{"line_number":115,"context_line":"        if self.insecure:"},{"line_number":116,"context_line":"            context.check_hostname \u003d False"},{"line_number":117,"context_line":"            context.verify_mode \u003d ssl.CERT_NONE"}],"source_content_type":"text/x-python","patch_set":1,"id":"1ea5dac2_5c51d131","line":114,"range":{"start_line":114,"start_character":36,"end_line":114,"end_character":49},"in_reply_to":"6697050c_69ce17a6","updated":"2026-11-12 12:30:22.000000000","message":"+1, Corrected the argument order using explicit certfile and keyfile keywords. Added a regression test with real certificate/key files to catch this error.","commit_id":"6faadbaac09bcfb1a8c0a21a90ea12bcd8bdc773"}]}
