)]}'
{"tempest/api/volume/admin/test_volume_quotas.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b0748d7ccb9240f68d019f0aab91d264769c9bba","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QUOTA_KEYS \u003d [\u0027gigabytes\u0027, \u0027snapshots\u0027, \u0027volumes\u0027, \u0027backups\u0027,"},{"line_number":21,"context_line":"              \u0027backup_gigabytes\u0027, \u0027per_volume_gigabytes\u0027]"},{"line_number":22,"context_line":"QUOTA_USAGE_KEYS \u003d [\u0027reserved\u0027, \u0027limit\u0027, \u0027in_use\u0027]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class VolumeQuotasAdminTestJSON(base.BaseVolumeAdminTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_18b45af0","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":50},"updated":"2018-10-02 20:24:46.000000000","message":"Can remove this.","commit_id":"b715b88aed7dca27bb29bfca35730335dc12d8f1"},{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"6680c79541a85e2e83eeb89239bd4b8c3cf77fdc","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QUOTA_KEYS \u003d [\u0027gigabytes\u0027, \u0027snapshots\u0027, \u0027volumes\u0027, \u0027backups\u0027,"},{"line_number":21,"context_line":"              \u0027backup_gigabytes\u0027, \u0027per_volume_gigabytes\u0027]"},{"line_number":22,"context_line":"QUOTA_USAGE_KEYS \u003d [\u0027reserved\u0027, \u0027limit\u0027, \u0027in_use\u0027]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class VolumeQuotasAdminTestJSON(base.BaseVolumeAdminTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_d6f20e69","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":50},"in_reply_to":"3f79a3b5_18b45af0","updated":"2018-10-04 07:23:57.000000000","message":"yeah, now no use of \"QUOTA_USAGE_KEYS\"","commit_id":"b715b88aed7dca27bb29bfca35730335dc12d8f1"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f9a463255126ffbfff38787c4e4c2e5e79895d28","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"QUOTA_KEYS \u003d [\u0027gigabytes\u0027, \u0027snapshots\u0027, \u0027volumes\u0027, \u0027backups\u0027,"},{"line_number":21,"context_line":"              \u0027backup_gigabytes\u0027, \u0027per_volume_gigabytes\u0027]"},{"line_number":22,"context_line":"QUOTA_USAGE_KEYS \u003d [\u0027reserved\u0027, \u0027limit\u0027, \u0027in_use\u0027]"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class VolumeQuotasAdminTestJSON(base.BaseVolumeAdminTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_0a6b41b9","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":50},"in_reply_to":"3f79a3b5_d6f20e69","updated":"2018-10-08 01:53:41.000000000","message":"Done.","commit_id":"b715b88aed7dca27bb29bfca35730335dc12d8f1"}],"tempest/lib/api_schema/response/volume/quotas.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"590c7418344a7eb74e2d557a26e8e7f4a51afede","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            \u0027quota_set\u0027: {"},{"line_number":38,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":39,"context_line":"                \u0027properties\u0027: {"},{"line_number":40,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":41,"context_line":"                    \u0027volumes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":42,"context_line":"                    \u0027snapshots\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":43,"context_line":"                    \u0027backups\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_6446ab25","line":40,"updated":"2018-09-25 13:21:40.000000000","message":"See comment here: https://review.openstack.org/#/c/604019/1/tempest/lib/api_schema/response/volume/qos.py@24\n\nSame thing about \u0027format\u0027: \u0027uuid\u0027","commit_id":"c66c75ef1d0221ee0a45c811c3bd935d99e9d305"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a2d43c9c2eb70894d6bee5e86d4faebd811089c8","unresolved":false,"context_lines":[{"line_number":37,"context_line":"            \u0027quota_set\u0027: {"},{"line_number":38,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":39,"context_line":"                \u0027properties\u0027: {"},{"line_number":40,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":41,"context_line":"                    \u0027volumes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":42,"context_line":"                    \u0027snapshots\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":43,"context_line":"                    \u0027backups\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_dbfbce78","line":40,"in_reply_to":"3f79a3b5_6446ab25","updated":"2018-09-26 00:52:26.000000000","message":"Done","commit_id":"c66c75ef1d0221ee0a45c811c3bd935d99e9d305"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"590c7418344a7eb74e2d557a26e8e7f4a51afede","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            \u0027quota_set\u0027: {"},{"line_number":64,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":65,"context_line":"                \u0027properties\u0027: {"},{"line_number":66,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":67,"context_line":"                    \u0027volumes\u0027: quota_usage_info,"},{"line_number":68,"context_line":"                    \u0027snapshots\u0027: quota_usage_info,"},{"line_number":69,"context_line":"                    \u0027backups\u0027: quota_usage_info,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_e45b9bf6","line":66,"updated":"2018-09-25 13:21:40.000000000","message":"See comment here: https://review.openstack.org/#/c/604019/1/tempest/lib/api_schema/response/volume/qos.py@24\n\nSame thing about \u0027format\u0027: \u0027uuid\u0027","commit_id":"c66c75ef1d0221ee0a45c811c3bd935d99e9d305"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"a2d43c9c2eb70894d6bee5e86d4faebd811089c8","unresolved":false,"context_lines":[{"line_number":63,"context_line":"            \u0027quota_set\u0027: {"},{"line_number":64,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":65,"context_line":"                \u0027properties\u0027: {"},{"line_number":66,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":67,"context_line":"                    \u0027volumes\u0027: quota_usage_info,"},{"line_number":68,"context_line":"                    \u0027snapshots\u0027: quota_usage_info,"},{"line_number":69,"context_line":"                    \u0027backups\u0027: quota_usage_info,"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_fb000a69","line":66,"in_reply_to":"3f79a3b5_e45b9bf6","updated":"2018-09-26 00:52:26.000000000","message":"Done","commit_id":"c66c75ef1d0221ee0a45c811c3bd935d99e9d305"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b0748d7ccb9240f68d019f0aab91d264769c9bba","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                    \u0027per_volume_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":46,"context_line":"                    \u0027gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":47,"context_line":"                    \u0027backup_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":48,"context_line":"                },"},{"line_number":49,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":50,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":51,"context_line":"                             \u0027backup_gigabytes\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_f8d71e21","line":48,"updated":"2018-10-02 20:24:46.000000000","message":"It would be nice to add:\n\n\"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027}\n\nhere (to handle volumes_{volume_type}, etc.).\n\n\"If additionalProperties is an object, that object is a schema that will be used to validate any additional properties not listed in properties.\"\n\nhttps://json-schema.org/understanding-json-schema/reference/object.html","commit_id":"b715b88aed7dca27bb29bfca35730335dc12d8f1"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f9a463255126ffbfff38787c4e4c2e5e79895d28","unresolved":false,"context_lines":[{"line_number":45,"context_line":"                    \u0027per_volume_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":46,"context_line":"                    \u0027gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":47,"context_line":"                    \u0027backup_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":48,"context_line":"                },"},{"line_number":49,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":50,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":51,"context_line":"                             \u0027backup_gigabytes\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_aa5b2d20","line":48,"in_reply_to":"3f79a3b5_f8d71e21","updated":"2018-10-08 01:53:41.000000000","message":"Thanks for pointing out this, I didn\u0027t know it before. Done.","commit_id":"b715b88aed7dca27bb29bfca35730335dc12d8f1"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b0748d7ccb9240f68d019f0aab91d264769c9bba","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                    \u0027per_volume_gigabytes\u0027: quota_usage_info,"},{"line_number":72,"context_line":"                    \u0027gigabytes\u0027: quota_usage_info,"},{"line_number":73,"context_line":"                    \u0027backup_gigabytes\u0027: quota_usage_info,"},{"line_number":74,"context_line":"                },"},{"line_number":75,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":76,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":77,"context_line":"                             \u0027backup_gigabytes\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_98114afb","line":74,"updated":"2018-10-02 20:24:46.000000000","message":"It would be nice to add:\n\n\"additionalProperties\": quota_usage_info\n\nhere (to handle volumes_{volume_type}, etc.).\n\n\"If additionalProperties is an object, that object is a schema that will be used to validate any additional properties not listed in properties.\"\n\nhttps://json-schema.org/understanding-json-schema/reference/object.html","commit_id":"b715b88aed7dca27bb29bfca35730335dc12d8f1"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"f9a463255126ffbfff38787c4e4c2e5e79895d28","unresolved":false,"context_lines":[{"line_number":71,"context_line":"                    \u0027per_volume_gigabytes\u0027: quota_usage_info,"},{"line_number":72,"context_line":"                    \u0027gigabytes\u0027: quota_usage_info,"},{"line_number":73,"context_line":"                    \u0027backup_gigabytes\u0027: quota_usage_info,"},{"line_number":74,"context_line":"                },"},{"line_number":75,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":76,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":77,"context_line":"                             \u0027backup_gigabytes\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_4a9619a3","line":74,"in_reply_to":"3f79a3b5_98114afb","updated":"2018-10-08 01:53:41.000000000","message":"Done.","commit_id":"b715b88aed7dca27bb29bfca35730335dc12d8f1"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"83c9a6a699f58da6db3ce429f653c68c8857aaff","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"delete_quota_set \u003d {"},{"line_number":16,"context_line":"    \u0027status_code\u0027: [200],"},{"line_number":17,"context_line":"}"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_1aff5834","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":16},"updated":"2019-08-22 02:12:29.000000000","message":"confirmed\nhttps://docs.openstack.org/api-ref/block-storage/v3/?expanded\u003dshow-quotas-for-a-project-detail,delete-quotas-for-a-project-detail#delete-quotas-for-a-project","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"83c9a6a699f58da6db3ce429f653c68c8857aaff","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    \u0027required\u0027: [\u0027reserved\u0027, \u0027limit\u0027, \u0027in_use\u0027],"},{"line_number":30,"context_line":"}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"show_quota_set \u003d {"},{"line_number":33,"context_line":"    \u0027status_code\u0027: [200],"},{"line_number":34,"context_line":"    \u0027response_body\u0027: {"},{"line_number":35,"context_line":"        \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_9a98281b","line":32,"range":{"start_line":32,"start_character":0,"end_line":32,"end_character":14},"updated":"2019-08-22 02:12:29.000000000","message":"confirmed\nhttps://docs.openstack.org/api-ref/block-storage/v3/?expanded\u003ddelete-quotas-for-a-project-detail,show-quotas-for-a-project-detail#show-quotas-for-a-project","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e0132b0e7511138cd92d96045f51c88042575a76","unresolved":false,"context_lines":[{"line_number":47,"context_line":"                    \u0027backup_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":48,"context_line":"                },"},{"line_number":49,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":50,"context_line":"                \"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":51,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":52,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":53,"context_line":"                             \u0027backup_gigabytes\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_8ecf43b2","line":50,"range":{"start_line":50,"start_character":16,"end_line":50,"end_character":60},"updated":"2019-08-26 20:58:42.000000000","message":"++","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e0132b0e7511138cd92d96045f51c88042575a76","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                },"},{"line_number":49,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":50,"context_line":"                \"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":51,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":52,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":53,"context_line":"                             \u0027backup_gigabytes\u0027],"},{"line_number":54,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_4ec94baa","line":51,"range":{"start_line":51,"start_character":28,"end_line":51,"end_character":29},"updated":"2019-08-26 20:58:42.000000000","message":"Missing \u0027id\u0027 here which is certainly required.","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5bca9004d95cf048861808ec32fce8ce164ba59c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                },"},{"line_number":49,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":50,"context_line":"                \"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":51,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":52,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":53,"context_line":"                             \u0027backup_gigabytes\u0027],"},{"line_number":54,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_395442fe","line":51,"range":{"start_line":51,"start_character":28,"end_line":51,"end_character":29},"in_reply_to":"7faddb67_4ec94baa","updated":"2019-08-28 00:45:05.000000000","message":"Done","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"83c9a6a699f58da6db3ce429f653c68c8857aaff","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    \u0027backup_gigabytes\u0027: quota_usage_info,"},{"line_number":76,"context_line":"                },"},{"line_number":77,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":78,"context_line":"                \"additionalProperties\": quota_usage_info,"},{"line_number":79,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":80,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":81,"context_line":"                             \u0027backup_gigabytes\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_9ac108e7","line":78,"range":{"start_line":78,"start_character":15,"end_line":78,"end_character":57},"updated":"2019-08-22 02:12:29.000000000","message":"should be \n \"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027},\nhttps://docs.openstack.org/api-ref/block-storage/v3/?expanded\u003ddelete-quotas-for-a-project-detail,show-quota-usage-for-a-project-detail#show-quota-usage-for-a-project","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":17887,"name":"Doug Schveninger","email":"ds6901@att.com","username":"Doug.Schveninger"},"change_message_id":"f7f0727bbcf2aeb29fe3c0e4be3bde35440be475","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    \u0027backup_gigabytes\u0027: quota_usage_info,"},{"line_number":76,"context_line":"                },"},{"line_number":77,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":78,"context_line":"                \"additionalProperties\": quota_usage_info,"},{"line_number":79,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":80,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":81,"context_line":"                             \u0027backup_gigabytes\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_6ca24fb0","line":78,"range":{"start_line":78,"start_character":15,"end_line":78,"end_character":57},"in_reply_to":"7faddb67_30427369","updated":"2019-08-22 11:09:48.000000000","message":"Confirmed\nmy bad I should of looked at the type column closer. I was trying to get a couple done last night.  We  do some more tonight","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5d5e92a0e6f9cee62e230b783494dbf807bf2d26","unresolved":false,"context_lines":[{"line_number":75,"context_line":"                    \u0027backup_gigabytes\u0027: quota_usage_info,"},{"line_number":76,"context_line":"                },"},{"line_number":77,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":78,"context_line":"                \"additionalProperties\": quota_usage_info,"},{"line_number":79,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":80,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":81,"context_line":"                             \u0027backup_gigabytes\u0027],"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_30427369","line":78,"range":{"start_line":78,"start_character":15,"end_line":78,"end_character":57},"in_reply_to":"7faddb67_9ac108e7","updated":"2019-08-22 05:36:20.000000000","message":"Sorry I don\u0027t catch it?\nThe extra values may be something like\n        \"gigabytes_lvmdriver-1\": {\n            \"reserved\": 0,\n            \"allocated\": 0,\n            \"limit\": 1000,\n            \"in_use\": 0\n        },\nso it\u0027s not one integer","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e0132b0e7511138cd92d96045f51c88042575a76","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                },"},{"line_number":77,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":78,"context_line":"                \"additionalProperties\": quota_usage_info,"},{"line_number":79,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":80,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":81,"context_line":"                             \u0027backup_gigabytes\u0027],"},{"line_number":82,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_ae60ffa5","line":79,"range":{"start_line":79,"start_character":28,"end_line":79,"end_character":29},"updated":"2019-08-26 20:58:42.000000000","message":"Ditto.","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5bca9004d95cf048861808ec32fce8ce164ba59c","unresolved":false,"context_lines":[{"line_number":76,"context_line":"                },"},{"line_number":77,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":78,"context_line":"                \"additionalProperties\": quota_usage_info,"},{"line_number":79,"context_line":"                \u0027required\u0027: [\u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":80,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":81,"context_line":"                             \u0027backup_gigabytes\u0027],"},{"line_number":82,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_994d3673","line":79,"range":{"start_line":79,"start_character":28,"end_line":79,"end_character":29},"in_reply_to":"7faddb67_ae60ffa5","updated":"2019-08-28 00:45:05.000000000","message":"Done","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"39e7188b86dce7c71ef63c15e15f3fb6c3fd5113","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                    \u0027backup_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":50,"context_line":"                },"},{"line_number":51,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":52,"context_line":"                \"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":53,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":54,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":55,"context_line":"                             \u0027backup_gigabytes\u0027, \u0027groups\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_dfc46062","line":52,"range":{"start_line":52,"start_character":40,"end_line":52,"end_character":60},"updated":"2019-09-05 16:55:33.000000000","message":"What is that?\nadditionalProperties of JSONSchema should be True/False, I think.","commit_id":"6cd8b61c641bf2ac6621898183860a0c2222f432"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"b6d226b5e3b6a0b5c723830769b26c6da20ebee3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                    \u0027backup_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":50,"context_line":"                },"},{"line_number":51,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":52,"context_line":"                \"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":53,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":54,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":55,"context_line":"                             \u0027backup_gigabytes\u0027, \u0027groups\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5faad753_62a9e6dd","line":52,"range":{"start_line":52,"start_character":40,"end_line":52,"end_character":60},"in_reply_to":"5faad753_59ef1387","updated":"2019-09-06 17:54:07.000000000","message":"Interesting, thanks for your explanation!\nLGTM now.","commit_id":"6cd8b61c641bf2ac6621898183860a0c2222f432"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"d3a07f7176616d9b797508f57dd7d60dcdaf99c9","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                    \u0027backup_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":50,"context_line":"                },"},{"line_number":51,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":52,"context_line":"                \"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":53,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":54,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":55,"context_line":"                             \u0027backup_gigabytes\u0027, \u0027groups\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5faad753_59ef1387","line":52,"range":{"start_line":52,"start_character":40,"end_line":52,"end_character":60},"in_reply_to":"5faad753_85be82fd","updated":"2019-09-06 02:53:09.000000000","message":"Yes, there are fields like volumes_\u003cbackend\u003e, which vary according to different environments, and we only know they should be of type integer.\n{\n    \"quota_set\": {\n        \"id\": \"a7090a26bc554d93aa845a4d41808251\",\n        \"volumes\": 10,\n        \"volumes_ceph\": -1,\n        \"volumes_lvm-thin\": -1,\n        \"volumes_lvmdriver-1\": -1,","commit_id":"6cd8b61c641bf2ac6621898183860a0c2222f432"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"46ad997e6c82f3e2513d3ef41f61582d4269d775","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                    \u0027backup_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":50,"context_line":"                },"},{"line_number":51,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":52,"context_line":"                \"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":53,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":54,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":55,"context_line":"                             \u0027backup_gigabytes\u0027, \u0027groups\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"5faad753_85be82fd","line":52,"range":{"start_line":52,"start_character":40,"end_line":52,"end_character":60},"in_reply_to":"7faddb67_703f9685","updated":"2019-09-05 21:24:01.000000000","message":"Felipe,\n\nThank you so much for your explanation.\nI got JSON-Schema allows additional properties with specific type by using this case.\nThen, that means Cinder will add more properties without writing them on https://docs.openstack.org/api-ref/block-storage/v3/index.html?expanded\u003dshow-quotas-for-a-project-detail#quota-sets-extension-os-quota-sets right?","commit_id":"6cd8b61c641bf2ac6621898183860a0c2222f432"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"ead6ed567a0411650d07af81cb9d583d174b4e93","unresolved":false,"context_lines":[{"line_number":49,"context_line":"                    \u0027backup_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":50,"context_line":"                },"},{"line_number":51,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":52,"context_line":"                \"additionalProperties\": {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":53,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":54,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":55,"context_line":"                             \u0027backup_gigabytes\u0027, \u0027groups\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_703f9685","line":52,"range":{"start_line":52,"start_character":40,"end_line":52,"end_character":60},"in_reply_to":"7faddb67_dfc46062","updated":"2019-09-05 21:01:43.000000000","message":"The additionalProperties keyword is used to control the handling of extra stuff, that is, properties whose names are not listed in the properties keyword. By default any additional properties are allowed.\n\nThe additionalProperties keyword may be either a boolean or an object. If additionalProperties is a boolean and set to false, no additional properties will be allowed.\n\n...\n\nIf additionalProperties is an object, that object is a schema that will be used to validate any additional properties not listed in properties.\n\nhttps://json-schema.org/understanding-json-schema/reference/object.html\n\nReason why it is here is because the additional properties all have type integer, so it is more explicit enforcement to add an object instead of a boolean, because boolean just says: \"Yes there are more properties\" but object says: \"Yes there are more properties that must pass this object schema\".","commit_id":"6cd8b61c641bf2ac6621898183860a0c2222f432"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"39e7188b86dce7c71ef63c15e15f3fb6c3fd5113","unresolved":false,"context_lines":[{"line_number":81,"context_line":"                    \u0027backup_gigabytes\u0027: quota_usage_info,"},{"line_number":82,"context_line":"                },"},{"line_number":83,"context_line":"                # for volumes_{volume_type}, etc"},{"line_number":84,"context_line":"                \"additionalProperties\": quota_usage_info,"},{"line_number":85,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027volumes\u0027, \u0027snapshots\u0027, \u0027backups\u0027,"},{"line_number":86,"context_line":"                             \u0027per_volume_gigabytes\u0027, \u0027gigabytes\u0027,"},{"line_number":87,"context_line":"                             \u0027backup_gigabytes\u0027, \u0027groups\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_9fa028a7","line":84,"range":{"start_line":84,"start_character":40,"end_line":84,"end_character":57},"updated":"2019-09-05 16:55:33.000000000","message":"ditto","commit_id":"6cd8b61c641bf2ac6621898183860a0c2222f432"}],"tempest/lib/services/volume/v3/quotas_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e0132b0e7511138cd92d96045f51c88042575a76","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    def delete_quota_set(self, tenant_id):"},{"line_number":64,"context_line":"        \"\"\"Delete the tenant\u0027s quota set.\"\"\""},{"line_number":65,"context_line":"        resp, body \u003d self.delete(\u0027os-quota-sets/%s\u0027 % tenant_id)"},{"line_number":66,"context_line":"        self.validate_response(schema.delete_quota_set, resp, body)"},{"line_number":67,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_6e0f67e0","line":66,"range":{"start_line":66,"start_character":31,"end_line":66,"end_character":54},"updated":"2019-08-26 20:58:42.000000000","message":"nit: Is this really necessary? It feels like extra clutter since it has no response body, only a status of 200. I mean, I guess it\u0027s consistent with the others, but feels like overkill.","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5bca9004d95cf048861808ec32fce8ce164ba59c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"    def delete_quota_set(self, tenant_id):"},{"line_number":64,"context_line":"        \"\"\"Delete the tenant\u0027s quota set.\"\"\""},{"line_number":65,"context_line":"        resp, body \u003d self.delete(\u0027os-quota-sets/%s\u0027 % tenant_id)"},{"line_number":66,"context_line":"        self.validate_response(schema.delete_quota_set, resp, body)"},{"line_number":67,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_d95bae1f","line":66,"range":{"start_line":66,"start_character":31,"end_line":66,"end_character":54},"in_reply_to":"7faddb67_6e0f67e0","updated":"2019-08-28 00:45:05.000000000","message":"Yeah, this just follows the tradition:)","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"df5b8539eae9107759fc91443965cddea314df44","unresolved":false,"context_lines":[{"line_number":57,"context_line":"        put_body \u003d jsonutils.dumps({\u0027quota_set\u0027: kwargs})"},{"line_number":58,"context_line":"        resp, body \u003d self.put(\u0027os-quota-sets/%s\u0027 % tenant_id, put_body)"},{"line_number":59,"context_line":"        body \u003d jsonutils.loads(body)"},{"line_number":60,"context_line":"        self.validate_response(schema.update_quota_set, resp, body)"},{"line_number":61,"context_line":"        return rest_client.ResponseBody(resp, body)"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"    def delete_quota_set(self, tenant_id):"}],"source_content_type":"text/x-python","patch_set":9,"id":"7faddb67_71511862","line":60,"range":{"start_line":60,"start_character":38,"end_line":60,"end_character":54},"updated":"2019-09-03 14:22:36.000000000","message":"Nice catch changing this naming.","commit_id":"6cd8b61c641bf2ac6621898183860a0c2222f432"}],"tempest/tests/lib/services/volume/v3/test_quotas_client.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e0132b0e7511138cd92d96045f51c88042575a76","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class TestQuotasClient(base.BaseServiceTest):"},{"line_number":21,"context_line":"    FAKE_QUOTAS \u003d {"},{"line_number":22,"context_line":"        \"quota_set\": {"},{"line_number":23,"context_line":"            \"gigabytes\": 5,"},{"line_number":24,"context_line":"            \"snapshots\": 10,"},{"line_number":25,"context_line":"            \"volumes\": 20,"},{"line_number":26,"context_line":"            \u0027backups\u0027: 10,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_ce18db1f","line":23,"updated":"2019-08-26 20:58:42.000000000","message":"Missing \u0027id\u0027","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5bca9004d95cf048861808ec32fce8ce164ba59c","unresolved":false,"context_lines":[{"line_number":20,"context_line":"class TestQuotasClient(base.BaseServiceTest):"},{"line_number":21,"context_line":"    FAKE_QUOTAS \u003d {"},{"line_number":22,"context_line":"        \"quota_set\": {"},{"line_number":23,"context_line":"            \"gigabytes\": 5,"},{"line_number":24,"context_line":"            \"snapshots\": 10,"},{"line_number":25,"context_line":"            \"volumes\": 20,"},{"line_number":26,"context_line":"            \u0027backups\u0027: 10,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_b947d24c","line":23,"in_reply_to":"7faddb67_ce18db1f","updated":"2019-08-28 00:45:05.000000000","message":"Done","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e0132b0e7511138cd92d96045f51c88042575a76","unresolved":false,"context_lines":[{"line_number":22,"context_line":"        \"quota_set\": {"},{"line_number":23,"context_line":"            \"gigabytes\": 5,"},{"line_number":24,"context_line":"            \"snapshots\": 10,"},{"line_number":25,"context_line":"            \"volumes\": 20,"},{"line_number":26,"context_line":"            \u0027backups\u0027: 10,"},{"line_number":27,"context_line":"            \u0027groups\u0027: 10,"},{"line_number":28,"context_line":"            \u0027per_volume_gigabytes\u0027: 1000,"},{"line_number":29,"context_line":"            \u0027backup_gigabytes\u0027: 2000"},{"line_number":30,"context_line":"        }"},{"line_number":31,"context_line":"    }"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_0ef6f3d9","line":29,"range":{"start_line":25,"start_character":12,"end_line":29,"end_character":36},"updated":"2019-08-26 20:58:42.000000000","message":"++","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e0132b0e7511138cd92d96045f51c88042575a76","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        }"},{"line_number":31,"context_line":"    }"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    FAKE_UPDATE_QUOTAS_REQUEST \u003d {"},{"line_number":34,"context_line":"        \"quota_set\": {"},{"line_number":35,"context_line":"            \"gigabytes\": 6,"},{"line_number":36,"context_line":"            \"snapshots\": 11,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_ae2ebf3f","line":33,"range":{"start_line":33,"start_character":23,"end_line":33,"end_character":30},"updated":"2019-08-26 20:58:42.000000000","message":"nit: this is used as a RESPONSE on L70.","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5bca9004d95cf048861808ec32fce8ce164ba59c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"        }"},{"line_number":31,"context_line":"    }"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    FAKE_UPDATE_QUOTAS_REQUEST \u003d {"},{"line_number":34,"context_line":"        \"quota_set\": {"},{"line_number":35,"context_line":"            \"gigabytes\": 6,"},{"line_number":36,"context_line":"            \"snapshots\": 11,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_79739ab5","line":33,"range":{"start_line":33,"start_character":23,"end_line":33,"end_character":30},"in_reply_to":"7faddb67_ae2ebf3f","updated":"2019-08-28 00:45:05.000000000","message":"Done","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"e0132b0e7511138cd92d96045f51c88042575a76","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    FAKE_UPDATE_QUOTAS_REQUEST \u003d {"},{"line_number":34,"context_line":"        \"quota_set\": {"},{"line_number":35,"context_line":"            \"gigabytes\": 6,"},{"line_number":36,"context_line":"            \"snapshots\": 11,"},{"line_number":37,"context_line":"            \"volumes\": 21,"},{"line_number":38,"context_line":"            \u0027backups\u0027: 11,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_2e1acf17","line":35,"updated":"2019-08-26 20:58:42.000000000","message":"Missing \u0027id\u0027","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"5bca9004d95cf048861808ec32fce8ce164ba59c","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    FAKE_UPDATE_QUOTAS_REQUEST \u003d {"},{"line_number":34,"context_line":"        \"quota_set\": {"},{"line_number":35,"context_line":"            \"gigabytes\": 6,"},{"line_number":36,"context_line":"            \"snapshots\": 11,"},{"line_number":37,"context_line":"            \"volumes\": 21,"},{"line_number":38,"context_line":"            \u0027backups\u0027: 11,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_d942ce3b","line":35,"in_reply_to":"7faddb67_2e1acf17","updated":"2019-08-28 00:45:05.000000000","message":"response of update quota doesn\u0027t have \u0027id\u0027","commit_id":"477be697b6f324eb0b3eab446b0cb6f4fadd4c36"}]}
