)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"2bb87808fbc23876b858abce2bdefa7cc60a1a9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"afde1e72_6ff37ae1","updated":"2025-01-09 10:21:12.000000000","message":"recheck\nfailure is not related: test_images.py::test_image_filtration_admin failed","commit_id":"345775aed7d681eb1f1461d20ecd982a4fce8161"},{"author":{"_account_id":35133,"name":"Jan Jasek","email":"jjasek@redhat.com","username":"janjasek"},"change_message_id":"90c5258734dd5b409766cd372e6a2e5c866407a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9f98e60a_d22ba217","updated":"2025-01-31 08:06:51.000000000","message":"LGTM, thanks Lajos!","commit_id":"308680680e86036319110804974d88bbe0591a1a"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"cdd39292d0d6ef256cf7ce009e49f2bdb6fedd2f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8f40b828_32c71fa7","updated":"2025-03-10 21:37:16.000000000","message":"recheck","commit_id":"308680680e86036319110804974d88bbe0591a1a"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"6dddc4b938f1c301d3d5350518dc2917e32e3f60","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cf48390e_9c902e40","updated":"2025-03-10 22:31:10.000000000","message":"recheck","commit_id":"308680680e86036319110804974d88bbe0591a1a"}],"openstack_dashboard/api/neutron.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3dbd239734b8087f285a7ce53719ce32050de394","unresolved":true,"context_lines":[{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    def __init__(self, request):"},{"line_number":588,"context_line":"        self.request \u003d request"},{"line_number":589,"context_line":"        self.client \u003d neutronclient(request)"},{"line_number":590,"context_line":"        self.net_client \u003d networkclient(request)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"    @profiler.trace"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ec195ab_ac74d341","line":589,"updated":"2025-01-12 18:03:18.000000000","message":"Is .client still used?","commit_id":"345775aed7d681eb1f1461d20ecd982a4fce8161"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"7ef4ecf2e4d4929c08815237445e2a2ca83e6702","unresolved":false,"context_lines":[{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    def __init__(self, request):"},{"line_number":588,"context_line":"        self.request \u003d request"},{"line_number":589,"context_line":"        self.client \u003d neutronclient(request)"},{"line_number":590,"context_line":"        self.net_client \u003d networkclient(request)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"    @profiler.trace"}],"source_content_type":"text/x-python","patch_set":2,"id":"b0c668bd_ee924dca","line":589,"in_reply_to":"19659e46_f2fc30be","updated":"2025-01-21 17:03:21.000000000","message":"Done","commit_id":"345775aed7d681eb1f1461d20ecd982a4fce8161"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"aaf05830c55834da6b11e2cfbc6d5c0295fdafa6","unresolved":true,"context_lines":[{"line_number":586,"context_line":""},{"line_number":587,"context_line":"    def __init__(self, request):"},{"line_number":588,"context_line":"        self.request \u003d request"},{"line_number":589,"context_line":"        self.client \u003d neutronclient(request)"},{"line_number":590,"context_line":"        self.net_client \u003d networkclient(request)"},{"line_number":591,"context_line":""},{"line_number":592,"context_line":"    @profiler.trace"}],"source_content_type":"text/x-python","patch_set":2,"id":"19659e46_f2fc30be","line":589,"in_reply_to":"1ec195ab_ac74d341","updated":"2025-01-16 16:06:46.000000000","message":"No, good catch, thanks","commit_id":"345775aed7d681eb1f1461d20ecd982a4fce8161"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3dbd239734b8087f285a7ce53719ce32050de394","unresolved":true,"context_lines":[{"line_number":655,"context_line":"        pfw \u003d self.net_client.get_port_forwarding(floating_ip_id,"},{"line_number":656,"context_line":"                                                  portforwarding_id).to_dict()"},{"line_number":657,"context_line":"        rsp \u003d PortForwarding(pfw, floating_ip_id)"},{"line_number":658,"context_line":"        return rsp"},{"line_number":659,"context_line":""},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"class FloatingIpManager(object):"}],"source_content_type":"text/x-python","patch_set":2,"id":"355a3c27_552dae06","line":658,"updated":"2025-01-12 18:03:18.000000000","message":"This could probably stay the same as \u0027rsp\u0027 is unused","commit_id":"345775aed7d681eb1f1461d20ecd982a4fce8161"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"aaf05830c55834da6b11e2cfbc6d5c0295fdafa6","unresolved":false,"context_lines":[{"line_number":655,"context_line":"        pfw \u003d self.net_client.get_port_forwarding(floating_ip_id,"},{"line_number":656,"context_line":"                                                  portforwarding_id).to_dict()"},{"line_number":657,"context_line":"        rsp \u003d PortForwarding(pfw, floating_ip_id)"},{"line_number":658,"context_line":"        return rsp"},{"line_number":659,"context_line":""},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"class FloatingIpManager(object):"}],"source_content_type":"text/x-python","patch_set":2,"id":"fdf2d4bc_48ee38bf","line":658,"in_reply_to":"355a3c27_552dae06","updated":"2025-01-16 16:06:46.000000000","message":"Done","commit_id":"345775aed7d681eb1f1461d20ecd982a4fce8161"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"710d02e9374277bcdccad765320299339877680e","unresolved":true,"context_lines":[{"line_number":800,"context_line":"        pid, ip_address \u003d port_id.split(\u0027_\u0027, 1)"},{"line_number":801,"context_line":"        update_dict \u003d {\u0027port_id\u0027: pid,"},{"line_number":802,"context_line":"                       \u0027fixed_ip_address\u0027: ip_address}"},{"line_number":803,"context_line":"        self.net_client.update_ip(floating_ip_id, **update_dict)"},{"line_number":804,"context_line":""},{"line_number":805,"context_line":"    @profiler.trace"},{"line_number":806,"context_line":"    def disassociate(self, floating_ip_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"818493c8_fd0d92b0","line":803,"updated":"2025-07-24 11:58:42.000000000","message":"@katonalala@gmail.com hello, I think https://bugs.launchpad.net/neutron/+bug/2118360 - problem after this change?","commit_id":"308680680e86036319110804974d88bbe0591a1a"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"e05cf2d8ac05a9d2f186f7e71b5db0a48b106d04","unresolved":true,"context_lines":[{"line_number":800,"context_line":"        pid, ip_address \u003d port_id.split(\u0027_\u0027, 1)"},{"line_number":801,"context_line":"        update_dict \u003d {\u0027port_id\u0027: pid,"},{"line_number":802,"context_line":"                       \u0027fixed_ip_address\u0027: ip_address}"},{"line_number":803,"context_line":"        self.net_client.update_ip(floating_ip_id, **update_dict)"},{"line_number":804,"context_line":""},{"line_number":805,"context_line":"    @profiler.trace"},{"line_number":806,"context_line":"    def disassociate(self, floating_ip_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"e61da1f7_2e384b7f","line":803,"in_reply_to":"818493c8_fd0d92b0","updated":"2025-07-25 09:09:12.000000000","message":"let me check, thanks for warning","commit_id":"308680680e86036319110804974d88bbe0591a1a"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"c8793cf71633884866c37085a232c4f216460ea6","unresolved":true,"context_lines":[{"line_number":800,"context_line":"        pid, ip_address \u003d port_id.split(\u0027_\u0027, 1)"},{"line_number":801,"context_line":"        update_dict \u003d {\u0027port_id\u0027: pid,"},{"line_number":802,"context_line":"                       \u0027fixed_ip_address\u0027: ip_address}"},{"line_number":803,"context_line":"        self.net_client.update_ip(floating_ip_id, **update_dict)"},{"line_number":804,"context_line":""},{"line_number":805,"context_line":"    @profiler.trace"},{"line_number":806,"context_line":"    def disassociate(self, floating_ip_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"f86efc84_75a12702","line":803,"in_reply_to":"e61da1f7_2e384b7f","updated":"2025-07-28 19:37:10.000000000","message":"Thank you, strange moment.. in neutron_lib - https://opendev.org/openstack/neutron-lib/src/branch/master/neutron_lib/locale/zh_CN/LC_MESSAGES/neutron_lib.po#L261\n\nfor chinese i found \"artifacts\" about it but nothing else..\n\nApparently, at some point in time the code was removed.","commit_id":"308680680e86036319110804974d88bbe0591a1a"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"1fdfcb499b5c1f3f3e88d5fe4dd59cf36b98da52","unresolved":true,"context_lines":[{"line_number":800,"context_line":"        pid, ip_address \u003d port_id.split(\u0027_\u0027, 1)"},{"line_number":801,"context_line":"        update_dict \u003d {\u0027port_id\u0027: pid,"},{"line_number":802,"context_line":"                       \u0027fixed_ip_address\u0027: ip_address}"},{"line_number":803,"context_line":"        self.net_client.update_ip(floating_ip_id, **update_dict)"},{"line_number":804,"context_line":""},{"line_number":805,"context_line":"    @profiler.trace"},{"line_number":806,"context_line":"    def disassociate(self, floating_ip_id):"}],"source_content_type":"text/x-python","patch_set":5,"id":"d96abe53_6dfc846c","line":803,"in_reply_to":"f86efc84_75a12702","updated":"2025-07-28 19:39:03.000000000","message":"Hmm...\nhttps://opendev.org/openstack/neutron-lib/src/commit/950f0f3a8a722da115c03f2abb756a732a3ec4c1/neutron_lib/exceptions/l3.py#L53","commit_id":"308680680e86036319110804974d88bbe0591a1a"}],"openstack_dashboard/test/unit/api/test_neutron.py":[{"author":{"_account_id":35133,"name":"Jan Jasek","email":"jjasek@redhat.com","username":"janjasek"},"change_message_id":"6beacca3ccc6c72f5d5727c9000fbdfe082dbdf8","unresolved":true,"context_lines":[{"line_number":2559,"context_line":"        self.netclient.delete_ip.assert_called_once_with(fip[\u0027id\u0027])"},{"line_number":2560,"context_line":""},{"line_number":2561,"context_line":"    def test_floating_ip_associate(self):"},{"line_number":2562,"context_line":"        fip \u003d self.api_floating_ips.list()[1]"},{"line_number":2563,"context_line":"        assoc_port \u003d self.api_ports.list()[1]"},{"line_number":2564,"context_line":"        ip_address \u003d assoc_port[\u0027fixed_ips\u0027][0][\u0027ip_address\u0027]"},{"line_number":2565,"context_line":"        target_id \u003d \u0027%s_%s\u0027 % (assoc_port[\u0027id\u0027], ip_address)"}],"source_content_type":"text/x-python","patch_set":3,"id":"329c8aa5_561653f6","line":2562,"range":{"start_line":2562,"start_character":0,"end_line":2562,"end_character":45},"updated":"2025-01-28 11:35:12.000000000","message":"Is there any reason to let this line and line number 2576 still as:\napi_floating_ips.list() instead of api_floating_ips_sdk?\n\nIf we change those 2 lines (which should not cause any issues from my point of view), we can remove api_floating_ips completely from neutron_data.py I guess?","commit_id":"a1ecdb27fea47c55de008a70dfe6f8649a00fcd0"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"8fb0d4ecf4b3f62687acc9e1e7f28e6479d75e30","unresolved":true,"context_lines":[{"line_number":2559,"context_line":"        self.netclient.delete_ip.assert_called_once_with(fip[\u0027id\u0027])"},{"line_number":2560,"context_line":""},{"line_number":2561,"context_line":"    def test_floating_ip_associate(self):"},{"line_number":2562,"context_line":"        fip \u003d self.api_floating_ips.list()[1]"},{"line_number":2563,"context_line":"        assoc_port \u003d self.api_ports.list()[1]"},{"line_number":2564,"context_line":"        ip_address \u003d assoc_port[\u0027fixed_ips\u0027][0][\u0027ip_address\u0027]"},{"line_number":2565,"context_line":"        target_id \u003d \u0027%s_%s\u0027 % (assoc_port[\u0027id\u0027], ip_address)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3552dd32_e86ef39b","line":2562,"range":{"start_line":2562,"start_character":0,"end_line":2562,"end_character":45},"in_reply_to":"329c8aa5_561653f6","updated":"2025-01-28 13:06:37.000000000","message":"that is a leftover, thanks","commit_id":"a1ecdb27fea47c55de008a70dfe6f8649a00fcd0"},{"author":{"_account_id":35133,"name":"Jan Jasek","email":"jjasek@redhat.com","username":"janjasek"},"change_message_id":"1668c64948645511d01371717fd66a89c65c746a","unresolved":true,"context_lines":[{"line_number":2559,"context_line":"        self.netclient.delete_ip.assert_called_once_with(fip[\u0027id\u0027])"},{"line_number":2560,"context_line":""},{"line_number":2561,"context_line":"    def test_floating_ip_associate(self):"},{"line_number":2562,"context_line":"        fip \u003d self.api_floating_ips.list()[1]"},{"line_number":2563,"context_line":"        assoc_port \u003d self.api_ports.list()[1]"},{"line_number":2564,"context_line":"        ip_address \u003d assoc_port[\u0027fixed_ips\u0027][0][\u0027ip_address\u0027]"},{"line_number":2565,"context_line":"        target_id \u003d \u0027%s_%s\u0027 % (assoc_port[\u0027id\u0027], ip_address)"}],"source_content_type":"text/x-python","patch_set":3,"id":"740e7d10_d1fea31a","line":2562,"range":{"start_line":2562,"start_character":0,"end_line":2562,"end_character":45},"in_reply_to":"3552dd32_e86ef39b","updated":"2025-01-28 13:26:56.000000000","message":"Thank you. And as I mentioned, if it is leftover, do we still need api_floating_ips in neutron_data.py?\nI mean neutron_data.py lines: 77, 754, 770? I think it is not used anywhere else. If I am right, I think it would be good to remove it.","commit_id":"a1ecdb27fea47c55de008a70dfe6f8649a00fcd0"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"24006f2f505050c8ab762db4772c9daf016a94f0","unresolved":true,"context_lines":[{"line_number":2559,"context_line":"        self.netclient.delete_ip.assert_called_once_with(fip[\u0027id\u0027])"},{"line_number":2560,"context_line":""},{"line_number":2561,"context_line":"    def test_floating_ip_associate(self):"},{"line_number":2562,"context_line":"        fip \u003d self.api_floating_ips.list()[1]"},{"line_number":2563,"context_line":"        assoc_port \u003d self.api_ports.list()[1]"},{"line_number":2564,"context_line":"        ip_address \u003d assoc_port[\u0027fixed_ips\u0027][0][\u0027ip_address\u0027]"},{"line_number":2565,"context_line":"        target_id \u003d \u0027%s_%s\u0027 % (assoc_port[\u0027id\u0027], ip_address)"}],"source_content_type":"text/x-python","patch_set":3,"id":"ce258d13_213187d0","line":2562,"range":{"start_line":2562,"start_character":0,"end_line":2562,"end_character":45},"in_reply_to":"740e7d10_d1fea31a","updated":"2025-01-30 08:19:05.000000000","message":"I removed those, I planned to push a fup patch sometimes removing those leftovers (like api_routers etc.), but it is time now to clean these things","commit_id":"a1ecdb27fea47c55de008a70dfe6f8649a00fcd0"},{"author":{"_account_id":35133,"name":"Jan Jasek","email":"jjasek@redhat.com","username":"janjasek"},"change_message_id":"90c5258734dd5b409766cd372e6a2e5c866407a5","unresolved":false,"context_lines":[{"line_number":2559,"context_line":"        self.netclient.delete_ip.assert_called_once_with(fip[\u0027id\u0027])"},{"line_number":2560,"context_line":""},{"line_number":2561,"context_line":"    def test_floating_ip_associate(self):"},{"line_number":2562,"context_line":"        fip \u003d self.api_floating_ips.list()[1]"},{"line_number":2563,"context_line":"        assoc_port \u003d self.api_ports.list()[1]"},{"line_number":2564,"context_line":"        ip_address \u003d assoc_port[\u0027fixed_ips\u0027][0][\u0027ip_address\u0027]"},{"line_number":2565,"context_line":"        target_id \u003d \u0027%s_%s\u0027 % (assoc_port[\u0027id\u0027], ip_address)"}],"source_content_type":"text/x-python","patch_set":3,"id":"f327b0d8_a5c4b175","line":2562,"range":{"start_line":2562,"start_character":0,"end_line":2562,"end_character":45},"in_reply_to":"ce258d13_213187d0","updated":"2025-01-31 08:06:51.000000000","message":"Done","commit_id":"a1ecdb27fea47c55de008a70dfe6f8649a00fcd0"}]}
