)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c82d83f051804091071235daa1ed42755ef7c00b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8f17d4f1_b61610d8","updated":"2023-06-09 08:06:05.000000000","message":"recheck functional","commit_id":"9bb76d31286bfdd5fd82378bae2b308771ff8b9e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"c2fd398335d58757e6655fef437bbd91a359383b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"40b1d448_e74eb9b7","updated":"2023-06-26 14:58:38.000000000","message":"1) Please, comment the code to understand the algorithm you are implementing.\n2) Add testing\n3) What part of the method is the most time consuming? Maybe [1]? Please specify that.\n\n[1]https://github.com/openstack/neutron/blob/b86ca713f7d422489f2526c1a94ffc8393b3ed75/neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py#L285-L291","commit_id":"b52055806f5806cd1a8b92e1aaa6c235702f66c3"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"c1aa5c96c59456a180408dc67e1af35e9239f753","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e44b800e_dca8118e","in_reply_to":"0b655ea7_fafa5fff","updated":"2023-09-15 11:17:54.000000000","message":"Done","commit_id":"b52055806f5806cd1a8b92e1aaa6c235702f66c3"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"24edeb77f46982c7542d7c241b9807183e6efdd6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a356d7d8_1b05e643","in_reply_to":"40b1d448_e74eb9b7","updated":"2023-07-04 08:20:10.000000000","message":"hi Rodolfo, the current code[1] already includes testing for ACL synchronization. Need to test any special scenarios?\n\n[1] https://opendev.org/openstack/neutron/src/commit/b361a208e79386f6a09ba482488dd044f0c3c8f5/neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_ovn_db_sync.py#L1137","commit_id":"b52055806f5806cd1a8b92e1aaa6c235702f66c3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"70530505f0a080627cc5992c47673b2adfb3b785","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0b655ea7_fafa5fff","in_reply_to":"a356d7d8_1b05e643","updated":"2023-09-12 13:21:59.000000000","message":"Where this testing method is calling \"sync_acls\"? To be honest I\u0027m expecting a UT test (or tests) with different Neutron DB SG rules and OVN DB ACLs, and calling this method to verify how this method is creating the missing ACLs and removing the orphan ones. That will check the new algorithm is working fine.","commit_id":"b52055806f5806cd1a8b92e1aaa6c235702f66c3"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4685aefea3d26e0cc5a78778724ce0fc96bab1c2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"8d0bcb57_52a76ac2","updated":"2023-09-15 11:38:24.000000000","message":"1) The new algorithm looks correct and indeed is optimizing the matching process. I like a lot this optimization.\n2) Some comments in the code, mostly to document it.\n3) It is missing a release note, in the \"other\" section.\n4) The testing is quite weak. Only adding 2 SG rules is quite poor. You should add a bunch of them (20) and then remove both some Neutron ACLs and some other OVN ACLs to check the sync method is correctly working.","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"27358d1a1606480965bfef404915996f83ea7d8d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"99422ff3_476b00ed","updated":"2024-03-27 21:48:22.000000000","message":"Can you rebase this one as well and address Rodolfo\u0027s concerns? Thanks","commit_id":"e9172671f044ba0c62c81589939e1bd02f35863d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"13bfd9b22b5aa673dcedfabd651370330e1db253","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"5dc1664b_98105e54","updated":"2024-06-03 19:18:05.000000000","message":"Hi Zhou, just wondering if you can rebase this and address the concerns.","commit_id":"e9172671f044ba0c62c81589939e1bd02f35863d"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"ab1c7eea0257dfda765f509f347a43a9e4b2dbb2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"6022e53f_a9a86867","in_reply_to":"5dc1664b_98105e54","updated":"2024-06-04 01:46:24.000000000","message":"Done","commit_id":"e9172671f044ba0c62c81589939e1bd02f35863d"},{"author":{"_account_id":9656,"name":"Ihar Hrachyshka","email":"ihrachys@redhat.com","username":"ihrachys","status":"Red Hat Networking Systems Engineer"},"change_message_id":"0a37c0ff7b75a47facd27fc7898c01ac06bd6443","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"786cb2c8_7adcd0cf","updated":"2024-06-06 13:29:22.000000000","message":"recheck","commit_id":"fb202fe9fb2e4284278eff9e34f18fdc72bb68a4"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0d55359f7796f5cab0d16249ee4afd8339ad5218","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"db856a41_2a3f66b0","updated":"2024-06-10 06:54:41.000000000","message":"Minor comment still pending","commit_id":"da22e7f2960f3f91abd2f1c2f192f14584995499"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"2cfd2a1a6346d6e6cec05a898cb36301cec424df","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"5a1afcb7_c379ff23","updated":"2024-06-11 03:15:41.000000000","message":"recheck functional test metadata proxy unreachable","commit_id":"42f0b3ba69981b0422c6e270c4c3dc28d7706b5a"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"a886938f8c3fb3c320a5353c89c18ba2fa4f4a45","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":22,"id":"9bc67603_e4e4ee87","updated":"2024-06-11 05:57:52.000000000","message":"recheck temptest POST_FAILURE","commit_id":"42f0b3ba69981b0422c6e270c4c3dc28d7706b5a"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"add166d59e598e32614e152ab2c945297016b14a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"628ebe17_5eae4aee","updated":"2024-06-11 20:51:34.000000000","message":"I only update the relnote, looks good otherwise.","commit_id":"912f840ea0c604b3b8ead4a00e8fbeb3d7ca342b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"f59d4fb1fccb0ed8820a9ff497b0ec7f51cf2f0e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":23,"id":"d109851e_8908b30a","updated":"2024-06-12 21:45:02.000000000","message":"I saw similar failures in another patch and rebase helped, will do that.","commit_id":"912f840ea0c604b3b8ead4a00e8fbeb3d7ca342b"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"1227df66f0153e18663d94485974a5a19c3a3516","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"063f511e_4eb399d4","updated":"2024-06-13 00:37:45.000000000","message":"recheck tempest-integrated-networking some error about vm","commit_id":"dbca7e1f8cc339c5c87ea5a68f1e1dd2c78c94c3"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4685aefea3d26e0cc5a78778724ce0fc96bab1c2","unresolved":true,"context_lines":[{"line_number":239,"context_line":"            for acl in acls:"},{"line_number":240,"context_line":"                acl_string \u003d {k: getattr(acl, k) for k in acl_columns}"},{"line_number":241,"context_line":"                acl_string[\u0027port_group\u0027] \u003d pg.name"},{"line_number":242,"context_line":"                if id_key in acl.external_ids:"},{"line_number":243,"context_line":"                    acl_string[id_key] \u003d acl.external_ids[id_key]"},{"line_number":244,"context_line":"                ovn_acls.append(acl_string)"},{"line_number":245,"context_line":"        return ovn_acls"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"834e7243_124e0dd6","line":243,"range":{"start_line":242,"start_character":16,"end_line":243,"end_character":65},"updated":"2023-09-15 11:38:24.000000000","message":"nit: you can always add this key, regardless of the value\n```\n  acl_string \u003d {k: getattr(acl, k) for k in acl_columns}\n  acl_string[\u0027port_group\u0027] \u003d pg.name\n  acl_string[id_key] \u003d acl.external_ids.get(id_key)\n```\n\nThat will return None if the \"neutron_:security_group_rule_id\" key is not present.","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"dabd650e44c3a4e4da7ba704d0faf769e64ea868","unresolved":false,"context_lines":[{"line_number":239,"context_line":"            for acl in acls:"},{"line_number":240,"context_line":"                acl_string \u003d {k: getattr(acl, k) for k in acl_columns}"},{"line_number":241,"context_line":"                acl_string[\u0027port_group\u0027] \u003d pg.name"},{"line_number":242,"context_line":"                if id_key in acl.external_ids:"},{"line_number":243,"context_line":"                    acl_string[id_key] \u003d acl.external_ids[id_key]"},{"line_number":244,"context_line":"                ovn_acls.append(acl_string)"},{"line_number":245,"context_line":"        return ovn_acls"},{"line_number":246,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"30a0a869_aceac2dd","line":243,"range":{"start_line":242,"start_character":16,"end_line":243,"end_character":65},"in_reply_to":"834e7243_124e0dd6","updated":"2023-09-19 05:52:44.000000000","message":"there cannot directly add it here because there is a sorting based on the security group ID, and a value of None is not allowed. And there will also be a full key comparison with the default security group rules.","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4685aefea3d26e0cc5a78778724ce0fc96bab1c2","unresolved":true,"context_lines":[{"line_number":294,"context_line":"        # comparison that the security group rule id in neutron_acls is"},{"line_number":295,"context_line":"        # smaller than the security group rule id in ovn_acls, as the arrays"},{"line_number":296,"context_line":"        # have been sorted, this security group rule will no longer appear in"},{"line_number":297,"context_line":"        # the future. We believe that this security group rule only exists in"},{"line_number":298,"context_line":"        # neutron_acls. If it is a related situation, this security group"},{"line_number":299,"context_line":"        # rule only appears in ovn_acls."},{"line_number":300,"context_line":"        while n_index \u003c neutron_num and o_index \u003c ovn_num:"}],"source_content_type":"text/x-python","patch_set":11,"id":"99f97d62_06df0324","line":297,"range":{"start_line":297,"start_character":22,"end_line":297,"end_character":51},"updated":"2023-09-15 11:38:24.000000000","message":"\"We believe\" is something we can\u0027t write in a document. We must be 100% sure of what are we doing. Please rephrase this.","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"dabd650e44c3a4e4da7ba704d0faf769e64ea868","unresolved":false,"context_lines":[{"line_number":294,"context_line":"        # comparison that the security group rule id in neutron_acls is"},{"line_number":295,"context_line":"        # smaller than the security group rule id in ovn_acls, as the arrays"},{"line_number":296,"context_line":"        # have been sorted, this security group rule will no longer appear in"},{"line_number":297,"context_line":"        # the future. We believe that this security group rule only exists in"},{"line_number":298,"context_line":"        # neutron_acls. If it is a related situation, this security group"},{"line_number":299,"context_line":"        # rule only appears in ovn_acls."},{"line_number":300,"context_line":"        while n_index \u003c neutron_num and o_index \u003c ovn_num:"}],"source_content_type":"text/x-python","patch_set":11,"id":"04107bfe_0ee94059","line":297,"range":{"start_line":297,"start_character":22,"end_line":297,"end_character":51},"in_reply_to":"99f97d62_06df0324","updated":"2023-09-19 05:52:44.000000000","message":"Done","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4685aefea3d26e0cc5a78778724ce0fc96bab1c2","unresolved":true,"context_lines":[{"line_number":300,"context_line":"        while n_index \u003c neutron_num and o_index \u003c ovn_num:"},{"line_number":301,"context_line":"            na, oa \u003d neutron_acls[n_index], ovn_acls[o_index]"},{"line_number":302,"context_line":"            n_id \u003d na[ovn_const.OVN_SG_RULE_EXT_ID_KEY]"},{"line_number":303,"context_line":"            o_id \u003d oa.get(ovn_const.OVN_SG_RULE_EXT_ID_KEY, \"\")"},{"line_number":304,"context_line":"            if not o_id:"},{"line_number":305,"context_line":"                # There may be some ACLs in the OVN database that do not have"},{"line_number":306,"context_line":"                # security group rule id. These are the default rules, which"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f9412d6_8783b936","line":303,"range":{"start_line":303,"start_character":58,"end_line":303,"end_character":62},"updated":"2023-09-15 11:38:24.000000000","message":"Not neccesary. \"get\" will return None if the key is not present.\n\nIn any case, if you implement what I suggested in \"_get_acls_from_port_groups\", that could be a getitem call, the key will be always present (and the value can be None).\n```\n  n_id \u003d na[ovn_const.OVN_SG_RULE_EXT_ID_KEY]\n  o_id \u003d oa[ovn_const.OVN_SG_RULE_EXT_ID_KEY]\n```","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0d55359f7796f5cab0d16249ee4afd8339ad5218","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        while n_index \u003c neutron_num and o_index \u003c ovn_num:"},{"line_number":301,"context_line":"            na, oa \u003d neutron_acls[n_index], ovn_acls[o_index]"},{"line_number":302,"context_line":"            n_id \u003d na[ovn_const.OVN_SG_RULE_EXT_ID_KEY]"},{"line_number":303,"context_line":"            o_id \u003d oa.get(ovn_const.OVN_SG_RULE_EXT_ID_KEY, \"\")"},{"line_number":304,"context_line":"            if not o_id:"},{"line_number":305,"context_line":"                # There may be some ACLs in the OVN database that do not have"},{"line_number":306,"context_line":"                # security group rule id. These are the default rules, which"}],"source_content_type":"text/x-python","patch_set":11,"id":"233d80ef_ab00e3ba","line":303,"range":{"start_line":303,"start_character":58,"end_line":303,"end_character":62},"in_reply_to":"15d6b185_db7cc4b3","updated":"2024-06-10 06:54:41.000000000","message":"Same comment as before","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"fa1f1bd8ccc8c03476ef887c049cb4cbd69c2e0a","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        while n_index \u003c neutron_num and o_index \u003c ovn_num:"},{"line_number":301,"context_line":"            na, oa \u003d neutron_acls[n_index], ovn_acls[o_index]"},{"line_number":302,"context_line":"            n_id \u003d na[ovn_const.OVN_SG_RULE_EXT_ID_KEY]"},{"line_number":303,"context_line":"            o_id \u003d oa.get(ovn_const.OVN_SG_RULE_EXT_ID_KEY, \"\")"},{"line_number":304,"context_line":"            if not o_id:"},{"line_number":305,"context_line":"                # There may be some ACLs in the OVN database that do not have"},{"line_number":306,"context_line":"                # security group rule id. These are the default rules, which"}],"source_content_type":"text/x-python","patch_set":11,"id":"fa02a9f2_6ad69732","line":303,"range":{"start_line":303,"start_character":58,"end_line":303,"end_character":62},"in_reply_to":"9f9412d6_8783b936","updated":"2023-09-19 05:56:51.000000000","message":"not update \"_get_acls_from_port_groups\", so can not call directly.","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3e0a45502dad08b7afac97a3199680db076ec56d","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        while n_index \u003c neutron_num and o_index \u003c ovn_num:"},{"line_number":301,"context_line":"            na, oa \u003d neutron_acls[n_index], ovn_acls[o_index]"},{"line_number":302,"context_line":"            n_id \u003d na[ovn_const.OVN_SG_RULE_EXT_ID_KEY]"},{"line_number":303,"context_line":"            o_id \u003d oa.get(ovn_const.OVN_SG_RULE_EXT_ID_KEY, \"\")"},{"line_number":304,"context_line":"            if not o_id:"},{"line_number":305,"context_line":"                # There may be some ACLs in the OVN database that do not have"},{"line_number":306,"context_line":"                # security group rule id. These are the default rules, which"}],"source_content_type":"text/x-python","patch_set":11,"id":"15d6b185_db7cc4b3","line":303,"range":{"start_line":303,"start_character":58,"end_line":303,"end_character":62},"in_reply_to":"fa02a9f2_6ad69732","updated":"2023-09-20 08:11:18.000000000","message":"So remove the \"\". get will return None by default, there is no need to add a default value.","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4685aefea3d26e0cc5a78778724ce0fc96bab1c2","unresolved":true,"context_lines":[{"line_number":307,"context_line":"                # will be specially compared and processed later."},{"line_number":308,"context_line":"                ovn_default_acls.append(oa)"},{"line_number":309,"context_line":"                o_index +\u003d 1"},{"line_number":310,"context_line":"                continue"},{"line_number":311,"context_line":"            if n_id \u003d\u003d o_id:"},{"line_number":312,"context_line":"                if any(item not in na.items() for item in oa.items()):"},{"line_number":313,"context_line":"                    add_acls.append(na)"}],"source_content_type":"text/x-python","patch_set":11,"id":"4dc3f05c_c98dfaf0","line":310,"range":{"start_line":310,"start_character":16,"end_line":310,"end_character":24},"updated":"2023-09-15 11:38:24.000000000","message":"Remove this statement and add a \"elif\" in the next line.","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"dabd650e44c3a4e4da7ba704d0faf769e64ea868","unresolved":false,"context_lines":[{"line_number":307,"context_line":"                # will be specially compared and processed later."},{"line_number":308,"context_line":"                ovn_default_acls.append(oa)"},{"line_number":309,"context_line":"                o_index +\u003d 1"},{"line_number":310,"context_line":"                continue"},{"line_number":311,"context_line":"            if n_id \u003d\u003d o_id:"},{"line_number":312,"context_line":"                if any(item not in na.items() for item in oa.items()):"},{"line_number":313,"context_line":"                    add_acls.append(na)"}],"source_content_type":"text/x-python","patch_set":11,"id":"6a265ba2_6635b04d","line":310,"range":{"start_line":310,"start_character":16,"end_line":310,"end_character":24},"in_reply_to":"4dc3f05c_c98dfaf0","updated":"2023-09-19 05:52:44.000000000","message":"Done","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4685aefea3d26e0cc5a78778724ce0fc96bab1c2","unresolved":true,"context_lines":[{"line_number":320,"context_line":"            else:"},{"line_number":321,"context_line":"                add_acls.append(na)"},{"line_number":322,"context_line":"                n_index +\u003d 1"},{"line_number":323,"context_line":"        if n_index \u003c neutron_num:"},{"line_number":324,"context_line":"            add_acls.extend(neutron_acls[n_index:])"},{"line_number":325,"context_line":"        if o_index \u003c ovn_num:"},{"line_number":326,"context_line":"            remove_acls.extend(ovn_acls[o_index:])"}],"source_content_type":"text/x-python","patch_set":11,"id":"3e7c5438_7f56efb2","line":323,"range":{"start_line":323,"start_character":8,"end_line":323,"end_character":33},"updated":"2023-09-15 11:38:24.000000000","message":"If I\u0027m not wrong, this is the case where we didn\u0027t find the OVN ACLs matching the Neutron ACLs in \"ovn_acls\" and we are just adding the pending Neutron ACLs. Please, add a comment here.","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"dabd650e44c3a4e4da7ba704d0faf769e64ea868","unresolved":false,"context_lines":[{"line_number":320,"context_line":"            else:"},{"line_number":321,"context_line":"                add_acls.append(na)"},{"line_number":322,"context_line":"                n_index +\u003d 1"},{"line_number":323,"context_line":"        if n_index \u003c neutron_num:"},{"line_number":324,"context_line":"            add_acls.extend(neutron_acls[n_index:])"},{"line_number":325,"context_line":"        if o_index \u003c ovn_num:"},{"line_number":326,"context_line":"            remove_acls.extend(ovn_acls[o_index:])"}],"source_content_type":"text/x-python","patch_set":11,"id":"4d20f060_2591b48b","line":323,"range":{"start_line":323,"start_character":8,"end_line":323,"end_character":33},"in_reply_to":"3e7c5438_7f56efb2","updated":"2023-09-19 05:52:44.000000000","message":"Done","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"4685aefea3d26e0cc5a78778724ce0fc96bab1c2","unresolved":true,"context_lines":[{"line_number":322,"context_line":"                n_index +\u003d 1"},{"line_number":323,"context_line":"        if n_index \u003c neutron_num:"},{"line_number":324,"context_line":"            add_acls.extend(neutron_acls[n_index:])"},{"line_number":325,"context_line":"        if o_index \u003c ovn_num:"},{"line_number":326,"context_line":"            remove_acls.extend(ovn_acls[o_index:])"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        # We need to remove also all the ACLs applied to Logical Switches"}],"source_content_type":"text/x-python","patch_set":11,"id":"ec209c52_a01058d0","line":325,"range":{"start_line":325,"start_character":8,"end_line":325,"end_character":29},"updated":"2023-09-15 11:38:24.000000000","message":"Similar here: any OVN ACLs not matching the Neutron ACLs is removed.","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"dabd650e44c3a4e4da7ba704d0faf769e64ea868","unresolved":false,"context_lines":[{"line_number":322,"context_line":"                n_index +\u003d 1"},{"line_number":323,"context_line":"        if n_index \u003c neutron_num:"},{"line_number":324,"context_line":"            add_acls.extend(neutron_acls[n_index:])"},{"line_number":325,"context_line":"        if o_index \u003c ovn_num:"},{"line_number":326,"context_line":"            remove_acls.extend(ovn_acls[o_index:])"},{"line_number":327,"context_line":""},{"line_number":328,"context_line":"        # We need to remove also all the ACLs applied to Logical Switches"}],"source_content_type":"text/x-python","patch_set":11,"id":"f71aaf96_ff34974c","line":325,"range":{"start_line":325,"start_character":8,"end_line":325,"end_character":29},"in_reply_to":"ec209c52_a01058d0","updated":"2023-09-19 05:52:44.000000000","message":"Done","commit_id":"acb9b8635fb9b81f4ac08a88b7e23765f00dd1dc"}],"neutron/tests/functional/plugins/ml2/drivers/ovn/mech_driver/ovsdb/test_ovn_db_sync.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"0fd206344fceb25c63ff0797b8f98c27fba8e057","unresolved":true,"context_lines":[{"line_number":1777,"context_line":"        sg \u003d self.deserialize(self.fmt, res)[\u0027security_group\u0027]"},{"line_number":1778,"context_line":""},{"line_number":1779,"context_line":"        sgr_ids \u003d []"},{"line_number":1780,"context_line":"        for tcp_port in range(8050, 8100):"},{"line_number":1781,"context_line":"            sgr_ids.append(self._create_security_group_rule("},{"line_number":1782,"context_line":"                sg[\u0027id\u0027], \u0027ingress\u0027, tcp_port))"},{"line_number":1783,"context_line":"        for tcp_port in range(10000, 10050):"}],"source_content_type":"text/x-python","patch_set":18,"id":"4ceab9f2_29f01dae","line":1780,"range":{"start_line":1780,"start_character":30,"end_line":1780,"end_character":40},"updated":"2023-09-20 08:10:07.000000000","message":"Hold on, I asked for more SGs but this is too much. This test is taking more than one minute in the CI: https://paste.opendev.org/show/bfOlYVRPuGgPvZJRybE0/\n\nPlease reduce the number to 5 ingress and 5 egress rules. In the delete loop (L1800), delete 6 or 7 of them.","commit_id":"e9172671f044ba0c62c81589939e1bd02f35863d"},{"author":{"_account_id":30380,"name":"ZhouHeng","email":"zhouhenglc@inspur.com","username":"zhouhenglc"},"change_message_id":"ab1c7eea0257dfda765f509f347a43a9e4b2dbb2","unresolved":false,"context_lines":[{"line_number":1777,"context_line":"        sg \u003d self.deserialize(self.fmt, res)[\u0027security_group\u0027]"},{"line_number":1778,"context_line":""},{"line_number":1779,"context_line":"        sgr_ids \u003d []"},{"line_number":1780,"context_line":"        for tcp_port in range(8050, 8100):"},{"line_number":1781,"context_line":"            sgr_ids.append(self._create_security_group_rule("},{"line_number":1782,"context_line":"                sg[\u0027id\u0027], \u0027ingress\u0027, tcp_port))"},{"line_number":1783,"context_line":"        for tcp_port in range(10000, 10050):"}],"source_content_type":"text/x-python","patch_set":18,"id":"1390e86e_95879f08","line":1780,"range":{"start_line":1780,"start_character":30,"end_line":1780,"end_character":40},"in_reply_to":"4ceab9f2_29f01dae","updated":"2024-06-04 01:46:24.000000000","message":"Done","commit_id":"e9172671f044ba0c62c81589939e1bd02f35863d"}]}
