)]}'
{"neutron/db/quota/driver_nolock.py":[{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"bc98aabd9630192e321487b0803e6125821b32ac","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a8e967f4_38159705","line":84,"updated":"2021-09-29 13:16:30.000000000","message":"don\u0027t we need  a quota_limit_check method here as well?","commit_id":"28e9a36dd8ee7e20134cd195974c33bb182e151c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"ac9a139cfb0186861c35dd83f71b65b743988eb1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"b02ca02f_d6099af7","line":84,"in_reply_to":"4b01957f_d8fbdb81","updated":"2021-09-29 15:02:18.000000000","message":"ok, thanks, I see now","commit_id":"28e9a36dd8ee7e20134cd195974c33bb182e151c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"3cd4d4e666ad776170aef846e77be5ab6302313c","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4b01957f_d8fbdb81","line":84,"in_reply_to":"a8e967f4_38159705","updated":"2021-09-29 13:27:12.000000000","message":"It is inherited from DbQuotaDriver\n  class DbQuotaNoLockDriver(quota_driver.DbQuotaDriver):...\n\n\nThis method is calling:\n- self.get_tenant_quotas: implemented in DbQuotaDriver, inherited here.\n- self.get_resource_usage: both drivers have a different implementation.","commit_id":"28e9a36dd8ee7e20134cd195974c33bb182e151c"}],"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":"59ffe6880a7855ee6762548b02e49d5bcdf7c07c","unresolved":true,"context_lines":[{"line_number":106,"context_line":"        with db_api.CONTEXT_WRITER.using(context):"},{"line_number":107,"context_line":"            delta \u003d len(ext_sg.sg_supported_ethertypes)"},{"line_number":108,"context_line":"            delta \u003d delta * 2 if default_sg else delta"},{"line_number":109,"context_line":"            quota.QUOTAS.quota_limit_check(context, tenant_id,"},{"line_number":110,"context_line":"                                           security_group_rule\u003ddelta)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"            sg \u003d sg_obj.SecurityGroup("},{"line_number":113,"context_line":"                context, id\u003ds.get(\u0027id\u0027) or uuidutils.generate_uuid(),"}],"source_content_type":"text/x-python","patch_set":5,"id":"38160b4b_e82aee02","line":110,"range":{"start_line":109,"start_character":12,"end_line":110,"end_character":69},"updated":"2021-09-29 15:22:14.000000000","message":"secutiry-group test test_sg_creation_with_insufficient_sg_rules_quota fails with this, as the sec-group creation succeeds, even when the tests sets the quota to 0\nhttps://opendev.org/openstack/neutron-tempest-plugin/src/branch/master/neutron_tempest_plugin/api/test_security_groups_negative.py#L189","commit_id":"28e9a36dd8ee7e20134cd195974c33bb182e151c"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"be3ca72c26a018f7afcc7fe5efe4e501c5bd1354","unresolved":true,"context_lines":[{"line_number":106,"context_line":"        with db_api.CONTEXT_WRITER.using(context):"},{"line_number":107,"context_line":"            delta \u003d len(ext_sg.sg_supported_ethertypes)"},{"line_number":108,"context_line":"            delta \u003d delta * 2 if default_sg else delta"},{"line_number":109,"context_line":"            quota.QUOTAS.quota_limit_check(context, tenant_id,"},{"line_number":110,"context_line":"                                           security_group_rule\u003ddelta)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"            sg \u003d sg_obj.SecurityGroup("},{"line_number":113,"context_line":"                context, id\u003ds.get(\u0027id\u0027) or uuidutils.generate_uuid(),"}],"source_content_type":"text/x-python","patch_set":5,"id":"b992f48d_e11afa6f","line":110,"range":{"start_line":109,"start_character":12,"end_line":110,"end_character":69},"in_reply_to":"38160b4b_e82aee02","updated":"2021-09-29 15:24:07.000000000","message":"I would expect overQuota exception or InvalidQuotaValue here for the case of above test, strange","commit_id":"28e9a36dd8ee7e20134cd195974c33bb182e151c"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d4b536e516a75b5aa516c30783794f266bc36b60","unresolved":true,"context_lines":[{"line_number":106,"context_line":"        with db_api.CONTEXT_WRITER.using(context):"},{"line_number":107,"context_line":"            delta \u003d len(ext_sg.sg_supported_ethertypes)"},{"line_number":108,"context_line":"            delta \u003d delta * 2 if default_sg else delta"},{"line_number":109,"context_line":"            quota.QUOTAS.quota_limit_check(context, tenant_id,"},{"line_number":110,"context_line":"                                           security_group_rule\u003ddelta)"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"            sg \u003d sg_obj.SecurityGroup("},{"line_number":113,"context_line":"                context, id\u003ds.get(\u0027id\u0027) or uuidutils.generate_uuid(),"}],"source_content_type":"text/x-python","patch_set":5,"id":"2f7f3cc3_af8db4d7","line":110,"range":{"start_line":109,"start_character":12,"end_line":110,"end_character":69},"in_reply_to":"b992f48d_e11afa6f","updated":"2021-09-29 17:27:00.000000000","message":"Right, I think I found the problem here: https://review.opendev.org/c/openstack/neutron/+/809983/5/neutron/db/quota/driver.py#311\n\nThis check should be:\n  if resource_limit is None:\n     return\n\nThis is also the problem we are hitting in https://storage.gra.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_71a/809983/5/check/neutron-ovs-rally-task/71aa082/job-output.txt\n\nI\u0027ve added (in next PS) more UTs covering those scenarios.","commit_id":"28e9a36dd8ee7e20134cd195974c33bb182e151c"}],"neutron/tests/unit/db/quota/test_driver.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bc6280785fbb55aa22038df852c8159fdc27fb56","unresolved":true,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from unittest import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron_lib import context"},{"line_number":19,"context_line":"from neutron_lib import exceptions"}],"source_content_type":"text/x-python","patch_set":4,"id":"e1ded358_d1a7972d","line":16,"in_reply_to":"77f2f8a0_02670352","updated":"2021-09-29 06:13:24.000000000","message":"\u003e pep8: F401 \u0027unittest.mock\u0027 imported but unused\n\nPlease fix.","commit_id":"5cf063e542579edbc75262f43c7d0f9cbfec8222"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f924b373322bcc72d5e37f0500d86a8785d60b89","unresolved":true,"context_lines":[{"line_number":13,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":14,"context_line":"# limitations under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from unittest import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from neutron_lib import context"},{"line_number":19,"context_line":"from neutron_lib import exceptions"}],"source_content_type":"text/x-python","patch_set":4,"id":"2703a48d_91ddbce3","line":16,"in_reply_to":"e1ded358_d1a7972d","updated":"2021-09-29 07:11:35.000000000","message":"done","commit_id":"5cf063e542579edbc75262f43c7d0f9cbfec8222"}],"neutron/tests/unit/plugins/ml2/test_plugin.py":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"bc6280785fbb55aa22038df852c8159fdc27fb56","unresolved":true,"context_lines":[{"line_number":1310,"context_line":"            plugin.update_port(ctx, port[\u0027port\u0027][\u0027id\u0027], port)"},{"line_number":1311,"context_line":"            self.assertFalse(sg_member_update.called)"},{"line_number":1312,"context_line":""},{"line_number":1313,"context_line":"    def test____update_port_status_with_network(self):"},{"line_number":1314,"context_line":"        registry.clear()  # don\u0027t care about callback behavior"},{"line_number":1315,"context_line":"        ctx \u003d context.get_admin_context()"},{"line_number":1316,"context_line":"        plugin \u003d directory.get_plugin()"}],"source_content_type":"text/x-python","patch_set":4,"id":"d3656c7b_f20a74cf","line":1313,"range":{"start_line":1313,"start_character":12,"end_line":1313,"end_character":16},"updated":"2021-09-29 06:13:24.000000000","message":"nit: isn\u0027t that too many of underscores?","commit_id":"5cf063e542579edbc75262f43c7d0f9cbfec8222"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"f924b373322bcc72d5e37f0500d86a8785d60b89","unresolved":true,"context_lines":[{"line_number":1310,"context_line":"            plugin.update_port(ctx, port[\u0027port\u0027][\u0027id\u0027], port)"},{"line_number":1311,"context_line":"            self.assertFalse(sg_member_update.called)"},{"line_number":1312,"context_line":""},{"line_number":1313,"context_line":"    def test____update_port_status_with_network(self):"},{"line_number":1314,"context_line":"        registry.clear()  # don\u0027t care about callback behavior"},{"line_number":1315,"context_line":"        ctx \u003d context.get_admin_context()"},{"line_number":1316,"context_line":"        plugin \u003d directory.get_plugin()"}],"source_content_type":"text/x-python","patch_set":4,"id":"02dc6a52_a8bef687","line":1313,"range":{"start_line":1313,"start_character":12,"end_line":1313,"end_character":16},"in_reply_to":"d3656c7b_f20a74cf","updated":"2021-09-29 07:11:35.000000000","message":"Sorry, that was for testing (this method is executed first)","commit_id":"5cf063e542579edbc75262f43c7d0f9cbfec8222"}]}
