)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"7329968b983ecb44313b8371a64a50e6a9b03df2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     John Garbutt \u003cjohn@johngarbutt.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-16 13:15:06 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make unified limits APIs return reserved of 0"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The end goal is making the Unified limits driver API compatible with"},{"line_number":10,"context_line":"the DB driver. This is a step in that direction. Either way, the value"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1fa4df85_e36b601c","line":7,"updated":"2020-03-17 00:19:21.000000000","message":"Just a thought on this ... with a move to unified limits, once we bump the microversion to remove the old quota APIs in the future, we would also get rid of \"reserved\" as it\u0027s meaningless.\n\nWe could  have technically gotten rid of \"reserved\" after the quota overhaul in Pike, but it seemed of not much value to bump a microversion for only that.","commit_id":"d2f86f55d644a48e004c50e4c7a3a63ee5ffe220"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"8cad7a91a69e75bca9126d3f490257606968624d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     John Garbutt \u003cjohn@johngarbutt.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-16 13:15:06 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make unified limits APIs return reserved of 0"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The end goal is making the Unified limits driver API compatible with"},{"line_number":10,"context_line":"the DB driver. This is a step in that direction. Either way, the value"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"df33271e_2cb1e890","line":7,"in_reply_to":"1fa4df85_e36b601c","updated":"2020-03-23 16:55:02.000000000","message":"Yeah, totally +1 that.","commit_id":"d2f86f55d644a48e004c50e4c7a3a63ee5ffe220"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"75d3900ef2b7087f9ad62e61aa7de96dd04f5e34","unresolved":false,"context_lines":[{"line_number":16,"context_line":"return a reserved value of 0 for the unified limits driver."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Longer term, when the API gets a new microversion to tidy up quotas, the"},{"line_number":19,"context_line":"reserved value will likely be removed in the new microversion, because"},{"line_number":20,"context_line":"it no longer has any real meaning."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"blueprint unified-limits-nova"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"bf51134e_84c82ea6","line":20,"range":{"start_line":19,"start_character":30,"end_line":20,"end_character":34},"updated":"2020-06-24 21:26:53.000000000","message":"+1 on keeping that field even no real usage. At least users should not feel that we are changing quota fields with this unified limit. shipping the unified limit in backward comp manner will be much ease.","commit_id":"57275a6d04c5361cb1c806f324239177223dedbc"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"03d35c7a09a4273ce207781581cca29ede2caf15","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"b83644d2_8231eb7f","updated":"2021-11-05 10:24:55.000000000","message":"Easy peasy.","commit_id":"e188c9f5bc1683ab04d40ecf08a07fe115ea7f11"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"541fd2440abf1acbd170be54d80c321c6446be4e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"0e2e5dd1_c4528f36","updated":"2022-01-21 22:21:06.000000000","message":"recheck Run out of retry while detaching device vdb with device alias virtio-disk1 from instance f300dbd2-1863-45f3-9be6-e9ffd9fbb857 from the live domain config. Device is still attached to the guest.","commit_id":"4c5ed0757aedf6f28ad7cc025ff9ff82c34786df"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"226d6b61f1e54c39f4ea495bbba669e384a36611","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"a8894b1c_1fb881ea","updated":"2022-01-21 01:00:58.000000000","message":"recheck Stderr: \u0027kex_exchange_identification: Connection closed by remote host\\r\\nlost connection\\n\u0027","commit_id":"4c5ed0757aedf6f28ad7cc025ff9ff82c34786df"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"94568ed6c131f79564c75fe770ae91730ee4f18f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"ea23b820_3037984c","updated":"2022-01-21 19:51:10.000000000","message":"recheck bug 1957941","commit_id":"4c5ed0757aedf6f28ad7cc025ff9ff82c34786df"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5b3e04a6f2cfc22f358efada350cc95191f0b6e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"ea7da7a9_29eb8a2d","updated":"2022-01-27 19:32:52.000000000","message":"recheck bug 1944779","commit_id":"cb941bf36e1da1298d0878705af4bf60cec3d701"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"a5d7a9b5dfe628cfb868a82d89b129f07eaf98b7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"c0c8d06a_ff80e481","updated":"2022-02-25 12:49:20.000000000","message":"recheck","commit_id":"a0c2bd417662ed412cb0664fc5fc1c9c5a02bf15"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"f4bac6b8a3adcb0443e87c64ee2bcfab1dff96ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"f1e13059_0efbe299","updated":"2022-02-24 22:04:10.000000000","message":"recheck","commit_id":"a0c2bd417662ed412cb0664fc5fc1c9c5a02bf15"}],"nova/quota.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c9ebc532f199d7ca55e272a78505fa93a0d44c85","unresolved":false,"context_lines":[{"line_number":1066,"context_line":"        return sorted(self._resources.keys())"},{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    def get_reserved(self):"},{"line_number":1069,"context_line":"        if type(self._driver) is NoopQuotaDriver:"},{"line_number":1070,"context_line":"            return -1"},{"line_number":1071,"context_line":"        return 0"},{"line_number":1072,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_62ca664e","line":1069,"updated":"2020-03-31 07:41:32.000000000","message":"This feels strange. I would change the base class of the UnifiedLimitDriver instead. (That might require pulling out a common base for Noop and Unified to still be able to share code between them)\n\nBasically the intention here is to say UnifiedLimitDriver is not a NoopQuotaDriver as it does not return -1 for reserved but at the same time we still define UnifiedLimitsDriver as a NoopQuotaDriver in the class hierarchy","commit_id":"7ade5e7aecdacb09fb151fbec97215e80f8a3a51"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"06ec9bf7158663ddbdbde769eaa8c8c026288c50","unresolved":false,"context_lines":[{"line_number":1066,"context_line":"        return sorted(self._resources.keys())"},{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    def get_reserved(self):"},{"line_number":1069,"context_line":"        if type(self._driver) is NoopQuotaDriver:"},{"line_number":1070,"context_line":"            return -1"},{"line_number":1071,"context_line":"        return 0"},{"line_number":1072,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_e8657eb6","line":1069,"in_reply_to":"df33271e_1c75ad32","updated":"2020-04-01 13:26:45.000000000","message":"\u003e we could just do a driver property like driver.default_reserved,\n \u003e that would be neater.\n\nthat works for me.","commit_id":"7ade5e7aecdacb09fb151fbec97215e80f8a3a51"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"3e0f82f336d8b19a1813b414f51ced97e76587bf","unresolved":false,"context_lines":[{"line_number":1066,"context_line":"        return sorted(self._resources.keys())"},{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    def get_reserved(self):"},{"line_number":1069,"context_line":"        if type(self._driver) is NoopQuotaDriver:"},{"line_number":1070,"context_line":"            return -1"},{"line_number":1071,"context_line":"        return 0"},{"line_number":1072,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df33271e_1c75ad32","line":1069,"in_reply_to":"df33271e_62ca664e","updated":"2020-03-31 08:44:38.000000000","message":"we could just do a driver property like driver.default_reserved, that would be neater.\n\nI still want to delete most of this code at somepoint...","commit_id":"7ade5e7aecdacb09fb151fbec97215e80f8a3a51"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"75d3900ef2b7087f9ad62e61aa7de96dd04f5e34","unresolved":false,"context_lines":[{"line_number":1066,"context_line":"        return sorted(self._resources.keys())"},{"line_number":1067,"context_line":""},{"line_number":1068,"context_line":"    def get_reserved(self):"},{"line_number":1069,"context_line":"        if type(self._driver) is NoopQuotaDriver:"},{"line_number":1070,"context_line":"            return -1"},{"line_number":1071,"context_line":"        return 0"},{"line_number":1072,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"bf51134e_c46ce69d","line":1069,"in_reply_to":"df33271e_e8657eb6","updated":"2020-06-24 21:26:53.000000000","message":"+1, at the end we should change UnifiedLimitsDriver derived from NoopQuotaDriver and than you might need to change this.\n\ndriver.default_reserved is much clear way.","commit_id":"7ade5e7aecdacb09fb151fbec97215e80f8a3a51"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"677212a302865628e2061429865cd6e32c8c548d","unresolved":false,"context_lines":[{"line_number":1078,"context_line":"        return sorted(self._resources.keys())"},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"    def get_reserved(self):"},{"line_number":1081,"context_line":"        return self._driver.get_reserved()"},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":""},{"line_number":1084,"context_line":"@db_api.api_context_manager.reader"}],"source_content_type":"text/x-python","patch_set":9,"id":"30567913_70d3bb11","line":1081,"updated":"2021-05-10 16:26:08.000000000","message":"I was going to ask why the code that was here previously wasn\u0027t doing the trick, but it\u0027s because we subclass \u0027NoopQuotaDriver\u0027 for \u0027UnifiedLimitsDriver\u0027 currently. Perhaps we should change that...","commit_id":"c6bcd9196dae32f735365c7957434cc277e1406c"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f104e42fcbcfea47dc50652fe5f1b82d694137eb","unresolved":false,"context_lines":[{"line_number":1078,"context_line":"        return sorted(self._resources.keys())"},{"line_number":1079,"context_line":""},{"line_number":1080,"context_line":"    def get_reserved(self):"},{"line_number":1081,"context_line":"        return self._driver.get_reserved()"},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":""},{"line_number":1084,"context_line":"@db_api.api_context_manager.reader"}],"source_content_type":"text/x-python","patch_set":9,"id":"7124b386_a812b881","line":1081,"in_reply_to":"30567913_70d3bb11","updated":"2021-08-17 14:16:12.000000000","message":"It think the old isinstance check was not nice. It is better to delegat to the driver.","commit_id":"c6bcd9196dae32f735365c7957434cc277e1406c"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"03d35c7a09a4273ce207781581cca29ede2caf15","unresolved":true,"context_lines":[{"line_number":53,"context_line":"    \"\"\""},{"line_number":54,"context_line":"    UNLIMITED_VALUE \u003d -1"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    def get_reserved(self):"},{"line_number":57,"context_line":"        # Since we stopped reserving the DB, we just return 0"},{"line_number":58,"context_line":"        return 0"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"4b892736_1d812c3b","line":56,"updated":"2021-11-05 10:24:55.000000000","message":"femtonit: this could have been a property.","commit_id":"e188c9f5bc1683ab04d40ecf08a07fe115ea7f11"}]}
