)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3ce297e1d4cea58b1b20155476886b314f5e8b0","unresolved":false,"context_lines":[{"line_number":10,"context_line":"API and DB limits based on configuration. Do this by implementing the"},{"line_number":11,"context_line":"get_project_quotas and get_user_quotas methods."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This sill leaves get_settable_quotas and get_defaults that are needed to"},{"line_number":14,"context_line":"fix the quota sets APIs."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Note: this will need to be updated again once we add limits for"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"ff570b3c_8448b52e","line":13,"range":{"start_line":13,"start_character":5,"end_line":13,"end_character":9},"updated":"2020-06-10 16:08:23.000000000","message":"still","commit_id":"5bb5300b244bb62e38b7338d7e8dac40c640e53d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"b5d61c0880e642e153e15017f38938c10c4e0f16","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"d650b69b_5b4143e2","updated":"2021-11-12 21:44:15.000000000","message":"recheck bug 1912845","commit_id":"59ceb24443d0b361771c69690744af3e09103791"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"2dd7cad6a53f94ef187ea8dd6c9626b41a1fd609","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"9c5c1581_060f846c","updated":"2021-11-12 19:15:27.000000000","message":"recheck dpkg: error processing package pcp (--configure):","commit_id":"59ceb24443d0b361771c69690744af3e09103791"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"561f8345e28716b76892df85fdaccc287d2f00f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":27,"id":"cb656b45_b8fdadb4","updated":"2021-12-07 23:42:36.000000000","message":"recheck bug 1950310","commit_id":"1fd9ac5a3b83018eafc449c18756097c896d6376"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"54cc057aaf579425520d3bfb20c64660ce90b03d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"96c94256_ccd57521","updated":"2022-01-21 19:52:15.000000000","message":"recheck bug 1957941","commit_id":"7c7b5fdfbd39d95f0a1813d1f0ffaf9946797e56"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"294354a8981a4c22b822cd87af0cf477cd0c010b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"2075afe9_939e7056","updated":"2022-01-21 01:07:20.000000000","message":"recheck dep updated","commit_id":"7c7b5fdfbd39d95f0a1813d1f0ffaf9946797e56"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a86308495fd5c260d5984b4adfaf7b4a424a5fd7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"2120d976_e955a04a","updated":"2022-02-02 14:30:09.000000000","message":"recheck nova-next have been fixed\nlooks good ","commit_id":"298d36a908b4ae44f99f8afb28f3c3f63b9bce4b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bd3f706f481e7a858bf16d8469a11658f954aaae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"3dc7689b_ad57249c","updated":"2022-02-16 11:57:44.000000000","message":"Simplier to review.","commit_id":"50f6edd9a428519d5b65d5015f5fe15c4a269082"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"180e6e7780ffa66a1f5b374b6b9b1a707665c86a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"0abe0c8e_9d5fdaf3","updated":"2022-02-24 22:04:58.000000000","message":"recheck","commit_id":"ce4f796ec120462011e018f1d95d67658d443ed4"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"0c9fc6a3f0b51eaac2de0467d766afb2556bdf7f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"45eb56cd_ea0d79c0","updated":"2022-02-25 15:48:39.000000000","message":"recheck","commit_id":"ce4f796ec120462011e018f1d95d67658d443ed4"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"badaa2783ceedd29732fab9d8ee99e7d93eb8c49","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"a14596c3_3fa8170c","updated":"2022-02-25 12:52:22.000000000","message":"recheck","commit_id":"ce4f796ec120462011e018f1d95d67658d443ed4"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5a3938ac3fbd60abecab13d90a2ac83512f0e918","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":35,"id":"883f701f_03fe597f","updated":"2022-02-25 23:51:48.000000000","message":"recheck [ERROR] /opt/stack/devstack/lib/neutron_plugins/ovn_agent:178 Socket /var/run/openvswitch/ovnnb_db.sock not found","commit_id":"ce4f796ec120462011e018f1d95d67658d443ed4"}],"nova/limit/local.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3ce297e1d4cea58b1b20155476886b314f5e8b0","unresolved":false,"context_lines":[{"line_number":57,"context_line":"def get_in_use(context, project_id):"},{"line_number":58,"context_line":"    usages \u003d {"},{"line_number":59,"context_line":"        SERVER_GROUPS: _server_group_count(context, project_id),"},{"line_number":60,"context_line":"        # legacy DB driver just returns 0 for these ones too"},{"line_number":61,"context_line":"        SERVER_GROUP_MEMBERS: 0,"},{"line_number":62,"context_line":"        KEY_PAIRS: 0,"},{"line_number":63,"context_line":"    }"},{"line_number":64,"context_line":"    for entity in API_LIMITS:"},{"line_number":65,"context_line":"        usages[entity] \u003d 0"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_045e65e8","line":62,"range":{"start_line":60,"start_character":0,"end_line":62,"end_character":21},"updated":"2020-06-10 16:08:23.000000000","message":"Huh? Comment *definitely* needs more context :)","commit_id":"5bb5300b244bb62e38b7338d7e8dac40c640e53d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f8f83a2051bdec3cd850bf564b373d7a66b60be5","unresolved":false,"context_lines":[{"line_number":57,"context_line":"def get_in_use(context, project_id):"},{"line_number":58,"context_line":"    usages \u003d {"},{"line_number":59,"context_line":"        SERVER_GROUPS: _server_group_count(context, project_id),"},{"line_number":60,"context_line":"        # legacy DB driver just returns 0 for these ones too"},{"line_number":61,"context_line":"        SERVER_GROUP_MEMBERS: 0,"},{"line_number":62,"context_line":"        KEY_PAIRS: 0,"},{"line_number":63,"context_line":"    }"},{"line_number":64,"context_line":"    for entity in API_LIMITS:"},{"line_number":65,"context_line":"        usages[entity] \u003d 0"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_bf473bbc","line":62,"range":{"start_line":60,"start_character":0,"end_line":62,"end_character":21},"in_reply_to":"ff570b3c_045e65e8","updated":"2020-06-24 23:41:18.000000000","message":"yeah that is only shown in os-used-limits APIs[1].\n\nfor these two user level limits it is always 0\n- https://github.com/openstack/nova/blob/6f6b63ee5f7ae180d5f81e61f04332f7aa14f9be/nova/quota.py#L182\n\n\n[1] https://github.com/openstack/nova/blob/1cae0cd7229207478b70275509aecd778ca69225/nova/api/openstack/compute/views/limits.py#L91","commit_id":"5bb5300b244bb62e38b7338d7e8dac40c640e53d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f8f83a2051bdec3cd850bf564b373d7a66b60be5","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        KEY_PAIRS: 0,"},{"line_number":63,"context_line":"    }"},{"line_number":64,"context_line":"    for entity in API_LIMITS:"},{"line_number":65,"context_line":"        usages[entity] \u003d 0"},{"line_number":66,"context_line":"    return usages"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_df194fd7","line":65,"range":{"start_line":65,"start_character":0,"end_line":65,"end_character":26},"updated":"2020-06-24 23:41:18.000000000","message":"may be adding comment that these all are not CountableResource so usage is always 0","commit_id":"5bb5300b244bb62e38b7338d7e8dac40c640e53d"}],"nova/quota.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3ce297e1d4cea58b1b20155476886b314f5e8b0","unresolved":false,"context_lines":[{"line_number":804,"context_line":"                           usages\u003dTrue, remains\u003dFalse):"},{"line_number":805,"context_line":"        if quota_class is not None:"},{"line_number":806,"context_line":"            raise NotImplementedError(\"quota_class\")"},{"line_number":807,"context_line":"        if remains:"},{"line_number":808,"context_line":"            raise NotImplementedError(\"remains\")"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"        local_limits \u003d self.get_class_quotas(context, resources, quota_class)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_040305c0","line":807,"updated":"2020-06-10 16:08:23.000000000","message":"nit: newline above this would be nice","commit_id":"5bb5300b244bb62e38b7338d7e8dac40c640e53d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f8f83a2051bdec3cd850bf564b373d7a66b60be5","unresolved":false,"context_lines":[{"line_number":816,"context_line":"        for resource in resources.values():"},{"line_number":817,"context_line":"            quota \u003d {\"limit\": local_limits.get(resource.name, -1)}"},{"line_number":818,"context_line":"            if usages:"},{"line_number":819,"context_line":"                quota[\"in_use\"] \u003d local_in_use.get(resource.name, -1)"},{"line_number":820,"context_line":"            quotas[resource.name] \u003d quota"},{"line_number":821,"context_line":""},{"line_number":822,"context_line":"        return quotas"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_9f70770a","line":819,"range":{"start_line":819,"start_character":66,"end_line":819,"end_character":68},"updated":"2020-06-24 23:41:18.000000000","message":"+1 same as noop","commit_id":"5bb5300b244bb62e38b7338d7e8dac40c640e53d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a86308495fd5c260d5984b4adfaf7b4a424a5fd7","unresolved":false,"context_lines":[{"line_number":835,"context_line":"        # As we only apply limits to resources we know about,"},{"line_number":836,"context_line":"        # we return unlimited (-1) for all other resources"},{"line_number":837,"context_line":"        for resource in resources.values():"},{"line_number":838,"context_line":"            quota \u003d {\"limit\": local_limits.get(resource.name, -1)}"},{"line_number":839,"context_line":"            if usages:"},{"line_number":840,"context_line":"                quota[\"in_use\"] \u003d local_in_use.get(resource.name, -1)"},{"line_number":841,"context_line":"            quotas[resource.name] \u003d quota"}],"source_content_type":"text/x-python","patch_set":30,"id":"5eb9cfb2_74a2e54e","line":838,"range":{"start_line":838,"start_character":43,"end_line":838,"end_character":65},"updated":"2022-02-02 14:30:09.000000000","message":"nit: this is not a problem but probably unnecessary as get_class_quotas() already defaults to -1 for non local limits at L816","commit_id":"298d36a908b4ae44f99f8afb28f3c3f63b9bce4b"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bd3f706f481e7a858bf16d8469a11658f954aaae","unresolved":false,"context_lines":[{"line_number":833,"context_line":""},{"line_number":834,"context_line":"        quotas \u003d {}"},{"line_number":835,"context_line":"        # As we only apply limits to resources we know about,"},{"line_number":836,"context_line":"        # we return unlimited (-1) for all other resources"},{"line_number":837,"context_line":"        for resource in resources.values():"},{"line_number":838,"context_line":"            quota \u003d {\"limit\": local_limits.get(resource.name, -1)}"},{"line_number":839,"context_line":"            if usages:"}],"source_content_type":"text/x-python","patch_set":34,"id":"db2c10bb_106774cc","line":836,"updated":"2022-02-16 11:57:44.000000000","message":"cool","commit_id":"50f6edd9a428519d5b65d5015f5fe15c4a269082"}],"nova/tests/unit/api/openstack/compute/test_limits.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3ce297e1d4cea58b1b20155476886b314f5e8b0","unresolved":false,"context_lines":[{"line_number":555,"context_line":"        self.flags(server_groups\u003d12, group\u003d\u0027quota\u0027)"},{"line_number":556,"context_line":""},{"line_number":557,"context_line":"    @mock.patch.object(objects.InstanceGroupList, \"get_counts\")"},{"line_number":558,"context_line":"    def test_index_v21(self, mock_count):"},{"line_number":559,"context_line":"        mock_count.return_value \u003d {\u0027project\u0027: {\u0027server_groups\u0027: 9}}"},{"line_number":560,"context_line":"        req \u003d fakes.HTTPRequest.blank(\"/\")"},{"line_number":561,"context_line":"        response \u003d self.controller.index(req)"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_e4d5311d","line":558,"updated":"2020-06-10 16:08:23.000000000","message":"docstrings?","commit_id":"5bb5300b244bb62e38b7338d7e8dac40c640e53d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"bd3f706f481e7a858bf16d8469a11658f954aaae","unresolved":true,"context_lines":[{"line_number":591,"context_line":"                    \u0027totalInstancesUsed\u0027: -1,"},{"line_number":592,"context_line":"                    \u0027totalRAMUsed\u0027: -1,"},{"line_number":593,"context_line":"                    \u0027totalSecurityGroupsUsed\u0027: -1,"},{"line_number":594,"context_line":"                    \u0027totalServerGroupsUsed\u0027: 9,"},{"line_number":595,"context_line":"                },"},{"line_number":596,"context_line":"            },"},{"line_number":597,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":34,"id":"ab9bc26b_37a50734","line":594,"updated":"2022-02-16 11:57:44.000000000","message":"femtonit: you could have writed this dict by providing first the needed limits and after the unlimited resources, but meh.","commit_id":"50f6edd9a428519d5b65d5015f5fe15c4a269082"}],"nova/tests/unit/api/openstack/compute/test_quotas.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"32771d6e3bdeb7b672755275512dc6594807a883","unresolved":false,"context_lines":[{"line_number":926,"context_line":""},{"line_number":927,"context_line":"class UnifiedLimitsQuotaSetsTest(NoopQuotaSetsTest):"},{"line_number":928,"context_line":"    quota_driver \u003d \"nova.quota.UnifiedLimitsDriver\""},{"line_number":929,"context_line":"    expected_detail \u003d {\u0027in_use\u0027: -1, \u0027limit\u0027: -1, \u0027reserved\u0027: 0}"},{"line_number":930,"context_line":""},{"line_number":931,"context_line":"    def setUp(self):"},{"line_number":932,"context_line":"        super(UnifiedLimitsQuotaSetsTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_a87badbb","line":929,"range":{"start_line":929,"start_character":0,"end_line":929,"end_character":64},"updated":"2020-03-30 14:51:51.000000000","message":"Do we still need this? Here or in the parent","commit_id":"09bd1bdb4585a4318b11571686d676fa29bc8376"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"bc1c33596010b8a3672b951d2d73e6391fcf94d3","unresolved":false,"context_lines":[{"line_number":926,"context_line":""},{"line_number":927,"context_line":"class UnifiedLimitsQuotaSetsTest(NoopQuotaSetsTest):"},{"line_number":928,"context_line":"    quota_driver \u003d \"nova.quota.UnifiedLimitsDriver\""},{"line_number":929,"context_line":"    expected_detail \u003d {\u0027in_use\u0027: -1, \u0027limit\u0027: -1, \u0027reserved\u0027: 0}"},{"line_number":930,"context_line":""},{"line_number":931,"context_line":"    def setUp(self):"},{"line_number":932,"context_line":"        super(UnifiedLimitsQuotaSetsTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_3c31915b","line":929,"range":{"start_line":929,"start_character":0,"end_line":929,"end_character":64},"in_reply_to":"df33271e_a87badbb","updated":"2020-03-31 08:51:18.000000000","message":"yes, see ln982.\n\nIts for the legacy nonsense, largely.","commit_id":"09bd1bdb4585a4318b11571686d676fa29bc8376"}],"nova/tests/unit/test_quota.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b3ce297e1d4cea58b1b20155476886b314f5e8b0","unresolved":false,"context_lines":[{"line_number":1996,"context_line":"        mock_count.return_value \u003d {\u0027project\u0027: {\u0027server_groups\u0027: 9}}"},{"line_number":1997,"context_line":"        super(UnifiedLimitsDriverTestCase,"},{"line_number":1998,"context_line":"              self).test_get_project_quotas_no_usages()"},{"line_number":1999,"context_line":"        self.assertEqual(0, mock_count.call_count)"},{"line_number":2000,"context_line":""},{"line_number":2001,"context_line":"    @mock.patch.object(objects.InstanceGroupList, \"get_counts\")"},{"line_number":2002,"context_line":"    def test_get_user_quotas(self, mock_count):"}],"source_content_type":"text/x-python","patch_set":8,"id":"ff570b3c_a4c4d960","line":1999,"range":{"start_line":1999,"start_character":0,"end_line":1999,"end_character":50},"updated":"2020-06-10 16:08:23.000000000","message":"Is there a TODO missing here? Need comments","commit_id":"5bb5300b244bb62e38b7338d7e8dac40c640e53d"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f8f83a2051bdec3cd850bf564b373d7a66b60be5","unresolved":false,"context_lines":[{"line_number":1996,"context_line":"        mock_count.return_value \u003d {\u0027project\u0027: {\u0027server_groups\u0027: 9}}"},{"line_number":1997,"context_line":"        super(UnifiedLimitsDriverTestCase,"},{"line_number":1998,"context_line":"              self).test_get_project_quotas_no_usages()"},{"line_number":1999,"context_line":"        self.assertEqual(0, mock_count.call_count)"},{"line_number":2000,"context_line":""},{"line_number":2001,"context_line":"    @mock.patch.object(objects.InstanceGroupList, \"get_counts\")"},{"line_number":2002,"context_line":"    def test_get_user_quotas(self, mock_count):"}],"source_content_type":"text/x-python","patch_set":8,"id":"bf51134e_2aa76b0d","line":1999,"range":{"start_line":1999,"start_character":0,"end_line":1999,"end_character":50},"in_reply_to":"ff570b3c_a4c4d960","updated":"2020-06-24 23:41:18.000000000","message":"get_counts will not be called as test_get_project_quotas_no_usages() call get_project_quotas() with usages\u003dFalse L1900","commit_id":"5bb5300b244bb62e38b7338d7e8dac40c640e53d"}]}
