)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"501df9f4b7621d904a84540116f91588f7b90cdc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"de09ba6b_8bbf9ce2","updated":"2024-12-02 17:06:50.000000000","message":"recheck","commit_id":"36285a3f2c7f7897169df236c4d25033cc2da356"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3d074e21c7170229f2ee22d802923e6e48a73b75","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0e63859b_dd20f6c2","updated":"2024-12-05 08:43:35.000000000","message":"This patch is poorly tested","commit_id":"ff1cea3239e8cc722d011416e6256411b218a295"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"838c92446ed81a8eccedb57eba8dd7545140b3ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ee76151a_fd85332f","updated":"2024-12-05 12:12:07.000000000","message":"thanks for review Rodolfo","commit_id":"ff1cea3239e8cc722d011416e6256411b218a295"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"838c92446ed81a8eccedb57eba8dd7545140b3ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"b3423e11_35df6d79","in_reply_to":"0e63859b_dd20f6c2","updated":"2024-12-05 12:12:07.000000000","message":"do you suggest to add more unit tests? right now this functions are indeed covered only by functional tests.","commit_id":"ff1cea3239e8cc722d011416e6256411b218a295"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"866e7cbceaba4291dbea2c09aabee37eb54f27d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"24b8d5a1_41c1d1d2","updated":"2024-12-07 23:03:55.000000000","message":"recheck","commit_id":"3c523b14c8711cccab2415c69884ac974a7ff57c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"00838c5a9eb68094f14315787e1df93556751cc9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f3d33fc3_f2b08c11","updated":"2024-12-07 18:30:29.000000000","message":"recheck","commit_id":"3c523b14c8711cccab2415c69884ac974a7ff57c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"c079938370fa88b63b17520a25cd1a33e83482e1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"78ac96ef_1a7ccacc","updated":"2025-01-02 14:36:08.000000000","message":"Looks ok, please move the re-no to releasenotes/ folder","commit_id":"177074823039f9e21eefe8563e2f73b87240eb37"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f56f345eb439560ddb61666eec3b41e8df0ee52b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"cbde2303_694825f0","updated":"2024-12-23 12:26:18.000000000","message":"recheck neutron-ovs-rally-task","commit_id":"177074823039f9e21eefe8563e2f73b87240eb37"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"3b9470aada598abf6945390bdd8dc979bf77db94","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"21ee4140_3fff0f82","updated":"2024-12-23 16:16:12.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full","commit_id":"177074823039f9e21eefe8563e2f73b87240eb37"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"ced0b4ac1bbc3ae497661b6e8907f1ccfcca88bd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d6e707c0_7e3dca47","updated":"2024-12-23 18:57:27.000000000","message":"recheck neutron-ovs-tempest-dvr-ha-multinode-full","commit_id":"177074823039f9e21eefe8563e2f73b87240eb37"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"ab35b7c818e0ae1a8982a19582fb24a6d32a68c8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"7489bc88_a9444eae","updated":"2025-01-09 14:00:36.000000000","message":"Thanks","commit_id":"9b2b7faee6eb4b05a05a0a59f16aa5067915f7cf"}],"neutron/agent/l3/dvr_local_router.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"c079938370fa88b63b17520a25cd1a33e83482e1","unresolved":true,"context_lines":[{"line_number":319,"context_line":"            device_exists\u003dTrue):"},{"line_number":320,"context_line":"        \"\"\"Add or delete arp entry into router namespace for the subnet.\"\"\""},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        LOG.debug(\"Handling ARP entry operation %s for ip: %s mac: %s \""},{"line_number":323,"context_line":"                  \"device: %s\", operation, ip, mac, device)"},{"line_number":324,"context_line":"        try:"},{"line_number":325,"context_line":"            if device_exists:"}],"source_content_type":"text/x-python","patch_set":7,"id":"c29313f9_3fc09eac","line":322,"range":{"start_line":322,"start_character":12,"end_line":322,"end_character":17},"updated":"2025-01-02 14:36:08.000000000","message":"+1 for debug only, keep operators calm without tons of info logs 😊","commit_id":"177074823039f9e21eefe8563e2f73b87240eb37"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"ccf5e1a71104250b9610beada79f7baea1afae43","unresolved":false,"context_lines":[{"line_number":319,"context_line":"            device_exists\u003dTrue):"},{"line_number":320,"context_line":"        \"\"\"Add or delete arp entry into router namespace for the subnet.\"\"\""},{"line_number":321,"context_line":""},{"line_number":322,"context_line":"        LOG.debug(\"Handling ARP entry operation %s for ip: %s mac: %s \""},{"line_number":323,"context_line":"                  \"device: %s\", operation, ip, mac, device)"},{"line_number":324,"context_line":"        try:"},{"line_number":325,"context_line":"            if device_exists:"}],"source_content_type":"text/x-python","patch_set":7,"id":"08c76f6b_916fb9f4","line":322,"range":{"start_line":322,"start_character":12,"end_line":322,"end_character":17},"in_reply_to":"c29313f9_3fc09eac","updated":"2025-01-02 15:29:59.000000000","message":"Acknowledged","commit_id":"177074823039f9e21eefe8563e2f73b87240eb37"}],"neutron/db/l3_dvr_db.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3d074e21c7170229f2ee22d802923e6e48a73b75","unresolved":true,"context_lines":[{"line_number":1283,"context_line":"        those fixed_ips should also be updated in the ARP table."},{"line_number":1284,"context_line":"        \"\"\""},{"line_number":1285,"context_line":"        fixed_ips \u003d port_dict[\u0027fixed_ips\u0027]"},{"line_number":1286,"context_line":"        if not fixed_ips:"},{"line_number":1287,"context_line":"            return"},{"line_number":1288,"context_line":"        allowed_address_pair_fixed_ips \u003d ("},{"line_number":1289,"context_line":"            self._get_allowed_address_pair_fixed_ips(context, port_dict))"},{"line_number":1290,"context_line":"        changed_fixed_ips \u003d fixed_ips + allowed_address_pair_fixed_ips"}],"source_content_type":"text/x-python","patch_set":4,"id":"80715d10_6c5db3f8","side":"PARENT","line":1287,"range":{"start_line":1286,"start_character":7,"end_line":1287,"end_character":18},"updated":"2024-12-05 08:43:35.000000000","message":"Why this removal?","commit_id":"e92c983d24632a561a60a933e5ee5ec7f7219fc4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"ed683a71b4583477c3449be8ee029090b76f3a43","unresolved":true,"context_lines":[{"line_number":1283,"context_line":"        those fixed_ips should also be updated in the ARP table."},{"line_number":1284,"context_line":"        \"\"\""},{"line_number":1285,"context_line":"        fixed_ips \u003d port_dict[\u0027fixed_ips\u0027]"},{"line_number":1286,"context_line":"        if not fixed_ips:"},{"line_number":1287,"context_line":"            return"},{"line_number":1288,"context_line":"        allowed_address_pair_fixed_ips \u003d ("},{"line_number":1289,"context_line":"            self._get_allowed_address_pair_fixed_ips(context, port_dict))"},{"line_number":1290,"context_line":"        changed_fixed_ips \u003d fixed_ips + allowed_address_pair_fixed_ips"}],"source_content_type":"text/x-python","patch_set":4,"id":"b7533553_1b963206","side":"PARENT","line":1287,"range":{"start_line":1286,"start_character":7,"end_line":1287,"end_character":18},"in_reply_to":"46fd395d_1f5fc516","updated":"2024-12-07 15:51:34.000000000","message":"reverted this part back","commit_id":"e92c983d24632a561a60a933e5ee5ec7f7219fc4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"a02151afca61998edf7e3c6fd122970699cc9c13","unresolved":true,"context_lines":[{"line_number":1283,"context_line":"        those fixed_ips should also be updated in the ARP table."},{"line_number":1284,"context_line":"        \"\"\""},{"line_number":1285,"context_line":"        fixed_ips \u003d port_dict[\u0027fixed_ips\u0027]"},{"line_number":1286,"context_line":"        if not fixed_ips:"},{"line_number":1287,"context_line":"            return"},{"line_number":1288,"context_line":"        allowed_address_pair_fixed_ips \u003d ("},{"line_number":1289,"context_line":"            self._get_allowed_address_pair_fixed_ips(context, port_dict))"},{"line_number":1290,"context_line":"        changed_fixed_ips \u003d fixed_ips + allowed_address_pair_fixed_ips"}],"source_content_type":"text/x-python","patch_set":4,"id":"46fd395d_1f5fc516","side":"PARENT","line":1287,"range":{"start_line":1286,"start_character":7,"end_line":1287,"end_character":18},"in_reply_to":"80715d10_6c5db3f8","updated":"2024-12-05 12:10:36.000000000","message":"can port have allowed allowed pairs but missing fixed ips?","commit_id":"e92c983d24632a561a60a933e5ee5ec7f7219fc4"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"9d43a9e29a1ae327ddb8a9968867ff6c57c36ef6","unresolved":false,"context_lines":[{"line_number":1283,"context_line":"        those fixed_ips should also be updated in the ARP table."},{"line_number":1284,"context_line":"        \"\"\""},{"line_number":1285,"context_line":"        fixed_ips \u003d port_dict[\u0027fixed_ips\u0027]"},{"line_number":1286,"context_line":"        if not fixed_ips:"},{"line_number":1287,"context_line":"            return"},{"line_number":1288,"context_line":"        allowed_address_pair_fixed_ips \u003d ("},{"line_number":1289,"context_line":"            self._get_allowed_address_pair_fixed_ips(context, port_dict))"},{"line_number":1290,"context_line":"        changed_fixed_ips \u003d fixed_ips + allowed_address_pair_fixed_ips"}],"source_content_type":"text/x-python","patch_set":4,"id":"2407854b_e55a94ce","side":"PARENT","line":1287,"range":{"start_line":1286,"start_character":7,"end_line":1287,"end_character":18},"in_reply_to":"b7533553_1b963206","updated":"2024-12-08 09:29:50.000000000","message":"Done","commit_id":"e92c983d24632a561a60a933e5ee5ec7f7219fc4"},{"author":{"_account_id":9531,"name":"liuyulong","display_name":"LIU Yulong","email":"i@liuyulong.me","username":"LIU-Yulong"},"change_message_id":"dde66e02b776d2330b24299bacd172f98f134a40","unresolved":true,"context_lines":[{"line_number":1267,"context_line":"                    subnet_id \u003d self._get_subnet_id_for_given_fixed_ip("},{"line_number":1268,"context_line":"                        context, aap_ip_cidr[0], port_dict)"},{"line_number":1269,"context_line":"                    if subnet_id is not None:"},{"line_number":1270,"context_line":"                        fixed_ip \u003d {\u0027subnet_id\u0027: subnet_id,"},{"line_number":1271,"context_line":"                                    \u0027ip_address\u0027: aap_ip_cidr[0],"},{"line_number":1272,"context_line":"                                    \u0027mac_address\u0027: aap_mac_address}"},{"line_number":1273,"context_line":"                        aa_pair_fixed_ips.append(fixed_ip)"},{"line_number":1274,"context_line":"                    else:"},{"line_number":1275,"context_line":"                        LOG.debug(\"Subnet does not match for the given \""}],"source_content_type":"text/x-python","patch_set":7,"id":"7d3e9ae1_9155e490","line":1272,"range":{"start_line":1270,"start_character":24,"end_line":1272,"end_character":67},"updated":"2024-12-27 08:21:38.000000000","message":"nit: This fixed_ip here differs from the \"fixed_ip\" of the Neutron data structure, it would be better to change the name, such as \"port_ip_mac\".","commit_id":"177074823039f9e21eefe8563e2f73b87240eb37"}],"neutron/releasenotes/notes/use-correct-aap-mac-for-dvr-arp-ce9e00d163cf4ddc.yaml":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0e4b71c23e92b8a3c4d22c6c6cf3c1f7588bf7e4","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    An issue when arp entry in DVR router is configured for port MAC address"},{"line_number":5,"context_line":"    while AAP contains different MAC entry."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"ef9b11b8_d80d88b1","line":5,"updated":"2024-12-23 08:20:40.000000000","message":"A small description of what was done could be helpful, for example saying that you retrieve the AAP mac but defaults to the parent port MAC","commit_id":"3c523b14c8711cccab2415c69884ac974a7ff57c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0e4b71c23e92b8a3c4d22c6c6cf3c1f7588bf7e4","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    An issue when arp entry in DVR router is configured for port MAC address"},{"line_number":5,"context_line":"    while AAP contains different MAC entry."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"66f4fddf_5e433858","line":5,"range":{"start_line":5,"start_character":10,"end_line":5,"end_character":13},"updated":"2024-12-23 08:20:40.000000000","message":"Don\u0027t use acronyms, write \"allowed address pairs\"","commit_id":"3c523b14c8711cccab2415c69884ac974a7ff57c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5a1e4583d4bcee01b7afddf7bab4372b5fd23de9","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    An issue when arp entry in DVR router is configured for port MAC address"},{"line_number":5,"context_line":"    while AAP contains different MAC entry."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"1888dc67_b27c497c","line":5,"range":{"start_line":5,"start_character":10,"end_line":5,"end_character":13},"in_reply_to":"66f4fddf_5e433858","updated":"2024-12-23 08:28:49.000000000","message":"Done","commit_id":"3c523b14c8711cccab2415c69884ac974a7ff57c"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"5a1e4583d4bcee01b7afddf7bab4372b5fd23de9","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    An issue when arp entry in DVR router is configured for port MAC address"},{"line_number":5,"context_line":"    while AAP contains different MAC entry."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"09631e9f_61084402","line":5,"in_reply_to":"ef9b11b8_d80d88b1","updated":"2024-12-23 08:28:49.000000000","message":"Done","commit_id":"3c523b14c8711cccab2415c69884ac974a7ff57c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"c079938370fa88b63b17520a25cd1a33e83482e1","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    An issue when arp entry in DVR router for allowed address pairs (AAP) is"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"e4647629_d54ef06f","line":1,"updated":"2025-01-02 14:36:08.000000000","message":"This file should be in releasenotes/notes/, see: https://opendev.org/openstack/neutron/src/branch/master/releasenotes/notes","commit_id":"177074823039f9e21eefe8563e2f73b87240eb37"}]}
