)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"27c1cca563a9390e3eba020804bc1a42c247cf2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"89e2b2dc_3f0319da","updated":"2024-02-27 20:40:19.000000000","message":"Don\u0027t know if this is correct although it seems it.","commit_id":"54f8b14c4a57898c6ad57fab18e3ec86b3491ced"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8161f13fa46aace6968153326a48e6a1968f9bca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3d1cb4b8_e357df19","updated":"2024-03-20 20:02:18.000000000","message":"I realize this will fail as netaddr\u003e1.2.1 is not released, but I tested locally in a venv and seems to address the issue.","commit_id":"bca36fdcb099b0b0a2e7abb893fe93371040cfe8"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f862cfed1090e2bcf90768ee67dddd11c2098d6f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"968f1de6_0cb1b1b4","updated":"2024-04-05 13:56:31.000000000","message":"testing with reqs bump for netaddr","commit_id":"ef7a75563d900e9ac6dc33ee687c94db17030eb2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"8d127b7bc051ac591c61ead9769a10f36aa204f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"070c73c6_5966dfad","updated":"2024-04-27 02:21:13.000000000","message":"I think the analysis here is completely wrong: addr in the actual runtime is a tuple (despite its name), this is since the following patch: I2e3aa7c400d7bb17cc117b65faaa160b41013dde\n\nThis is one of the cases where proper strong types could save us some effort since it would be immediately clear what the type of `addr` is (tuple of IPv4, MAC pair).","commit_id":"464facb3d4a1602a0eed23bc7e69887a4fb99dc1"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"27e690dc4d1227767d7e4c70e56e33ff7c2b1aa3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5102cd98_f514d064","updated":"2024-04-27 00:24:24.000000000","message":"Trying what was posted in PS2 again. I don\u0027t see issues with old or new netaddr with PS2 in my limited local testing. Let\u0027s see what gate has to say.","commit_id":"464facb3d4a1602a0eed23bc7e69887a4fb99dc1"}],"neutron/agent/linux/openvswitch_firewall/firewall.py":[{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"aded91441982fcbc909cb925921a6faa70e702bd","unresolved":true,"context_lines":[{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # NOTE(hangyang): Handle add/delete overlapped IPs among"},{"line_number":425,"context_line":"        # remote security groups and remote address groups"},{"line_number":426,"context_line":"        removed_ips \u003d set([str(netaddr.IPNetwork(addr[0], expand\u003dTrue).cidr)"},{"line_number":427,"context_line":"            for addr in (set(flow_state.keys()) - set(addr_to_conj.keys()))])"},{"line_number":428,"context_line":"        ip_to_conj \u003d collections.defaultdict(set)"},{"line_number":429,"context_line":"        for addr, conj_ids in addr_to_conj.items():"}],"source_content_type":"text/x-python","patch_set":4,"id":"ed38dabc_d444b52c","line":426,"updated":"2024-04-05 15:08:10.000000000","message":"I don\u0027t think this is correct. The bug report suggests that addr here is a string with an address. (and indeed, keys in flow_state and addr_to_conj are full addresses.) So why do we even pass \"the first character in decimal ip address representation\" as an argument here? The netaddr bump seems to have exposed a legit bug in the implementation.\n\nI think the right fix would be to pass addr in full here. (AFAIU the addr ultimately comes from IPAllocation.ip_address field, which has cidr encoded.) And I think a separate bug should be reported for the broken logic here. (I am not an expert in this part of the code to post a fix; but this failure exposed lack of test coverage in the test suite, so the suite should also be expanded.)","commit_id":"ef7a75563d900e9ac6dc33ee687c94db17030eb2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"82ef1962e38b7435f401ed7d447a7a2cca56849f","unresolved":true,"context_lines":[{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # NOTE(hangyang): Handle add/delete overlapped IPs among"},{"line_number":425,"context_line":"        # remote security groups and remote address groups"},{"line_number":426,"context_line":"        removed_ips \u003d set([str(netaddr.IPNetwork(addr[0], expand\u003dTrue).cidr)"},{"line_number":427,"context_line":"            for addr in (set(flow_state.keys()) - set(addr_to_conj.keys()))])"},{"line_number":428,"context_line":"        ip_to_conj \u003d collections.defaultdict(set)"},{"line_number":429,"context_line":"        for addr, conj_ids in addr_to_conj.items():"}],"source_content_type":"text/x-python","patch_set":4,"id":"8d2b45d6_853988d9","line":426,"in_reply_to":"0e4a66df_03279349","updated":"2024-04-09 13:16:31.000000000","message":"Let\u0027s see how PS2 failed then?","commit_id":"ef7a75563d900e9ac6dc33ee687c94db17030eb2"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"8b27450d12dd22c43e7b0ead09d3d35109836d03","unresolved":true,"context_lines":[{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # NOTE(hangyang): Handle add/delete overlapped IPs among"},{"line_number":425,"context_line":"        # remote security groups and remote address groups"},{"line_number":426,"context_line":"        removed_ips \u003d set([str(netaddr.IPNetwork(addr[0], expand\u003dTrue).cidr)"},{"line_number":427,"context_line":"            for addr in (set(flow_state.keys()) - set(addr_to_conj.keys()))])"},{"line_number":428,"context_line":"        ip_to_conj \u003d collections.defaultdict(set)"},{"line_number":429,"context_line":"        for addr, conj_ids in addr_to_conj.items():"}],"source_content_type":"text/x-python","patch_set":4,"id":"0e4a66df_03279349","line":426,"in_reply_to":"ed38dabc_d444b52c","updated":"2024-04-05 15:36:50.000000000","message":"Ihar - I tried that in PS2 and it didn\u0027t seem to work, it does look odd to use just the first character. More work is required.","commit_id":"ef7a75563d900e9ac6dc33ee687c94db17030eb2"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"ff3cbbcc7e0d4ef96d51baa5541d5f5dd7627239","unresolved":true,"context_lines":[{"line_number":431,"context_line":"        for addr, conj_ids in addr_to_conj.items():"},{"line_number":432,"context_line":"            # Addresses from remote security groups have mac addresses,"},{"line_number":433,"context_line":"            # others from remote address groups have not."},{"line_number":434,"context_line":"            ip_to_conj[str(netaddr.IPNetwork(addr[0]).cidr)].update(conj_ids)"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"        for addr in addr_to_conj.keys():"},{"line_number":437,"context_line":"            ip_cidr \u003d str(netaddr.IPNetwork(addr[0]).cidr)"}],"source_content_type":"text/x-python","patch_set":6,"id":"4b32f5b5_4d516d52","line":434,"updated":"2024-04-27 00:32:44.000000000","message":"these are also affected I think...","commit_id":"464facb3d4a1602a0eed23bc7e69887a4fb99dc1"}]}
