)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"28c2f132026a554c587bf73bedf7f7dbfdd214f6","unresolved":true,"context_lines":[{"line_number":14,"context_line":"security-group delete event can handle this issue."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I207ecf7954b06507e03cb16b502ceb6e2807e0e7"},{"line_number":17,"context_line":"Closes-Bug: #2008712"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"2e246c4d_0d99d6d4","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":20},"updated":"2023-03-07 13:26:04.000000000","message":"I\u0027m still a bit surprised that we don\u0027t approach this from the server side, maybe from neutron/db/securitygroups_db.py. Because that approach would fix the bug for all affected mechanism drivers. While this approach may fix only a subset of all mech drivers - those that use ovo push notifications.\n\nFor example I\u0027ve put an ovs example in the bug report. However the downstream bug report I looked into first had problems with the odl mechanism driver.","commit_id":"471fabedc79e8247ca917eefdd545fe8d9d3994d"}],"/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":"e05474b74c6035afa7c8c4a98a03b3482fbba332","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a2d1e99a_e3bc8d1f","updated":"2023-03-10 15:41:45.000000000","message":"Bence, Brian, thanks for checking, I pushed a new version which I hope can work not just for OVS or Linuxbridge, next week I check it with OVN also.","commit_id":"db995e8fc808ae5288cc0c8f0ab7a22373eb628f"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"5cc7b2fddf411d582e471e93b08fb3077e8e8510","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f578c489_cba895b5","updated":"2023-03-13 10:11:55.000000000","message":"I checed with OVN and (by my simple test) things are ok with it (by Rodolfo\u0027s test for the bug it was expected, but at least I haven\u0027t made it worse)","commit_id":"db995e8fc808ae5288cc0c8f0ab7a22373eb628f"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"b44a17067fe80ec95a28cfa13ba6b1174a615103","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9354aee2_e11bf840","updated":"2023-03-14 14:55:21.000000000","message":"I still like this approach better than ps1, since it\u0027s generic.\n\nTwo notes:\n* We don\u0027t have any tests yet.\n* This approach makes some code dead in the ovn mech driver. Maybe that could be cleaned up.","commit_id":"db995e8fc808ae5288cc0c8f0ab7a22373eb628f"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"00dc8f2258eeaac0d4e674316cae336a9b9dd272","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"81fbe3a6_14795cc5","in_reply_to":"9354aee2_e11bf840","updated":"2023-03-14 17:27:27.000000000","message":"thanks, I check the OVN part (~Thusday as we have a National Holiday Wednesday:-))","commit_id":"db995e8fc808ae5288cc0c8f0ab7a22373eb628f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a4d5186348453c5e3eb2562e30be1212cd9f9061","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4b22c423_b00e70ab","updated":"2023-05-19 14:44:19.000000000","message":"I am going to propose a revert of this because I\u0027m not sure it\u0027s working. The tempest-integrated-networking logs for this patch are generating the same \"security group not found\" errors found in the gate currently.\n\nhttps://f0c50d0dcf9d4d7b96b5-e806954d4dee75658447576ad07d9921.ssl.cf2.rackcdn.com/876716/5/gate/tempest-integrated-networking/09783f0/controller/logs/screen-q-svc.txt","commit_id":"63584957203ec9f5ba165177978213c3909f81f0"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"902a8ce9c55850e55001bd14fe2dabfb9ece0b5d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"41391ebc_0a74c0e1","updated":"2023-05-18 18:50:23.000000000","message":"I realize this is merged, but it seems this is causing lots of error logging, since I couldn\u0027t find a related bug figured I\u0027d add a comment.","commit_id":"63584957203ec9f5ba165177978213c3909f81f0"},{"author":{"_account_id":5948,"name":"Oleg Bondarev","email":"obondarev@mirantis.com","username":"obondarev"},"change_message_id":"05a3624f70a047df9a8a0e4ddef0764e4b5b23ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1aaae6fc_d78de1fb","updated":"2023-04-03 09:27:21.000000000","message":"Is it ok to delete a security group if it\u0027s used by some rules?","commit_id":"63584957203ec9f5ba165177978213c3909f81f0"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"f098dd4df1d15cb38f00b1c758ca6987159afc76","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"2b991a31_e21f7497","updated":"2023-04-20 14:49:01.000000000","message":"ok for me but I would like someone more familiar to ovn backend to approve this","commit_id":"63584957203ec9f5ba165177978213c3909f81f0"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"d55df2e7d00920e463a26b8b488e5c7216ae61fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"942a061b_86fab6ca","updated":"2023-04-28 07:52:23.000000000","message":"recheck\nmirror.ca-ymq-1.vexxhost download issues in tempest jobs","commit_id":"63584957203ec9f5ba165177978213c3909f81f0"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"31f6e44edc00ae626f72091056aea3a532904520","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4ddcdf1d_af831d8a","updated":"2023-05-02 07:58:11.000000000","message":"recheck https://bugs.launchpad.net/neutron/+bug/2017992 workaround in place","commit_id":"63584957203ec9f5ba165177978213c3909f81f0"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"50ef256793ac955f63f165a3dce3bd301ca7b5b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b0068226_887e00f7","in_reply_to":"1aaae6fc_d78de1fb","updated":"2023-04-12 12:38:58.000000000","message":"that can be also a question, currently the API allows it, and I don\u0027t see that as serious dependency like between a network and a port","commit_id":"63584957203ec9f5ba165177978213c3909f81f0"}],"neutron/api/rpc/handlers/securitygroups_rpc.py":[{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"28c2f132026a554c587bf73bedf7f7dbfdd214f6","unresolved":true,"context_lines":[{"line_number":306,"context_line":"        for rule in self.rcache.get_resources(\u0027SecurityGroupRule\u0027, filters):"},{"line_number":307,"context_line":"            self.rcache.record_resource_delete(context, \u0027SecurityGroupRule\u0027,"},{"line_number":308,"context_line":"                                               rule.id)"},{"line_number":309,"context_line":"        # If there\u0027s a rule which remote is the deleted sg, remove that also."},{"line_number":310,"context_line":"        filters \u003d {\u0027remote_group_id\u0027: (existing.id, )}"},{"line_number":311,"context_line":"        for rule in self.rcache.get_resources(\u0027SecurityGroupRule\u0027, filters):"},{"line_number":312,"context_line":"            self.rcache.record_resource_delete(context, \u0027SecurityGroupRule\u0027,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6a4fc394_95ae5375","line":309,"range":{"start_line":309,"start_character":28,"end_line":309,"end_character":33},"updated":"2023-03-07 13:26:04.000000000","message":"I\u0027m not a native speaker, but maybe you meant \"whose\"?","commit_id":"471fabedc79e8247ca917eefdd545fe8d9d3994d"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9d12088cbf018f061c35b7ac9e879a9d8adc6694","unresolved":true,"context_lines":[{"line_number":307,"context_line":"            self.rcache.record_resource_delete(context, \u0027SecurityGroupRule\u0027,"},{"line_number":308,"context_line":"                                               rule.id)"},{"line_number":309,"context_line":"        # If there\u0027s a rule which remote is the deleted sg, remove that also."},{"line_number":310,"context_line":"        filters \u003d {\u0027remote_group_id\u0027: (existing.id, )}"},{"line_number":311,"context_line":"        for rule in self.rcache.get_resources(\u0027SecurityGroupRule\u0027, filters):"},{"line_number":312,"context_line":"            self.rcache.record_resource_delete(context, \u0027SecurityGroupRule\u0027,"},{"line_number":313,"context_line":"                                               rule.id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"d2b12674_cdcaaa89","line":310,"updated":"2023-03-07 15:16:01.000000000","message":"Can this be combined with above filters to make just one call?","commit_id":"471fabedc79e8247ca917eefdd545fe8d9d3994d"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"28c2f132026a554c587bf73bedf7f7dbfdd214f6","unresolved":true,"context_lines":[{"line_number":310,"context_line":"        filters \u003d {\u0027remote_group_id\u0027: (existing.id, )}"},{"line_number":311,"context_line":"        for rule in self.rcache.get_resources(\u0027SecurityGroupRule\u0027, filters):"},{"line_number":312,"context_line":"            self.rcache.record_resource_delete(context, \u0027SecurityGroupRule\u0027,"},{"line_number":313,"context_line":"                                               rule.id)"},{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    def _handle_sg_rule_delete(self, rtype, event, trigger, payload):"},{"line_number":316,"context_line":"        existing \u003d payload.states[0]"}],"source_content_type":"text/x-python","patch_set":1,"id":"309a171f_fbc880b9","line":313,"updated":"2023-03-07 13:26:04.000000000","message":"I\u0027m really not familiar with this code, but these questions come to my mind:\n\n1) When we need to delete rules, whose remote group happens to be not used on this host, then do we still get a notification for this?\n\n2) Any idea how frequently do we hit the cache vs call into the server?","commit_id":"471fabedc79e8247ca917eefdd545fe8d9d3994d"}],"neutron/db/securitygroups_db.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"c9a61e474ab8c3c7b432aa0918051e4734d1b8cf","unresolved":true,"context_lines":[{"line_number":285,"context_line":"                             context, resource_id\u003did, states\u003d(sec_group,),"},{"line_number":286,"context_line":"                             metadata\u003d{\u0027security_group_rule_ids\u0027: sgr_ids,"},{"line_number":287,"context_line":"                                       \u0027name\u0027: sg[\u0027name\u0027]}))"},{"line_number":288,"context_line":"        for rule in rules_ids_as_remote:"},{"line_number":289,"context_line":"            registry.publish("},{"line_number":290,"context_line":"                resources.SECURITY_GROUP_RULE,"},{"line_number":291,"context_line":"                events.AFTER_DELETE,"},{"line_number":292,"context_line":"                self,"},{"line_number":293,"context_line":"                payload\u003devents.DBEventPayload("},{"line_number":294,"context_line":"                    context,"},{"line_number":295,"context_line":"                    resource_id\u003drule[\u0027id\u0027],"},{"line_number":296,"context_line":"                    metadata\u003d{\u0027security_group_id\u0027: rule[\u0027security_group_id\u0027],"},{"line_number":297,"context_line":"                              \u0027remote_group_id\u0027: rule[\u0027remote_group_id\u0027]"},{"line_number":298,"context_line":"                              }"},{"line_number":299,"context_line":"                )"},{"line_number":300,"context_line":"            )"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"    @db_api.retry_if_session_inactive()"},{"line_number":303,"context_line":"    def update_security_group(self, context, id, security_group):"}],"source_content_type":"text/x-python","patch_set":2,"id":"d3eb02f0_40d6c034","line":300,"range":{"start_line":288,"start_character":8,"end_line":300,"end_character":13},"updated":"2023-03-10 15:51:42.000000000","message":"I am not sure if this is\n* not causing perfomance issues\n* not something that can be make simpler\n* nice enough 😊","commit_id":"db995e8fc808ae5288cc0c8f0ab7a22373eb628f"},{"author":{"_account_id":15554,"name":"Bence Romsics","email":"bence.romsics@gmail.com","username":"ebenrom","status":"working for Ericsson, UTC+1 (+DST)"},"change_message_id":"b44a17067fe80ec95a28cfa13ba6b1174a615103","unresolved":true,"context_lines":[{"line_number":285,"context_line":"                             context, resource_id\u003did, states\u003d(sec_group,),"},{"line_number":286,"context_line":"                             metadata\u003d{\u0027security_group_rule_ids\u0027: sgr_ids,"},{"line_number":287,"context_line":"                                       \u0027name\u0027: sg[\u0027name\u0027]}))"},{"line_number":288,"context_line":"        for rule in rules_ids_as_remote:"},{"line_number":289,"context_line":"            registry.publish("},{"line_number":290,"context_line":"                resources.SECURITY_GROUP_RULE,"},{"line_number":291,"context_line":"                events.AFTER_DELETE,"},{"line_number":292,"context_line":"                self,"},{"line_number":293,"context_line":"                payload\u003devents.DBEventPayload("},{"line_number":294,"context_line":"                    context,"},{"line_number":295,"context_line":"                    resource_id\u003drule[\u0027id\u0027],"},{"line_number":296,"context_line":"                    metadata\u003d{\u0027security_group_id\u0027: rule[\u0027security_group_id\u0027],"},{"line_number":297,"context_line":"                              \u0027remote_group_id\u0027: rule[\u0027remote_group_id\u0027]"},{"line_number":298,"context_line":"                              }"},{"line_number":299,"context_line":"                )"},{"line_number":300,"context_line":"            )"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"    @db_api.retry_if_session_inactive()"},{"line_number":303,"context_line":"    def update_security_group(self, context, id, security_group):"}],"source_content_type":"text/x-python","patch_set":2,"id":"c3b97b1a_0097424c","line":300,"range":{"start_line":288,"start_character":8,"end_line":300,"end_character":13},"in_reply_to":"d3eb02f0_40d6c034","updated":"2023-03-14 14:55:21.000000000","message":"To me it seems nice and simple. :-)\n\nClearly regaining the correct behavior here will have some performance impact. I believe that is normal. The better question is: Do we have further impact beyond what\u0027s necessary? I don\u0027t see much of that here.","commit_id":"db995e8fc808ae5288cc0c8f0ab7a22373eb628f"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"902a8ce9c55850e55001bd14fe2dabfb9ece0b5d","unresolved":true,"context_lines":[{"line_number":905,"context_line":"            payload\u003devents.DBEventPayload("},{"line_number":906,"context_line":"                context,"},{"line_number":907,"context_line":"                resource_id\u003did,"},{"line_number":908,"context_line":"                metadata\u003d{\u0027security_group_id\u0027: sgr[\u0027security_group_id\u0027]}))"},{"line_number":909,"context_line":""},{"line_number":910,"context_line":"    @staticmethod"},{"line_number":911,"context_line":"    @resource_extend.extends([port_def.COLLECTION_NAME])"}],"source_content_type":"text/x-python","patch_set":5,"id":"23b73692_091321f6","line":908,"updated":"2023-05-18 18:50:23.000000000","message":"What about this? It\u0027s only passing the Id and not the rule, but I guess it would have triggered an AttributeError?","commit_id":"63584957203ec9f5ba165177978213c3909f81f0"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/mech_driver.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"ff3d3eb9cb5ccccc2b3a43a38e7b6a15e536294f","unresolved":true,"context_lines":[{"line_number":267,"context_line":"                               events.AFTER_CREATE)"},{"line_number":268,"context_line":"            registry.subscribe(self._delete_security_group_precommit,"},{"line_number":269,"context_line":"                               resources.SECURITY_GROUP,"},{"line_number":270,"context_line":"                               events.PRECOMMIT_DELETE)"},{"line_number":271,"context_line":"            registry.subscribe(self._delete_security_group,"},{"line_number":272,"context_line":"                               resources.SECURITY_GROUP,"},{"line_number":273,"context_line":"                               events.AFTER_DELETE)"}],"source_content_type":"text/x-python","patch_set":4,"id":"6f29dbf1_f568eb4c","side":"PARENT","line":270,"updated":"2023-03-20 08:48:14.000000000","message":"I\u0027m not sure why this is deleted. Notification for new event will be send only with SG rules with remote_group_id. Don\u0027t we need to delete other SG rules too?","commit_id":"09a6d126ac306b2e8564732562c87d3831450f90"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"9a78ecfd810a5957aae5ba2c200289fd595f5ec5","unresolved":true,"context_lines":[{"line_number":267,"context_line":"                               events.AFTER_CREATE)"},{"line_number":268,"context_line":"            registry.subscribe(self._delete_security_group_precommit,"},{"line_number":269,"context_line":"                               resources.SECURITY_GROUP,"},{"line_number":270,"context_line":"                               events.PRECOMMIT_DELETE)"},{"line_number":271,"context_line":"            registry.subscribe(self._delete_security_group,"},{"line_number":272,"context_line":"                               resources.SECURITY_GROUP,"},{"line_number":273,"context_line":"                               events.AFTER_DELETE)"}],"source_content_type":"text/x-python","patch_set":4,"id":"4d278562_fd96ef35","side":"PARENT","line":270,"in_reply_to":"6f29dbf1_f568eb4c","updated":"2023-03-20 09:44:19.000000000","message":"For OVN this event handled only the rules which has remote_group_id\u003d\"id of deleted sg\", the handling of the delete of other rules handled by other events (SECURITY_GROUP_RULE, BEFORE_DELETE) and _process_sg_rule_notification.\n\nSo this is why I said that subscribing on this event (SECURITY_GROUP, PRECOMMIT_DELETE) is not necessary with the S_G_RULE AFTER_DELETE (which is  published here  https://review.opendev.org/c/openstack/neutron/+/876716/4/neutron/db/securitygroups_db.py#293 ).\n\nBUT: actually I am not sure if changing something that is working is a good idea :-) this is why I am doubtful regarding this part of the change in mech_ovn","commit_id":"09a6d126ac306b2e8564732562c87d3831450f90"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"902a8ce9c55850e55001bd14fe2dabfb9ece0b5d","unresolved":true,"context_lines":[{"line_number":457,"context_line":"            self, resource, event, trigger, payload):"},{"line_number":458,"context_line":"        context \u003d payload.context"},{"line_number":459,"context_line":"        sg_rule \u003d payload.metadata[\u0027rule\u0027]"},{"line_number":460,"context_line":"        self._ovn_client.delete_security_group_rule(context, sg_rule)"},{"line_number":461,"context_line":""},{"line_number":462,"context_line":"    def _sg_has_rules_with_same_normalized_cidr(self, sg_rule):"},{"line_number":463,"context_line":"        compare_keys \u003d ["}],"source_content_type":"text/x-python","patch_set":5,"id":"9ef1e045_e0da6e28","line":460,"updated":"2023-05-18 18:50:23.000000000","message":"So this part of this change seems to be causing lots of errors in the neutron-server log, for example:\n\nhttps://eef60588c75c0ceee753-75f223a9df7ad20b745e1cc007e1bec3.ssl.cf2.rackcdn.com/881487/6/check/tempest-integrated-networking/e02c134/controller/logs/screen-q-svc.txt","commit_id":"63584957203ec9f5ba165177978213c3909f81f0"}],"neutron/tests/unit/api/rpc/handlers/test_securitygroups_rpc.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"9d12088cbf018f061c35b7ac9e879a9d8adc6694","unresolved":true,"context_lines":[{"line_number":126,"context_line":"        # else:"},{"line_number":127,"context_line":"        #     r_group \u003d attrs[\u0027id\u0027]"},{"line_number":128,"context_line":"        r_group \u003d (kwargs.get(\u0027remote_group_id\u0027)"},{"line_number":129,"context_line":"                   if kwargs.get(\u0027remote_group_id\u0027) else attrs[\u0027id\u0027])"},{"line_number":130,"context_line":"        sg_rule \u003d securitygroup.SecurityGroupRule("},{"line_number":131,"context_line":"            id\u003duuidutils.generate_uuid(),"},{"line_number":132,"context_line":"            security_group_id\u003dattrs[\u0027id\u0027],"}],"source_content_type":"text/x-python","patch_set":1,"id":"c0b4590b_2b63db6c","line":129,"updated":"2023-03-07 15:16:01.000000000","message":"r_group \u003d kwargs.get(\u0027remote_group_id\u0027) or attrs[\u0027id\u0027]\n\n?","commit_id":"471fabedc79e8247ca917eefdd545fe8d9d3994d"}]}
