)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"979bc6e267eea44b98614c9890b153008c1c6c25","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5da1013e_99de59ca","updated":"2025-01-22 13:57:57.000000000","message":"recheck neutron-ovn-grenade-multinode","commit_id":"3d2ead1aa27262563c40d1a490901eff268eae83"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"ddb2e30d8b355a4e635bbd9e00625e4bb20eaa5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ffb1786c_11c1dbd0","updated":"2025-01-22 17:37:54.000000000","message":"I just updated the release note text, no other change","commit_id":"d2a3654e0184c6f8ba19e053fe0177ca2792f37b"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"47c0d2929956ab67cdf7d8ad56ccdf72b421d7ea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ba341481_29b0fe16","updated":"2025-01-22 21:59:16.000000000","message":"recheck neutron-ovn-rally-task","commit_id":"d2a3654e0184c6f8ba19e053fe0177ca2792f37b"}],"neutron/conf/policies/router.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"dd4a17b1cff521496d710bd4de7ca5ddb63e0322","unresolved":true,"context_lines":[{"line_number":216,"context_line":"        description\u003d\u0027Get the router tags\u0027,"},{"line_number":217,"context_line":"        operations\u003dACTION_GET_TAGS,"},{"line_number":218,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":219,"context_line":"            name\u003d\u0027create_routers_tags\u0027,"},{"line_number":220,"context_line":"            check_str\u003dbase.ADMIN_OR_PROJECT_READER,"},{"line_number":221,"context_line":"            deprecated_reason\u003d\"Name of the rule is changed.\","},{"line_number":222,"context_line":"            deprecated_since\u003d\"2025.1\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"8cb8ad84_240d7cde","line":219,"range":{"start_line":219,"start_character":18,"end_line":219,"end_character":37},"updated":"2025-01-21 12:17:55.000000000","message":"get_routers_tags","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d86ed1289dd64d752a842a1d45d6bea126c29737","unresolved":false,"context_lines":[{"line_number":216,"context_line":"        description\u003d\u0027Get the router tags\u0027,"},{"line_number":217,"context_line":"        operations\u003dACTION_GET_TAGS,"},{"line_number":218,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":219,"context_line":"            name\u003d\u0027create_routers_tags\u0027,"},{"line_number":220,"context_line":"            check_str\u003dbase.ADMIN_OR_PROJECT_READER,"},{"line_number":221,"context_line":"            deprecated_reason\u003d\"Name of the rule is changed.\","},{"line_number":222,"context_line":"            deprecated_since\u003d\"2025.1\")"}],"source_content_type":"text/x-python","patch_set":5,"id":"db3bd6c3_87fa8fda","line":219,"range":{"start_line":219,"start_character":18,"end_line":219,"end_character":37},"in_reply_to":"8cb8ad84_240d7cde","updated":"2025-01-21 15:49:09.000000000","message":"Done","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"}],"neutron/conf/policies/subnet.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"dd4a17b1cff521496d710bd4de7ca5ddb63e0322","unresolved":true,"context_lines":[{"line_number":164,"context_line":"        description\u003d\u0027Get the subnet tags\u0027,"},{"line_number":165,"context_line":"        operations\u003dACTION_GET_TAGS,"},{"line_number":166,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":167,"context_line":"            name\u003d\u0027create_subnets_tags\u0027,"},{"line_number":168,"context_line":"            check_str\u003dneutron_policy.policy_or("},{"line_number":169,"context_line":"                base.PROJECT_READER,"},{"line_number":170,"context_line":"                \u0027rule:shared\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"812ca513_fb12b0b6","line":167,"range":{"start_line":167,"start_character":18,"end_line":167,"end_character":37},"updated":"2025-01-21 12:17:55.000000000","message":"get_subnets_tags","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d86ed1289dd64d752a842a1d45d6bea126c29737","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        description\u003d\u0027Get the subnet tags\u0027,"},{"line_number":165,"context_line":"        operations\u003dACTION_GET_TAGS,"},{"line_number":166,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":167,"context_line":"            name\u003d\u0027create_subnets_tags\u0027,"},{"line_number":168,"context_line":"            check_str\u003dneutron_policy.policy_or("},{"line_number":169,"context_line":"                base.PROJECT_READER,"},{"line_number":170,"context_line":"                \u0027rule:shared\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"d4bea28a_539ccb4b","line":167,"range":{"start_line":167,"start_character":18,"end_line":167,"end_character":37},"in_reply_to":"812ca513_fb12b0b6","updated":"2025-01-21 15:49:09.000000000","message":"Done","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"}],"neutron/conf/policies/subnetpool.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"dd4a17b1cff521496d710bd4de7ca5ddb63e0322","unresolved":true,"context_lines":[{"line_number":151,"context_line":"        description\u003d\u0027Get the subnetpool tags\u0027,"},{"line_number":152,"context_line":"        operations\u003dACTION_GET_TAGS,"},{"line_number":153,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":154,"context_line":"            name\u003d\u0027create_subnetpools_tags\u0027,"},{"line_number":155,"context_line":"            check_str\u003dneutron_policy.policy_or("},{"line_number":156,"context_line":"                base.ADMIN_OR_PROJECT_READER,"},{"line_number":157,"context_line":"                \u0027rule:shared_subnetpools\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"b02ac646_1dc6c29d","line":154,"range":{"start_line":154,"start_character":18,"end_line":154,"end_character":41},"updated":"2025-01-21 12:17:55.000000000","message":"get_subnetpools_tags","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d86ed1289dd64d752a842a1d45d6bea126c29737","unresolved":false,"context_lines":[{"line_number":151,"context_line":"        description\u003d\u0027Get the subnetpool tags\u0027,"},{"line_number":152,"context_line":"        operations\u003dACTION_GET_TAGS,"},{"line_number":153,"context_line":"        deprecated_rule\u003dpolicy.DeprecatedRule("},{"line_number":154,"context_line":"            name\u003d\u0027create_subnetpools_tags\u0027,"},{"line_number":155,"context_line":"            check_str\u003dneutron_policy.policy_or("},{"line_number":156,"context_line":"                base.ADMIN_OR_PROJECT_READER,"},{"line_number":157,"context_line":"                \u0027rule:shared_subnetpools\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"e92ec888_002be2c2","line":154,"range":{"start_line":154,"start_character":18,"end_line":154,"end_character":41},"in_reply_to":"b02ac646_1dc6c29d","updated":"2025-01-21 15:49:09.000000000","message":"Done","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"}],"neutron/extensions/tagging.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"dd4a17b1cff521496d710bd4de7ca5ddb63e0322","unresolved":true,"context_lines":[{"line_number":258,"context_line":"        validate_tag(id)"},{"line_number":259,"context_line":"        ctx \u003d request.context"},{"line_number":260,"context_line":"        rinfo \u003d self._get_resource_info(ctx, kwargs)"},{"line_number":261,"context_line":"        policy.enforce(ctx, \u0027delete_{}:{}\u0027.format(rinfo.obj_type, TAGS),"},{"line_number":262,"context_line":"                       rinfo.obj)"},{"line_number":263,"context_line":"        notify_tag_action(ctx, \u0027delete.start\u0027, rinfo.obj_type,"},{"line_number":264,"context_line":"                          rinfo.obj[\u0027id\u0027], [id])"}],"source_content_type":"text/x-python","patch_set":5,"id":"79cba7e7_f4253207","line":261,"range":{"start_line":261,"start_character":28,"end_line":261,"end_character":42},"updated":"2025-01-21 12:17:55.000000000","message":"Shouldn\u0027t we use ``_get_policy_action``?","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d86ed1289dd64d752a842a1d45d6bea126c29737","unresolved":false,"context_lines":[{"line_number":258,"context_line":"        validate_tag(id)"},{"line_number":259,"context_line":"        ctx \u003d request.context"},{"line_number":260,"context_line":"        rinfo \u003d self._get_resource_info(ctx, kwargs)"},{"line_number":261,"context_line":"        policy.enforce(ctx, \u0027delete_{}:{}\u0027.format(rinfo.obj_type, TAGS),"},{"line_number":262,"context_line":"                       rinfo.obj)"},{"line_number":263,"context_line":"        notify_tag_action(ctx, \u0027delete.start\u0027, rinfo.obj_type,"},{"line_number":264,"context_line":"                          rinfo.obj[\u0027id\u0027], [id])"}],"source_content_type":"text/x-python","patch_set":5,"id":"964627f7_97e82b07","line":261,"range":{"start_line":261,"start_character":28,"end_line":261,"end_character":42},"in_reply_to":"79cba7e7_f4253207","updated":"2025-01-21 15:49:09.000000000","message":"Done","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"dd4a17b1cff521496d710bd4de7ca5ddb63e0322","unresolved":true,"context_lines":[{"line_number":272,"context_line":"        # DELETE /v2.0/{obj_resource}/{obj_resource_id}/tags"},{"line_number":273,"context_line":"        ctx \u003d request.context"},{"line_number":274,"context_line":"        rinfo \u003d self._get_resource_info(ctx, kwargs)"},{"line_number":275,"context_line":"        policy.enforce(ctx, \u0027delete_{}:{}\u0027.format(rinfo.obj_type, TAGS),"},{"line_number":276,"context_line":"                       rinfo.obj)"},{"line_number":277,"context_line":"        notify_tag_action(ctx, \u0027delete_all.start\u0027, rinfo.obj_type,"},{"line_number":278,"context_line":"                          rinfo.obj[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"c858a894_d401dc5b","line":275,"range":{"start_line":275,"start_character":28,"end_line":275,"end_character":41},"updated":"2025-01-21 12:17:55.000000000","message":"ditto","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d86ed1289dd64d752a842a1d45d6bea126c29737","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        # DELETE /v2.0/{obj_resource}/{obj_resource_id}/tags"},{"line_number":273,"context_line":"        ctx \u003d request.context"},{"line_number":274,"context_line":"        rinfo \u003d self._get_resource_info(ctx, kwargs)"},{"line_number":275,"context_line":"        policy.enforce(ctx, \u0027delete_{}:{}\u0027.format(rinfo.obj_type, TAGS),"},{"line_number":276,"context_line":"                       rinfo.obj)"},{"line_number":277,"context_line":"        notify_tag_action(ctx, \u0027delete_all.start\u0027, rinfo.obj_type,"},{"line_number":278,"context_line":"                          rinfo.obj[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"eb3708a3_3661ff3f","line":275,"range":{"start_line":275,"start_character":28,"end_line":275,"end_character":41},"in_reply_to":"c858a894_d401dc5b","updated":"2025-01-21 15:49:09.000000000","message":"Done","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"}],"neutron/tests/unit/extensions/test_tagging.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"dd4a17b1cff521496d710bd4de7ca5ddb63e0322","unresolved":true,"context_lines":[{"line_number":84,"context_line":"            \u0027tenant_id\u0027: self.project_id,"},{"line_number":85,"context_line":"            \u0027project_id\u0027: self.project_id"},{"line_number":86,"context_line":"        }"},{"line_number":87,"context_line":"        with mock.patch.dict("},{"line_number":88,"context_line":"                attributes.RESOURCES,"},{"line_number":89,"context_line":"                {\u0027floatingips\u0027: {"},{"line_number":90,"context_line":"                    \u0027id\u0027: {\u0027primary_key\u0027: True},"}],"source_content_type":"text/x-python","patch_set":5,"id":"cbd10830_f48f5f23","line":87,"range":{"start_line":87,"start_character":8,"end_line":87,"end_character":29},"updated":"2025-01-21 12:17:55.000000000","message":"You can mock all the resources in the ``setUp`` class only once (floatingips, routers, network_segment_ranges, policies and trunks)","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"d86ed1289dd64d752a842a1d45d6bea126c29737","unresolved":false,"context_lines":[{"line_number":84,"context_line":"            \u0027tenant_id\u0027: self.project_id,"},{"line_number":85,"context_line":"            \u0027project_id\u0027: self.project_id"},{"line_number":86,"context_line":"        }"},{"line_number":87,"context_line":"        with mock.patch.dict("},{"line_number":88,"context_line":"                attributes.RESOURCES,"},{"line_number":89,"context_line":"                {\u0027floatingips\u0027: {"},{"line_number":90,"context_line":"                    \u0027id\u0027: {\u0027primary_key\u0027: True},"}],"source_content_type":"text/x-python","patch_set":5,"id":"bdec6172_2221bedc","line":87,"range":{"start_line":87,"start_character":8,"end_line":87,"end_character":29},"in_reply_to":"cbd10830_f48f5f23","updated":"2025-01-21 15:49:09.000000000","message":"Done","commit_id":"b1dd777ec49f2b5a65c82d6cbc378fe004043604"}]}
