)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"5e8b8899c679fd3c004a7755dc3db5600a1d6bc3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"65190c77_f04c8bc4","updated":"2024-11-05 06:34:45.000000000","message":"recheck\njob: functional\ntest: test_remove_sg_with_related_rule_remote_sg","commit_id":"2e01eeec5c5f66e13f3059773ff549b439cf51ae"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3a512b067f2eb53c27c6d07cff85bd634fac2637","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"eecb25b5_06a2463c","updated":"2024-11-05 14:10:15.000000000","message":"recheck\njob: functional\ntest: test_remove_sg_with_related_rule_remote_sg","commit_id":"c881e728f2c4f8b99dd7ef4d141de1fe181249f1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d184de3fe96fa2e01b6b3d1944fba09fb0793f39","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"81775bf1_94237a1f","updated":"2024-11-06 12:05:18.000000000","message":"recheck\njob: neutron-functional-with-uwsgi\nerror: https://bugs.launchpad.net/neutron/+bug/2086775","commit_id":"70023bf09797bc6e90887953de1dce39cc005b4e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"011933480ca10348418865260bb35ce60d214bf2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"60b07ec4_6dfe157e","updated":"2024-11-06 20:20:03.000000000","message":"recheck neutron-functional-with-uwsgi","commit_id":"70023bf09797bc6e90887953de1dce39cc005b4e"}],"neutron/db/ovn_revision_numbers_db.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"0c7b6145810c674002d2fe15d50e915c38de94f1","unresolved":true,"context_lines":[{"line_number":98,"context_line":"    try:"},{"line_number":99,"context_line":"        row \u003d context.session.query(STD_ATTR_MAP[resource_type]).filter_by("},{"line_number":100,"context_line":"            id\u003dresource_uuid).one()"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        return row.standard_attr_id"},{"line_number":103,"context_line":"    except exc.NoResultFound:"},{"line_number":104,"context_line":"        raise StandardAttributeIDNotFound(resource_uuid\u003dresource_uuid)"}],"source_content_type":"text/x-python","patch_set":3,"id":"321cbdb0_da48eef5","line":101,"updated":"2024-11-05 08:29:31.000000000","message":"nitty nit: is that empty line needed?","commit_id":"2e01eeec5c5f66e13f3059773ff549b439cf51ae"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f423c86f064e505e06c13eb625f7060d599f9495","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    try:"},{"line_number":99,"context_line":"        row \u003d context.session.query(STD_ATTR_MAP[resource_type]).filter_by("},{"line_number":100,"context_line":"            id\u003dresource_uuid).one()"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"        return row.standard_attr_id"},{"line_number":103,"context_line":"    except exc.NoResultFound:"},{"line_number":104,"context_line":"        raise StandardAttributeIDNotFound(resource_uuid\u003dresource_uuid)"}],"source_content_type":"text/x-python","patch_set":3,"id":"b6d93810_49aebfd1","line":101,"in_reply_to":"321cbdb0_da48eef5","updated":"2024-11-05 10:45:42.000000000","message":"I don\u0027t know what this line is doing here... I\u0027ll remove it","commit_id":"2e01eeec5c5f66e13f3059773ff549b439cf51ae"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"a9b40b17d7b054e211593f90bce3bff330c198a6","unresolved":true,"context_lines":[{"line_number":125,"context_line":"        return"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    LOG.debug(\u0027delete_revisions(%s)\u0027, resource_uuids)"},{"line_number":128,"context_line":"    return context.session.query(ovn_models.OVNRevisionNumbers).filter("},{"line_number":129,"context_line":"        ovn_models.OVNRevisionNumbers.resource_uuid.in_(resource_uuids),"},{"line_number":130,"context_line":"        ovn_models.OVNRevisionNumbers.resource_type \u003d\u003d resource_type).delete()"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"4255afcc_9687433c","line":128,"range":{"start_line":128,"start_character":4,"end_line":128,"end_character":10},"updated":"2024-11-06 14:10:12.000000000","message":"The caller is not using the return value, not sure why this is here","commit_id":"70023bf09797bc6e90887953de1dce39cc005b4e"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"09447644d9913c0896d1f179529331d014e77d6f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        return"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    LOG.debug(\u0027delete_revisions(%s)\u0027, resource_uuids)"},{"line_number":128,"context_line":"    return context.session.query(ovn_models.OVNRevisionNumbers).filter("},{"line_number":129,"context_line":"        ovn_models.OVNRevisionNumbers.resource_uuid.in_(resource_uuids),"},{"line_number":130,"context_line":"        ovn_models.OVNRevisionNumbers.resource_type \u003d\u003d resource_type).delete()"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"a844fd8a_95f4ab33","line":128,"range":{"start_line":128,"start_character":4,"end_line":128,"end_character":10},"in_reply_to":"4255afcc_9687433c","updated":"2024-11-06 14:27:46.000000000","message":"Just in case, that will inform about the number of registers deleted. I know this information is currently not used but could be in the future.","commit_id":"70023bf09797bc6e90887953de1dce39cc005b4e"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"390b5158fc3dd3fd99d0bad6cb6aa91cf4e500c3","unresolved":true,"context_lines":[{"line_number":121,"context_line":"@db_api.retry_if_session_inactive()"},{"line_number":122,"context_line":"@db_api.CONTEXT_WRITER"},{"line_number":123,"context_line":"def delete_revisions(context, resource_uuids, resource_type):"},{"line_number":124,"context_line":"    if not resource_uuids:"},{"line_number":125,"context_line":"        return"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    LOG.debug(\u0027delete_revisions(%s)\u0027, resource_uuids)"}],"source_content_type":"text/x-python","patch_set":7,"id":"f3a1e3b4_fc067ad0","line":124,"updated":"2024-11-14 21:09:31.000000000","message":"It almost seems like the caller should have checked this, assuming we entered a write context by getting here?","commit_id":"9f8509a3f4cc2a82b6dc61bf1ca62908413d9399"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"2bfea48f343179543328b46c0f091759bb25169a","unresolved":false,"context_lines":[{"line_number":121,"context_line":"@db_api.retry_if_session_inactive()"},{"line_number":122,"context_line":"@db_api.CONTEXT_WRITER"},{"line_number":123,"context_line":"def delete_revisions(context, resource_uuids, resource_type):"},{"line_number":124,"context_line":"    if not resource_uuids:"},{"line_number":125,"context_line":"        return"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"    LOG.debug(\u0027delete_revisions(%s)\u0027, resource_uuids)"}],"source_content_type":"text/x-python","patch_set":7,"id":"69d1a853_8744a67d","line":124,"in_reply_to":"f3a1e3b4_fc067ad0","updated":"2024-11-15 09:06:50.000000000","message":"The context will end without issuing any command, that is cheap. If we are inside another context, that will do nothing. I always prefer the method to make this check rather than the caller, that can miss it.","commit_id":"9f8509a3f4cc2a82b6dc61bf1ca62908413d9399"}],"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":"0c7b6145810c674002d2fe15d50e915c38de94f1","unresolved":true,"context_lines":[{"line_number":266,"context_line":"                               events.AFTER_CREATE)"},{"line_number":267,"context_line":"            # registry.subscribe(self._delete_security_group_precommit,"},{"line_number":268,"context_line":"            #                    resources.SECURITY_GROUP,"},{"line_number":269,"context_line":"            #                    events.PRECOMMIT_DELETE)"},{"line_number":270,"context_line":"            registry.subscribe(self._delete_security_group,"},{"line_number":271,"context_line":"                               resources.SECURITY_GROUP,"},{"line_number":272,"context_line":"                               events.AFTER_DELETE)"}],"source_content_type":"text/x-python","patch_set":3,"id":"e7aa6ae6_01acbbc7","line":269,"updated":"2024-11-05 08:29:31.000000000","message":"why this is commented out?","commit_id":"2e01eeec5c5f66e13f3059773ff549b439cf51ae"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f423c86f064e505e06c13eb625f7060d599f9495","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                               events.AFTER_CREATE)"},{"line_number":267,"context_line":"            # registry.subscribe(self._delete_security_group_precommit,"},{"line_number":268,"context_line":"            #                    resources.SECURITY_GROUP,"},{"line_number":269,"context_line":"            #                    events.PRECOMMIT_DELETE)"},{"line_number":270,"context_line":"            registry.subscribe(self._delete_security_group,"},{"line_number":271,"context_line":"                               resources.SECURITY_GROUP,"},{"line_number":272,"context_line":"                               events.AFTER_DELETE)"}],"source_content_type":"text/x-python","patch_set":3,"id":"8d267ebc_025e57c5","line":269,"in_reply_to":"e7aa6ae6_01acbbc7","updated":"2024-11-05 10:45:42.000000000","message":"Yeah, I need to remove it. We no longer call ``_delete_security_group_precommit``","commit_id":"2e01eeec5c5f66e13f3059773ff549b439cf51ae"}],"neutron/plugins/ml2/drivers/ovn/mech_driver/ovsdb/ovn_client.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"0c7b6145810c674002d2fe15d50e915c38de94f1","unresolved":true,"context_lines":[{"line_number":2555,"context_line":"            txn.add(self._nb_idl.pg_del_ports(pg_name, port))"},{"line_number":2556,"context_line":""},{"line_number":2557,"context_line":"    def delete_security_group(self, context, security_group_id,"},{"line_number":2558,"context_line":"                              delete_sg_rules\u003dFalse):"},{"line_number":2559,"context_line":"        \"\"\"Delete the OVN port group related to a Neutron security group"},{"line_number":2560,"context_line":""},{"line_number":2561,"context_line":"        The Port_Group deletion also implies the deletion of the ACLs (security"}],"source_content_type":"text/x-python","patch_set":3,"id":"909266af_cf08fc0b","line":2558,"updated":"2024-11-05 08:29:31.000000000","message":"I\u0027m not sure I understand, when we are deleting security group without deleting sg rules?","commit_id":"2e01eeec5c5f66e13f3059773ff549b439cf51ae"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f423c86f064e505e06c13eb625f7060d599f9495","unresolved":false,"context_lines":[{"line_number":2555,"context_line":"            txn.add(self._nb_idl.pg_del_ports(pg_name, port))"},{"line_number":2556,"context_line":""},{"line_number":2557,"context_line":"    def delete_security_group(self, context, security_group_id,"},{"line_number":2558,"context_line":"                              delete_sg_rules\u003dFalse):"},{"line_number":2559,"context_line":"        \"\"\"Delete the OVN port group related to a Neutron security group"},{"line_number":2560,"context_line":""},{"line_number":2561,"context_line":"        The Port_Group deletion also implies the deletion of the ACLs (security"}],"source_content_type":"text/x-python","patch_set":3,"id":"09a2c5d3_779f7711","line":2558,"in_reply_to":"909266af_cf08fc0b","updated":"2024-11-05 10:45:42.000000000","message":"Yes, we can call this method without taking care of the security group rules. This method can be called by the maintenance method and the API.\n\nThe maintenance method will handle each element (SG, SG rules) independently. When we call this method from the API, we want to delete the SG \"completely\" (that means SG and rules). When a SG is deleted:\n* The API deletes the SG and the SG rules.\n* This mech driver call deletes the Port_Group, that also deletes the ACLs (SG rules).\n* We also ensure, if delete_sg_rules\u003dTrue, that the SG rules revision numbers are deleted.","commit_id":"2e01eeec5c5f66e13f3059773ff549b439cf51ae"}]}
