)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"137008b948e1ea20ca69f7632d52485dc67e1536","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e202c98f_93fc72c4","updated":"2024-02-23 00:48:44.000000000","message":"Some minor nits, but I don\u0027t see any issues.","commit_id":"700c003d686aef522815f2faf37b4aa96aeae22c"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"2bb174d26a932006b1b64c81e20e0a4caf0bf395","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"79369064_d72d9c2b","updated":"2024-04-12 16:09:54.000000000","message":"Approving because the change was mostly tool-generated, and I manually reviewed it.","commit_id":"69552a2082386d0b08da0f050ce05d4106214df8"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"d0f8dc2c38a30fa50e80e9827408dec94d1e2715","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d93b0ed4_f9e899fb","updated":"2024-04-10 17:36:14.000000000","message":"Still LGTM","commit_id":"69552a2082386d0b08da0f050ce05d4106214df8"}],"octavia/amphorae/backends/agent/api_server/keepalivedlvs.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"137008b948e1ea20ca69f7632d52485dc67e1536","unresolved":true,"context_lines":[{"line_number":320,"context_line":"                return webob.Response(json\u003d{"},{"line_number":321,"context_line":"                    \u0027message\u0027: ("},{"line_number":322,"context_line":"                        \"Error disabling octavia-keepalivedlvs-\""},{"line_number":323,"context_line":"                        \"{} service\".format(listener_id)),"},{"line_number":324,"context_line":"                    \u0027details\u0027: e.output}, status\u003d500)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        # delete init script ,config file and log file for that listener"}],"source_content_type":"text/x-python","patch_set":1,"id":"85e32c60_aa05fd88","line":323,"updated":"2024-02-23 00:48:44.000000000","message":"nit: This could be an f-string too","commit_id":"700c003d686aef522815f2faf37b4aa96aeae22c"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"4f8841137361079b931e0d471dc39150247a2df0","unresolved":true,"context_lines":[{"line_number":320,"context_line":"                return webob.Response(json\u003d{"},{"line_number":321,"context_line":"                    \u0027message\u0027: ("},{"line_number":322,"context_line":"                        \"Error disabling octavia-keepalivedlvs-\""},{"line_number":323,"context_line":"                        \"{} service\".format(listener_id)),"},{"line_number":324,"context_line":"                    \u0027details\u0027: e.output}, status\u003d500)"},{"line_number":325,"context_line":""},{"line_number":326,"context_line":"        # delete init script ,config file and log file for that listener"}],"source_content_type":"text/x-python","patch_set":1,"id":"d0473403_9da50c77","line":323,"in_reply_to":"85e32c60_aa05fd88","updated":"2024-04-10 10:19:47.000000000","message":"Note: I am working on converting to f-strings as much as possible in https://review.opendev.org/c/openstack/octavia/+/900156/","commit_id":"700c003d686aef522815f2faf37b4aa96aeae22c"}],"octavia/amphorae/backends/agent/api_server/loadbalancer.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"137008b948e1ea20ca69f7632d52485dc67e1536","unresolved":true,"context_lines":[{"line_number":216,"context_line":"                          \"%(err)s %(out)s\", {\u0027lb_id\u0027: lb_id, \u0027err\u0027: e,"},{"line_number":217,"context_line":"                                              \u0027out\u0027: e.output})"},{"line_number":218,"context_line":"                return webob.Response(json\u003d{"},{"line_number":219,"context_line":"                    \u0027message\u0027: \"Error enabling haproxy-{} service\".format("},{"line_number":220,"context_line":"                        lb_id), \u0027details\u0027: e.output}, status\u003d500)"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"        res \u003d webob.Response(json\u003d{\u0027message\u0027: \u0027OK\u0027}, status\u003d202)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8b81f7d2_a199ab46","line":219,"updated":"2024-02-23 00:48:44.000000000","message":"nit: this could be an f-string too","commit_id":"700c003d686aef522815f2faf37b4aa96aeae22c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"137008b948e1ea20ca69f7632d52485dc67e1536","unresolved":true,"context_lines":[{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        details \u003d ("},{"line_number":290,"context_line":"            \u0027Configuration file is valid\\n\u0027"},{"line_number":291,"context_line":"            \u0027haproxy daemon for {} started\u0027.format(lb_id)"},{"line_number":292,"context_line":"        )"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        return webob.Response(json\u003d{\u0027message\u0027: \u0027OK\u0027, \u0027details\u0027: details},"}],"source_content_type":"text/x-python","patch_set":1,"id":"9e763bdc_9104d70d","line":291,"updated":"2024-02-23 00:48:44.000000000","message":"nit: this could be an f-string too","commit_id":"700c003d686aef522815f2faf37b4aa96aeae22c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"137008b948e1ea20ca69f7632d52485dc67e1536","unresolved":true,"context_lines":[{"line_number":355,"context_line":"                          \"%(err)s %(out)s\", {\u0027lb_id\u0027: lb_id, \u0027err\u0027: e,"},{"line_number":356,"context_line":"                                              \u0027out\u0027: e.output})"},{"line_number":357,"context_line":"                return webob.Response(json\u003d{"},{"line_number":358,"context_line":"                    \u0027message\u0027: \"Error disabling haproxy-{} service\".format("},{"line_number":359,"context_line":"                        lb_id), \u0027details\u0027: e.output}, status\u003d500)"},{"line_number":360,"context_line":""},{"line_number":361,"context_line":"        # delete the directory + init script for that listener"}],"source_content_type":"text/x-python","patch_set":1,"id":"4c419617_74f0e7da","line":358,"updated":"2024-02-23 00:48:44.000000000","message":"nit: This could be an f-string too","commit_id":"700c003d686aef522815f2faf37b4aa96aeae22c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"137008b948e1ea20ca69f7632d52485dc67e1536","unresolved":true,"context_lines":[{"line_number":457,"context_line":"            raise exceptions.HTTPException("},{"line_number":458,"context_line":"                response\u003dwebob.Response(json\u003d{"},{"line_number":459,"context_line":"                    \u0027message\u0027: \u0027Loadbalancer Not Found\u0027,"},{"line_number":460,"context_line":"                    \u0027details\u0027: \"No loadbalancer with UUID: {}\".format("},{"line_number":461,"context_line":"                        lb_id)}, status\u003d404))"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    def _check_ssl_filename_format(self, filename):"}],"source_content_type":"text/x-python","patch_set":1,"id":"2bb569d5_628d31b1","line":460,"updated":"2024-02-23 00:48:44.000000000","message":"nit: This could be an f-string too","commit_id":"700c003d686aef522815f2faf37b4aa96aeae22c"}]}
