)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a03c9f566c48f6b8c4f3652edb3987b03822b6ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fd4f2962_63466dc9","updated":"2025-07-01 18:24:06.000000000","message":"Thanks for the change, just some comments","commit_id":"0681ba4121383aa8785986d5436d8677252d0673"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"17a7641845a981ae3aa3d1e98369f50e5d6a9e88","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c5f37502_6eb7d330","updated":"2025-08-01 01:04:03.000000000","message":"I guess I\u0027m fine with this version","commit_id":"81817e4301b3261a42dd3921218749397f024296"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"99961acb9218a02247cc2b431d311d273e6908c6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c819effb_512df491","updated":"2025-08-04 14:08:21.000000000","message":"good idea thanks","commit_id":"81817e4301b3261a42dd3921218749397f024296"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"c6293f770ec2bfc9369788236cbf75a7b39fe7fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"57b8fda2_52296a14","updated":"2025-07-07 10:53:01.000000000","message":"recheck","commit_id":"81817e4301b3261a42dd3921218749397f024296"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"d4643492f967d06ef7fb08bea5086979bba2b0c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7530fac4_b96fcbef","updated":"2025-07-16 13:33:19.000000000","message":"recheck since https://review.opendev.org/c/openstack/networking-sfc/+/954633 is merged","commit_id":"81817e4301b3261a42dd3921218749397f024296"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"6349dd0de2efc6666a952fda1d3cc288b0f87f2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"aa514eb7_022c65ea","updated":"2025-07-23 10:49:55.000000000","message":"recheck unrelated failure","commit_id":"81817e4301b3261a42dd3921218749397f024296"}],"neutron_tempest_plugin/common/ip.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a03c9f566c48f6b8c4f3652edb3987b03822b6ba","unresolved":true,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def delete_route(self, address, device, ip_version\u003d4):"},{"line_number":172,"context_line":"        if ip_version \u003d\u003d 6:"},{"line_number":173,"context_line":"            # ip -6 route del 192.168.1.0/24 dev em1"},{"line_number":174,"context_line":"            return self.execute(\u0027-6\u0027, \u0027route\u0027, \u0027del\u0027, address, \u0027dev\u0027, device)"},{"line_number":175,"context_line":"        # ip route del 192.168.1.0/24 dev em1"},{"line_number":176,"context_line":"        return self.execute(\u0027route\u0027, \u0027del\u0027, address, \u0027dev\u0027, device)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f4a104d_34e049d0","line":173,"range":{"start_line":173,"start_character":30,"end_line":173,"end_character":44},"updated":"2025-07-01 18:24:06.000000000","message":"That\u0027s still an IPv4 address\n\nBut either way, you should only need a single call here as -4 is valid as well:\n\nreturn self.execute(ip_version, \u0027route\u0027, \u0027del\u0027, address, \u0027dev\u0027, device)","commit_id":"0681ba4121383aa8785986d5436d8677252d0673"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"3956f2b5b1ff260206893abd3195faea026b288b","unresolved":false,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def delete_route(self, address, device, ip_version\u003d4):"},{"line_number":172,"context_line":"        if ip_version \u003d\u003d 6:"},{"line_number":173,"context_line":"            # ip -6 route del 192.168.1.0/24 dev em1"},{"line_number":174,"context_line":"            return self.execute(\u0027-6\u0027, \u0027route\u0027, \u0027del\u0027, address, \u0027dev\u0027, device)"},{"line_number":175,"context_line":"        # ip route del 192.168.1.0/24 dev em1"},{"line_number":176,"context_line":"        return self.execute(\u0027route\u0027, \u0027del\u0027, address, \u0027dev\u0027, device)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3afb6f10_7e6f17e9","line":173,"range":{"start_line":173,"start_character":30,"end_line":173,"end_character":44},"in_reply_to":"9f4a104d_34e049d0","updated":"2025-07-02 15:14:34.000000000","message":"Thank you for the review! \nUpdated it accordingly","commit_id":"0681ba4121383aa8785986d5436d8677252d0673"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a03c9f566c48f6b8c4f3652edb3987b03822b6ba","unresolved":true,"context_lines":[{"line_number":180,"context_line":"            args \u003d (\"dev\", device)"},{"line_number":181,"context_line":"        if ip_version \u003d\u003d 6:"},{"line_number":182,"context_line":"            output \u003d self.execute(\u0027-6\u0027, \u0027route\u0027, \u0027show\u0027, *args)"},{"line_number":183,"context_line":"            return list(parse_routes(output))"},{"line_number":184,"context_line":"        output \u003d self.execute(\u0027route\u0027, \u0027show\u0027, *args)"},{"line_number":185,"context_line":"        return list(parse_routes(output))"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"887741ff_ed978977","line":183,"updated":"2025-07-01 18:24:06.000000000","message":"Same comment as above, just add ip_version to below call","commit_id":"0681ba4121383aa8785986d5436d8677252d0673"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"3956f2b5b1ff260206893abd3195faea026b288b","unresolved":false,"context_lines":[{"line_number":180,"context_line":"            args \u003d (\"dev\", device)"},{"line_number":181,"context_line":"        if ip_version \u003d\u003d 6:"},{"line_number":182,"context_line":"            output \u003d self.execute(\u0027-6\u0027, \u0027route\u0027, \u0027show\u0027, *args)"},{"line_number":183,"context_line":"            return list(parse_routes(output))"},{"line_number":184,"context_line":"        output \u003d self.execute(\u0027route\u0027, \u0027show\u0027, *args)"},{"line_number":185,"context_line":"        return list(parse_routes(output))"},{"line_number":186,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"f52f41ec_ab774a76","line":183,"in_reply_to":"887741ff_ed978977","updated":"2025-07-02 15:14:34.000000000","message":"Acknowledged","commit_id":"0681ba4121383aa8785986d5436d8677252d0673"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e97eed571ef268c915ab22e83ef492fbfa2dd751","unresolved":true,"context_lines":[{"line_number":159,"context_line":"        # ip addr del 192.168.1.1/24 dev em1"},{"line_number":160,"context_line":"        return self.execute(\u0027address\u0027, \u0027del\u0027, address, \u0027dev\u0027, device)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def add_route(self, address, device, gateway\u003dNone):"},{"line_number":163,"context_line":"        if gateway:"},{"line_number":164,"context_line":"            # ip route add 192.168.1.0/24 via 192.168.22.1 dev em1"},{"line_number":165,"context_line":"            return self.execute("}],"source_content_type":"text/x-python","patch_set":2,"id":"975dcb34_8cb56e34","line":162,"updated":"2025-07-02 15:49:48.000000000","message":"Do we also need it here as well? Just to be complete.","commit_id":"45efdc9c07bc23f083d891cba2aaf6e73c4f373b"},{"author":{"_account_id":37280,"name":"Renjing Xiao","display_name":"Renjing Xiao","email":"rxiao@redhat.com","username":"rxiao"},"change_message_id":"75a4c99a12f4b5e57a741b8a608acb4fea9634e9","unresolved":true,"context_lines":[{"line_number":159,"context_line":"        # ip addr del 192.168.1.1/24 dev em1"},{"line_number":160,"context_line":"        return self.execute(\u0027address\u0027, \u0027del\u0027, address, \u0027dev\u0027, device)"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"    def add_route(self, address, device, gateway\u003dNone):"},{"line_number":163,"context_line":"        if gateway:"},{"line_number":164,"context_line":"            # ip route add 192.168.1.0/24 via 192.168.22.1 dev em1"},{"line_number":165,"context_line":"            return self.execute("}],"source_content_type":"text/x-python","patch_set":2,"id":"ab026c51_f48f7d06","line":162,"in_reply_to":"975dcb34_8cb56e34","updated":"2025-07-03 17:09:40.000000000","message":"Thanks again for the review.\nI kept `ip_version` param in `add_router()` and `delete_router()` only for the case of `default` as the address when adding without gateway or deleting. If this is not needed I\u0027m happy to remove them. \nThank you.","commit_id":"45efdc9c07bc23f083d891cba2aaf6e73c4f373b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"e97eed571ef268c915ab22e83ef492fbfa2dd751","unresolved":true,"context_lines":[{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    def delete_route(self, address, device, ip_version\u003d4):"},{"line_number":172,"context_line":"        return self.execute("},{"line_number":173,"context_line":"            f\u0027-{ip_version}\u0027, \u0027route\u0027, \u0027del\u0027, address, \u0027dev\u0027, device)"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"    def list_routes(self, *args, device\u003dNone, ip_version\u003d4):"},{"line_number":176,"context_line":"        if not args and device:"}],"source_content_type":"text/x-python","patch_set":2,"id":"f3b876b7_5e21d1fd","line":173,"updated":"2025-07-02 15:49:48.000000000","message":"I guess I would have thought that you wouldn\u0027t need a -4/-6 with delete as it can be figured out by the address, unless \u0027default\u0027 is the address I guess.","commit_id":"45efdc9c07bc23f083d891cba2aaf6e73c4f373b"}]}
