)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"dc79da8e13e1f077ac105ad0ea021a52b10597e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"fb8c7945_934eaf28","updated":"2024-09-25 16:56:31.000000000","message":"This is looking good, but you need to be more deliberate in your formatting. It will make your life and the lives of your reviewers much easier in the long-run 😊","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fa51f7c6f9b151ca6a87ebeeaf7e5373945d9f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"0a816b6b_ed028bd7","updated":"2024-09-25 17:26:54.000000000","message":"I\u0027ve reworked this to demonstrate how _I_ think it should be approached. Feel free to disagree with me (you can pull old versions of patches by appending the patchset number after the change number e.g. `git review -d 924468,6`) but hopefully this should make sense. I suspect there are a few outstanding TODOs here like figuring out why there are separate controllers that we probably want to discuss on Friday.","commit_id":"b9ff728976ec54c724cd4b77107bbe523266d45a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"4c805501f14c0fc8c0092cc77786a246b4f8338f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"a3987b01_fc89ffb6","updated":"2024-10-03 02:37:12.000000000","message":"Hi thanks for the feed back. I have it passing the zull test may be ready for an other look.","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"976afac5ce18c3978fe1aa892b1fea854f3dc965","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"0002f5ea_95fc2bb4","updated":"2024-11-13 19:32:08.000000000","message":"Done Thanks","commit_id":"3d203328f10fb9399886c6fbe0d2fab1b7284b0f"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"0aa5e6c0c4a0e9e692ed801f073a01eb651b2f8c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"19ddad86_9f1a3633","updated":"2024-11-13 19:32:53.000000000","message":"Done thank you","commit_id":"3d203328f10fb9399886c6fbe0d2fab1b7284b0f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bf76b691109cab7f9155ac811c39f8fcd2c7e39b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"11f4af79_e4ce4b63","updated":"2024-12-13 18:31:02.000000000","message":"LGTM, thanks for working on this change","commit_id":"3d203328f10fb9399886c6fbe0d2fab1b7284b0f"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"2ecada64f939cb3c35ba5e7b1ec63d6ebb8efe15","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"c0738427_b9d073df","updated":"2024-11-22 13:05:50.000000000","message":"looks good now, thanks","commit_id":"3d203328f10fb9399886c6fbe0d2fab1b7284b0f"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"3e64b71ed76b55a2205597eae0a0441047740ed6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"7b7ce4f9_6b7bca89","updated":"2024-12-13 20:35:49.000000000","message":"Hi Carlos, I\u0027ve reverted the quotes change in quota_class_sets . Thanks","commit_id":"60f21fb1966538bbbb195745638050b904dd0372"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2a13e97e95d30daed94bdc6f06891a8533bf3b17","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"bc9a265b_bcde370b","updated":"2025-01-17 16:01:36.000000000","message":"LGTM, thank you Jonathan","commit_id":"419e80f8eee5c851592b2d1997c865736d7c65fd"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"68c1bef0bc7f783b4f9e4ecedaa5db27ba2f7f30","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"7871bdcc_cc088e57","updated":"2025-05-02 06:20:41.000000000","message":"Thanks Jonathan, some comments inline","commit_id":"419e80f8eee5c851592b2d1997c865736d7c65fd"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"b344f5188a07e960cb4ae65040e60f78e6ec6b60","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"9d1a0dad_e9d72e44","updated":"2025-06-20 04:12:47.000000000","message":"Hi, Thanks for the feedback. I\u0027ve made the updates.","commit_id":"e4616db12a9cae82d040b20c510653ebbb5ca5bd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a01df707ae123c7964ef5f9acc620da31b1fe474","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"861c0a51_44e66b2c","updated":"2025-06-20 15:02:39.000000000","message":"recheck\nApparently an install issue in the grenade job, let\u0027s try to get a clean run","commit_id":"e4616db12a9cae82d040b20c510653ebbb5ca5bd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"a01df707ae123c7964ef5f9acc620da31b1fe474","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"9e902cd2_9e296af8","updated":"2025-06-20 15:02:39.000000000","message":"recheck\nApparently an install issue, let\u0027s try to get a clean run","commit_id":"e4616db12a9cae82d040b20c510653ebbb5ca5bd"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"38af24759bc3c7d5a9368f67ea18c8076b4d7229","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"d0f6ed41_300ac23b","updated":"2025-12-05 18:53:06.000000000","message":"Changes looking good, thank you for working on them, Jonathan","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c8d5e3824ac1bd89af79ac9e48ad10c5ec24f068","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"f5c19c87_57531114","updated":"2025-12-05 19:56:05.000000000","message":"Hi, several comments inline.. but, i\u0027ll address these myself so you can move a bit faster as we discussed.. Sorry it\u0027s taken so long to get around to this","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"ffee3a06b217c61d4b0b0bdfe26b4d19804f858b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"d781fe86_57fa4ee1","updated":"2025-08-29 14:56:41.000000000","message":"There will be a new API version here. We recently introduced quotas for share encryption, so this change might need some updates. Could you please look into it?","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"b6e0a6b77acb1e58f909ccbd666bca833841ec93","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"ed161192_0a039a60","updated":"2025-09-03 18:43:31.000000000","message":"Took care of the typo. Thanks.","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"9fd906c4eaf7dd82067c47f1007ffdc572d9592f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"2df89335_63d1e343","updated":"2025-12-05 21:00:46.000000000","message":"LGTM, thanks for fixing the comments, Goutham","commit_id":"51e6f36de8a50c48193b587eec05278d18bebe88"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"cc85c4a666aa6bc7ff6ff774209c2ddef759f1a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"0624a871_e8e03ed5","updated":"2026-01-08 19:24:25.000000000","message":"recheck\n\nthis didn\u0027t fail locally and i don\u0027t see the logs anymore.","commit_id":"51e6f36de8a50c48193b587eec05278d18bebe88"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"cdb4b46afc80c9576b345e424f6914e5f4edac0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"e802d331_262aa41f","updated":"2026-01-09 22:40:36.000000000","message":"recheck\n\nzuul outage","commit_id":"64f09150717f09f2e2fcf9af7ea5cb74da36dbfc"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"fef13bbf01f7bbe95ece4e87ba2d7138e91f1805","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"156361a0_883921bb","updated":"2026-01-29 16:54:39.000000000","message":"LGTM, thanks Jonathan","commit_id":"e28a519bcdc293f4c923d2cf07c340507192c2a5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"89cc87315ccb60549786f1020357086f0f0373de","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"c35fed87_ce30cbe8","updated":"2026-01-11 07:15:13.000000000","message":"recheck\n\nVM spawning failed on one of the voting jobs","commit_id":"e28a519bcdc293f4c923d2cf07c340507192c2a5"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"3f9400826f1072a81d872821cdee2069e2f92cc8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"da18570b_a9158566","updated":"2026-01-22 21:37:24.000000000","message":"recheck\n\nunrelated failure","commit_id":"e28a519bcdc293f4c923d2cf07c340507192c2a5"}],"manila/api/schemas/quota_class_sets.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7d565cc49832017990b7fca2eda013627d0ece41","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack LLC."},{"line_number":2,"context_line":"# Copyright (c) 2015 Mirantis inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"b95b6667_2278710e","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":34},"updated":"2024-08-23 15:03:43.000000000","message":"no need to put these here; you\u0027re introducing this file.. there\u0027s no content that i see that requires these old copyrights","commit_id":"e7f5f6f03d683d74cba056ddfc7e985ce7f590ed"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"dc79da8e13e1f077ac105ad0ea021a52b10597e5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack LLC."},{"line_number":2,"context_line":"# Copyright (c) 2015 Mirantis inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf2216c4_460d5675","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":34},"in_reply_to":"b95b6667_2278710e","updated":"2024-09-25 16:56:31.000000000","message":"Done","commit_id":"e7f5f6f03d683d74cba056ddfc7e985ce7f590ed"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"4c805501f14c0fc8c0092cc77786a246b4f8338f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack LLC."},{"line_number":2,"context_line":"# Copyright (c) 2015 Mirantis inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":3,"id":"fd1c566d_804ee279","line":2,"range":{"start_line":1,"start_character":0,"end_line":2,"end_character":34},"in_reply_to":"b95b6667_2278710e","updated":"2024-10-03 02:37:12.000000000","message":"Done","commit_id":"e7f5f6f03d683d74cba056ddfc7e985ce7f590ed"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"dc79da8e13e1f077ac105ad0ea021a52b10597e5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"02561851_2cce5377","updated":"2024-09-25 16:56:31.000000000","message":"As a general observation, this is rather hard to read. I would encourage you to use more meaningful names and make better use of whitespace. I have left comments below with some suggestions. Hopefully they are helpful. If all these things are boring, I suggest doing the following:\n\n```\npipx install black\nblack -S -l 79 \n```\n\nYou won\u0027t be able to do this everywhere but since this is new code, there\u0027s no harm in doing this.","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"dc79da8e13e1f077ac105ad0ea021a52b10597e5","unresolved":true,"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":"import copy"},{"line_number":16,"context_line":"from manila.api.validation import (parameter_types)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"_request_quota_prop \u003d {"},{"line_number":19,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"39945870_1192ccb2","line":16,"range":{"start_line":15,"start_character":0,"end_line":16,"end_character":51},"updated":"2024-09-25 16:56:31.000000000","message":"You don\u0027t need brackets for a single import. Also, imports should be grouped like so:\n\n```\nstdlib\n\nthird-party\n\nfirst-party\n```\n\nI\u0027m surprised hacking isn\u0027t reporting this as an issue, but you can fix like so.\n\n```suggestion\nimport copy\n\nfrom manila.api.validation import parameter_types\n```","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fa51f7c6f9b151ca6a87ebeeaf7e5373945d9f6","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":"import copy"},{"line_number":16,"context_line":"from manila.api.validation import (parameter_types)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"_request_quota_prop \u003d {"},{"line_number":19,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"50bf8eb2_98af800d","line":16,"range":{"start_line":15,"start_character":0,"end_line":16,"end_character":51},"in_reply_to":"39945870_1192ccb2","updated":"2024-09-25 17:26:54.000000000","message":"Done","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"dc79da8e13e1f077ac105ad0ea021a52b10597e5","unresolved":true,"context_lines":[{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":"from manila.api.validation import (parameter_types)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"_request_quota_prop \u003d {"},{"line_number":19,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":20,"context_line":"    \u0027properties\u0027: {"},{"line_number":21,"context_line":"        \u0027gigabytes\u0027: parameter_types.single_param("}],"source_content_type":"text/x-python","patch_set":6,"id":"6e31ba78_cf67c5fc","line":18,"updated":"2024-09-25 16:56:31.000000000","message":"Question: Given this is only used once, can we simply fold this into `update_request_body`? Then, rather than creating e.g. `_request_quota_prop_v253`, simply create `update_request_body_v253` (as a copy of `update_request_body`) and modify *that*. It would be slightly easier to read.","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fa51f7c6f9b151ca6a87ebeeaf7e5373945d9f6","unresolved":false,"context_lines":[{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":"from manila.api.validation import (parameter_types)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"_request_quota_prop \u003d {"},{"line_number":19,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":20,"context_line":"    \u0027properties\u0027: {"},{"line_number":21,"context_line":"        \u0027gigabytes\u0027: parameter_types.single_param("}],"source_content_type":"text/x-python","patch_set":6,"id":"49001d39_ec12df39","line":18,"in_reply_to":"6e31ba78_cf67c5fc","updated":"2024-09-25 17:26:54.000000000","message":"Done","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"dc79da8e13e1f077ac105ad0ea021a52b10597e5","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    # TODO(jonathan): Exclude additional query string parameters"},{"line_number":61,"context_line":"    #  in a future microversion"},{"line_number":62,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":63,"context_line":"}"},{"line_number":64,"context_line":"update_request_body \u003d {"},{"line_number":65,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":66,"context_line":"    \u0027properties\u0027: _request_quota_prop,"}],"source_content_type":"text/x-python","patch_set":6,"id":"f8de0018_860f2757","line":63,"updated":"2024-09-25 16:56:31.000000000","message":"Can you add a newline here to visually separate request query schemas from request body (and response body) schemas?","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fa51f7c6f9b151ca6a87ebeeaf7e5373945d9f6","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    # TODO(jonathan): Exclude additional query string parameters"},{"line_number":61,"context_line":"    #  in a future microversion"},{"line_number":62,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":63,"context_line":"}"},{"line_number":64,"context_line":"update_request_body \u003d {"},{"line_number":65,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":66,"context_line":"    \u0027properties\u0027: _request_quota_prop,"}],"source_content_type":"text/x-python","patch_set":6,"id":"0b1a751c_bc68e6a1","line":63,"in_reply_to":"f8de0018_860f2757","updated":"2024-09-25 17:26:54.000000000","message":"Done","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"dc79da8e13e1f077ac105ad0ea021a52b10597e5","unresolved":true,"context_lines":[{"line_number":97,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":98,"context_line":"}"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"_response_quota_prop \u003d {"},{"line_number":101,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":102,"context_line":"    \u0027properties\u0027: {"},{"line_number":103,"context_line":"        \u0027gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":6,"id":"a3a66056_af78bd19","line":100,"updated":"2024-09-25 16:56:31.000000000","message":"Same question as above: can\u0027t we fold this into `show_response_body`?","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fa51f7c6f9b151ca6a87ebeeaf7e5373945d9f6","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    \u0027additionalProperties\u0027: True"},{"line_number":98,"context_line":"}"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"_response_quota_prop \u003d {"},{"line_number":101,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":102,"context_line":"    \u0027properties\u0027: {"},{"line_number":103,"context_line":"        \u0027gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":6,"id":"11f72589_42b68f02","line":100,"in_reply_to":"a3a66056_af78bd19","updated":"2024-09-25 17:26:54.000000000","message":"Done","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"dc79da8e13e1f077ac105ad0ea021a52b10597e5","unresolved":true,"context_lines":[{"line_number":118,"context_line":"props[\u0027share_group_snapshots\u0027] \u003d {\u0027type\u0027: \u0027integer\u0027}"},{"line_number":119,"context_line":"props[\u0027share_groups\u0027] \u003d {\u0027type\u0027: \u0027integer\u0027}"},{"line_number":120,"context_line":"(_response_quota_prop_v240[\u0027required\u0027]"},{"line_number":121,"context_line":" .append(\u0027share_group_snapshots\u0027))"},{"line_number":122,"context_line":"(_response_quota_prop_v240[\u0027required\u0027]"},{"line_number":123,"context_line":" .append(\u0027share_groups\u0027))"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"4dfb04ea_ccc68760","line":121,"updated":"2024-09-25 16:56:31.000000000","message":"nit: Why wrap this in brackets? If it\u0027s too long for the line, there are other ways to break this up that read a lot nicer. Like this:\n\n```\n_response_quota_prop_v240[\u0027required\u0027].append(\n    \u0027share_group_snapshots\u0027\n)\n```","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9fa51f7c6f9b151ca6a87ebeeaf7e5373945d9f6","unresolved":false,"context_lines":[{"line_number":118,"context_line":"props[\u0027share_group_snapshots\u0027] \u003d {\u0027type\u0027: \u0027integer\u0027}"},{"line_number":119,"context_line":"props[\u0027share_groups\u0027] \u003d {\u0027type\u0027: \u0027integer\u0027}"},{"line_number":120,"context_line":"(_response_quota_prop_v240[\u0027required\u0027]"},{"line_number":121,"context_line":" .append(\u0027share_group_snapshots\u0027))"},{"line_number":122,"context_line":"(_response_quota_prop_v240[\u0027required\u0027]"},{"line_number":123,"context_line":" .append(\u0027share_groups\u0027))"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"a2779f4c_a4dbe598","line":121,"in_reply_to":"4dfb04ea_ccc68760","updated":"2024-09-25 17:26:54.000000000","message":"Done","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"355ef67f87812fc056da803a3c76ea9e9ef9e14e","unresolved":true,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"show_response_body \u003d {"},{"line_number":163,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":164,"context_line":"    \u0027properties\u0027: {"},{"line_number":165,"context_line":"        \u0027type\u0027: \u0027object\u0027,"},{"line_number":166,"context_line":"        \u0027quota_class_set\u0027: _response_quota_prop,"},{"line_number":167,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":9,"id":"89e88743_96f480a0","line":164,"updated":"2024-09-27 15:43:33.000000000","message":"all schemas here are corrupted by the fact that you define `type: object` directly under properties","commit_id":"91cf5d519de892a12c7a1bd72ec043561ebea0e9"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"4c805501f14c0fc8c0092cc77786a246b4f8338f","unresolved":false,"context_lines":[{"line_number":161,"context_line":""},{"line_number":162,"context_line":"show_response_body \u003d {"},{"line_number":163,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":164,"context_line":"    \u0027properties\u0027: {"},{"line_number":165,"context_line":"        \u0027type\u0027: \u0027object\u0027,"},{"line_number":166,"context_line":"        \u0027quota_class_set\u0027: _response_quota_prop,"},{"line_number":167,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":9,"id":"98487933_a82692a8","line":164,"in_reply_to":"89e88743_96f480a0","updated":"2024-10-03 02:37:12.000000000","message":"Acknowledged","commit_id":"91cf5d519de892a12c7a1bd72ec043561ebea0e9"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"2168eac12d63d69c16a9876533ed9a533411546d","unresolved":true,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":"from manila.api.validation import (parameter_types)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"empty_body \u003d {"},{"line_number":19,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"008051e2_15ee8d8a","line":16,"updated":"2024-10-11 15:54:23.000000000","message":"you do not need brackets around import","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"976afac5ce18c3978fe1aa892b1fea854f3dc965","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":"from manila.api.validation import (parameter_types)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"empty_body \u003d {"},{"line_number":19,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"e3ad2a52_277c2a27","line":16,"in_reply_to":"008051e2_15ee8d8a","updated":"2024-11-13 19:32:08.000000000","message":"Acknowledged","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1cd683d352f1ed2637b634bb3fc98a5a5c430740","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"import copy"},{"line_number":16,"context_line":"from manila.api.validation import (parameter_types)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"empty_body \u003d {"},{"line_number":19,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"41a9ce6c_6d5b6842","line":16,"in_reply_to":"008051e2_15ee8d8a","updated":"2024-11-08 16:17:49.000000000","message":"Done","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"2168eac12d63d69c16a9876533ed9a533411546d","unresolved":true,"context_lines":[{"line_number":60,"context_line":"    \u0027x-openstack\u0027: {"},{"line_number":61,"context_line":"        \u0027apiref\u0027: \u0027quota_class_sets\u0027,"},{"line_number":62,"context_line":"    },"},{"line_number":63,"context_line":"    \u0027required\u0027: [],"},{"line_number":64,"context_line":"    # TODO(jonathan): Exclude additional query string parameters"},{"line_number":65,"context_line":"    #  in a future micro-version"},{"line_number":66,"context_line":"    \u0027additionalProperties\u0027: True,"}],"source_content_type":"text/x-python","patch_set":10,"id":"c4dbc935_f9b16ebe","line":63,"updated":"2024-10-11 15:54:23.000000000","message":"no need for empty required","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1cd683d352f1ed2637b634bb3fc98a5a5c430740","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    \u0027x-openstack\u0027: {"},{"line_number":61,"context_line":"        \u0027apiref\u0027: \u0027quota_class_sets\u0027,"},{"line_number":62,"context_line":"    },"},{"line_number":63,"context_line":"    \u0027required\u0027: [],"},{"line_number":64,"context_line":"    # TODO(jonathan): Exclude additional query string parameters"},{"line_number":65,"context_line":"    #  in a future micro-version"},{"line_number":66,"context_line":"    \u0027additionalProperties\u0027: True,"}],"source_content_type":"text/x-python","patch_set":10,"id":"02ad082a_b3d63f09","line":63,"in_reply_to":"c4dbc935_f9b16ebe","updated":"2024-11-08 16:17:49.000000000","message":"Done","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"976afac5ce18c3978fe1aa892b1fea854f3dc965","unresolved":false,"context_lines":[{"line_number":60,"context_line":"    \u0027x-openstack\u0027: {"},{"line_number":61,"context_line":"        \u0027apiref\u0027: \u0027quota_class_sets\u0027,"},{"line_number":62,"context_line":"    },"},{"line_number":63,"context_line":"    \u0027required\u0027: [],"},{"line_number":64,"context_line":"    # TODO(jonathan): Exclude additional query string parameters"},{"line_number":65,"context_line":"    #  in a future micro-version"},{"line_number":66,"context_line":"    \u0027additionalProperties\u0027: True,"}],"source_content_type":"text/x-python","patch_set":10,"id":"6fa77069_6d7de888","line":63,"in_reply_to":"c4dbc935_f9b16ebe","updated":"2024-11-13 19:32:08.000000000","message":"Done","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"2168eac12d63d69c16a9876533ed9a533411546d","unresolved":true,"context_lines":[{"line_number":72,"context_line":"     \u0027x-openstack\u0027: {"},{"line_number":73,"context_line":"         \u0027apiref\u0027: \u0027quota_share_replicas\u0027"},{"line_number":74,"context_line":"     }})"},{"line_number":75,"context_line":"prop_v253[\u0027replica_gigabytes\u0027] \u003d parameter_types.single_param("},{"line_number":76,"context_line":"    {\u0027type\u0027: \u0027integer\u0027,"},{"line_number":77,"context_line":"     \u0027x-openstack\u0027: {"},{"line_number":78,"context_line":"         \u0027apiref\u0027: \u0027quota_replica_gigabytes\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"c4969497_9f4d61a5","line":75,"updated":"2024-10-11 15:54:23.000000000","message":"nit: you can actually combine multiple changes by using `prop_v253.update({share_replicas:.., replica_gigabytes: ..})`","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1cd683d352f1ed2637b634bb3fc98a5a5c430740","unresolved":false,"context_lines":[{"line_number":72,"context_line":"     \u0027x-openstack\u0027: {"},{"line_number":73,"context_line":"         \u0027apiref\u0027: \u0027quota_share_replicas\u0027"},{"line_number":74,"context_line":"     }})"},{"line_number":75,"context_line":"prop_v253[\u0027replica_gigabytes\u0027] \u003d parameter_types.single_param("},{"line_number":76,"context_line":"    {\u0027type\u0027: \u0027integer\u0027,"},{"line_number":77,"context_line":"     \u0027x-openstack\u0027: {"},{"line_number":78,"context_line":"         \u0027apiref\u0027: \u0027quota_replica_gigabytes\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"41fdf968_2737ff3c","line":75,"in_reply_to":"c4969497_9f4d61a5","updated":"2024-11-08 16:17:49.000000000","message":"Done","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"976afac5ce18c3978fe1aa892b1fea854f3dc965","unresolved":false,"context_lines":[{"line_number":72,"context_line":"     \u0027x-openstack\u0027: {"},{"line_number":73,"context_line":"         \u0027apiref\u0027: \u0027quota_share_replicas\u0027"},{"line_number":74,"context_line":"     }})"},{"line_number":75,"context_line":"prop_v253[\u0027replica_gigabytes\u0027] \u003d parameter_types.single_param("},{"line_number":76,"context_line":"    {\u0027type\u0027: \u0027integer\u0027,"},{"line_number":77,"context_line":"     \u0027x-openstack\u0027: {"},{"line_number":78,"context_line":"         \u0027apiref\u0027: \u0027quota_replica_gigabytes\u0027"}],"source_content_type":"text/x-python","patch_set":10,"id":"ed0d7992_1ae15409","line":75,"in_reply_to":"c4969497_9f4d61a5","updated":"2024-11-13 19:32:08.000000000","message":"Done","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"2168eac12d63d69c16a9876533ed9a533411546d","unresolved":true,"context_lines":[{"line_number":99,"context_line":"show_request_query \u003d {"},{"line_number":100,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":101,"context_line":"    \u0027properties\u0027: {"},{"line_number":102,"context_line":"        \u0027type\u0027: \u0027object\u0027,"},{"line_number":103,"context_line":"    },"},{"line_number":104,"context_line":"    \u0027required\u0027: [],"},{"line_number":105,"context_line":"    \u0027x-openstack\u0027: {"}],"source_content_type":"text/x-python","patch_set":10,"id":"c64bad87_f2ce31fa","line":102,"updated":"2024-10-11 15:54:23.000000000","message":"this is wrong. You see the codegenerator job failing and it is exactly because of that line. from jsonschema pov it is treated as you have generally your object with query params and one of the params is called \"type\" and is not a `{\"type\": whatsoever}` but a string, so it is not a valid jsonschema","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"976afac5ce18c3978fe1aa892b1fea854f3dc965","unresolved":false,"context_lines":[{"line_number":99,"context_line":"show_request_query \u003d {"},{"line_number":100,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":101,"context_line":"    \u0027properties\u0027: {"},{"line_number":102,"context_line":"        \u0027type\u0027: \u0027object\u0027,"},{"line_number":103,"context_line":"    },"},{"line_number":104,"context_line":"    \u0027required\u0027: [],"},{"line_number":105,"context_line":"    \u0027x-openstack\u0027: {"}],"source_content_type":"text/x-python","patch_set":10,"id":"616ec6c5_bc36be11","line":102,"in_reply_to":"c64bad87_f2ce31fa","updated":"2024-11-13 19:32:08.000000000","message":"Acknowledged","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1cd683d352f1ed2637b634bb3fc98a5a5c430740","unresolved":false,"context_lines":[{"line_number":99,"context_line":"show_request_query \u003d {"},{"line_number":100,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":101,"context_line":"    \u0027properties\u0027: {"},{"line_number":102,"context_line":"        \u0027type\u0027: \u0027object\u0027,"},{"line_number":103,"context_line":"    },"},{"line_number":104,"context_line":"    \u0027required\u0027: [],"},{"line_number":105,"context_line":"    \u0027x-openstack\u0027: {"}],"source_content_type":"text/x-python","patch_set":10,"id":"4e86c710_29c2bede","line":102,"in_reply_to":"c64bad87_f2ce31fa","updated":"2024-11-08 16:17:49.000000000","message":"Done","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"2168eac12d63d69c16a9876533ed9a533411546d","unresolved":true,"context_lines":[{"line_number":101,"context_line":"    \u0027properties\u0027: {"},{"line_number":102,"context_line":"        \u0027type\u0027: \u0027object\u0027,"},{"line_number":103,"context_line":"    },"},{"line_number":104,"context_line":"    \u0027required\u0027: [],"},{"line_number":105,"context_line":"    \u0027x-openstack\u0027: {"},{"line_number":106,"context_line":"        \u0027apiref\u0027: \u0027quota_class_sets\u0027,"},{"line_number":107,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":10,"id":"e8394587_ff375dcd","line":104,"updated":"2024-10-11 15:54:23.000000000","message":"again - no need for empty required","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"976afac5ce18c3978fe1aa892b1fea854f3dc965","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    \u0027properties\u0027: {"},{"line_number":102,"context_line":"        \u0027type\u0027: \u0027object\u0027,"},{"line_number":103,"context_line":"    },"},{"line_number":104,"context_line":"    \u0027required\u0027: [],"},{"line_number":105,"context_line":"    \u0027x-openstack\u0027: {"},{"line_number":106,"context_line":"        \u0027apiref\u0027: \u0027quota_class_sets\u0027,"},{"line_number":107,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":10,"id":"7dac107e_7a6a400f","line":104,"in_reply_to":"e8394587_ff375dcd","updated":"2024-11-13 19:32:08.000000000","message":"Acknowledged","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1cd683d352f1ed2637b634bb3fc98a5a5c430740","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    \u0027properties\u0027: {"},{"line_number":102,"context_line":"        \u0027type\u0027: \u0027object\u0027,"},{"line_number":103,"context_line":"    },"},{"line_number":104,"context_line":"    \u0027required\u0027: [],"},{"line_number":105,"context_line":"    \u0027x-openstack\u0027: {"},{"line_number":106,"context_line":"        \u0027apiref\u0027: \u0027quota_class_sets\u0027,"},{"line_number":107,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":10,"id":"07f84717_59ed87d9","line":104,"in_reply_to":"e8394587_ff375dcd","updated":"2024-11-08 16:17:49.000000000","message":"Done","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"d96f57d33833926d61a26628d4e8d24acadef709","unresolved":true,"context_lines":[{"line_number":18,"context_line":"_request_quota_prop \u003d {"},{"line_number":19,"context_line":"    \"type\": \"object\","},{"line_number":20,"context_line":"    \"properties\": {"},{"line_number":21,"context_line":"        \"type\": \"object\","},{"line_number":22,"context_line":"        \"gigabytes\": {"},{"line_number":23,"context_line":"            \"type\": \"integer\","},{"line_number":24,"context_line":"            \"x-openstack\": {"}],"source_content_type":"text/x-python","patch_set":11,"id":"940a5f5f_002622b8","line":21,"updated":"2024-11-08 16:18:19.000000000","message":"this should go away","commit_id":"43619cf1d306114be2cea69dfa7d41874fbe244b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"976afac5ce18c3978fe1aa892b1fea854f3dc965","unresolved":false,"context_lines":[{"line_number":18,"context_line":"_request_quota_prop \u003d {"},{"line_number":19,"context_line":"    \"type\": \"object\","},{"line_number":20,"context_line":"    \"properties\": {"},{"line_number":21,"context_line":"        \"type\": \"object\","},{"line_number":22,"context_line":"        \"gigabytes\": {"},{"line_number":23,"context_line":"            \"type\": \"integer\","},{"line_number":24,"context_line":"            \"x-openstack\": {"}],"source_content_type":"text/x-python","patch_set":11,"id":"1f402921_024ca909","line":21,"in_reply_to":"940a5f5f_002622b8","updated":"2024-11-13 19:32:08.000000000","message":"Done","commit_id":"43619cf1d306114be2cea69dfa7d41874fbe244b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"0aa5e6c0c4a0e9e692ed801f073a01eb651b2f8c","unresolved":false,"context_lines":[{"line_number":18,"context_line":"_request_quota_prop \u003d {"},{"line_number":19,"context_line":"    \"type\": \"object\","},{"line_number":20,"context_line":"    \"properties\": {"},{"line_number":21,"context_line":"        \"type\": \"object\","},{"line_number":22,"context_line":"        \"gigabytes\": {"},{"line_number":23,"context_line":"            \"type\": \"integer\","},{"line_number":24,"context_line":"            \"x-openstack\": {"}],"source_content_type":"text/x-python","patch_set":11,"id":"5b741a4c_94aef869","line":21,"in_reply_to":"940a5f5f_002622b8","updated":"2024-11-13 19:32:53.000000000","message":"Done","commit_id":"43619cf1d306114be2cea69dfa7d41874fbe244b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"68c1bef0bc7f783b4f9e4ecedaa5db27ba2f7f30","unresolved":true,"context_lines":[{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import copy"},{"line_number":15,"context_line":"from manila.api.validation import parameter_types"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"_request_quota_prop \u003d {"}],"source_content_type":"text/x-python","patch_set":14,"id":"56f94e83_c2281b07","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":11},"updated":"2025-05-02 06:20:41.000000000","message":"nit: add a blank line between the stdlib import and manila imports: https://docs.openstack.org/hacking/latest/user/hacking.html#imports","commit_id":"419e80f8eee5c851592b2d1997c865736d7c65fd"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"b344f5188a07e960cb4ae65040e60f78e6ec6b60","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"import copy"},{"line_number":15,"context_line":"from manila.api.validation import parameter_types"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"_request_quota_prop \u003d {"}],"source_content_type":"text/x-python","patch_set":14,"id":"a2307a12_99666f3d","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":11},"in_reply_to":"56f94e83_c2281b07","updated":"2025-06-20 04:12:47.000000000","message":"Acknowledged","commit_id":"419e80f8eee5c851592b2d1997c865736d7c65fd"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c8d5e3824ac1bd89af79ac9e48ad10c5ec24f068","unresolved":true,"context_lines":[{"line_number":153,"context_line":"        \u0027apiref\u0027: \u0027quota_class_set\u0027,"},{"line_number":154,"context_line":"    },"},{"line_number":155,"context_line":"    \u0027required\u0027: [\u0027quota_class_set\u0027],"},{"line_number":156,"context_line":"    # todo(jonathan): exclude additional query string parameters"},{"line_number":157,"context_line":"    #  in a future microversion"},{"line_number":158,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":159,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":17,"id":"d0b05f11_79495438","line":156,"range":{"start_line":156,"start_character":6,"end_line":156,"end_character":10},"updated":"2025-12-05 19:56:05.000000000","message":"I wonder how H101 testing isn\u0027t flagging this.. \n\nhttps://docs.openstack.org/hacking/latest/user/hacking.html#general","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7af7ab4dfc6eb32e9e217cfc4aad9475984f7da","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        \u0027apiref\u0027: \u0027quota_class_set\u0027,"},{"line_number":154,"context_line":"    },"},{"line_number":155,"context_line":"    \u0027required\u0027: [\u0027quota_class_set\u0027],"},{"line_number":156,"context_line":"    # todo(jonathan): exclude additional query string parameters"},{"line_number":157,"context_line":"    #  in a future microversion"},{"line_number":158,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":159,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":17,"id":"9758957c_b0c56a13","line":156,"range":{"start_line":156,"start_character":6,"end_line":156,"end_character":10},"in_reply_to":"d0b05f11_79495438","updated":"2025-12-05 19:57:54.000000000","message":"Done","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c8d5e3824ac1bd89af79ac9e48ad10c5ec24f068","unresolved":true,"context_lines":[{"line_number":167,"context_line":"        \u0027apiref\u0027: \u0027quota_class_set\u0027,"},{"line_number":168,"context_line":"    },"},{"line_number":169,"context_line":"    \u0027required\u0027: [\u0027quota_class_set\u0027],"},{"line_number":170,"context_line":"    # todo(jonathan): exclude additional query string parameters"},{"line_number":171,"context_line":"    #  in a future micorversion"},{"line_number":172,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":173,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":17,"id":"2bd915ff_ce5e194a","line":170,"range":{"start_line":170,"start_character":4,"end_line":170,"end_character":10},"updated":"2025-12-05 19:56:05.000000000","message":"same","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7af7ab4dfc6eb32e9e217cfc4aad9475984f7da","unresolved":false,"context_lines":[{"line_number":167,"context_line":"        \u0027apiref\u0027: \u0027quota_class_set\u0027,"},{"line_number":168,"context_line":"    },"},{"line_number":169,"context_line":"    \u0027required\u0027: [\u0027quota_class_set\u0027],"},{"line_number":170,"context_line":"    # todo(jonathan): exclude additional query string parameters"},{"line_number":171,"context_line":"    #  in a future micorversion"},{"line_number":172,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":173,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":17,"id":"2676455a_35dbc47e","line":170,"range":{"start_line":170,"start_character":4,"end_line":170,"end_character":10},"in_reply_to":"2bd915ff_ce5e194a","updated":"2025-12-05 19:57:54.000000000","message":"Done","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c8d5e3824ac1bd89af79ac9e48ad10c5ec24f068","unresolved":true,"context_lines":[{"line_number":168,"context_line":"    },"},{"line_number":169,"context_line":"    \u0027required\u0027: [\u0027quota_class_set\u0027],"},{"line_number":170,"context_line":"    # todo(jonathan): exclude additional query string parameters"},{"line_number":171,"context_line":"    #  in a future micorversion"},{"line_number":172,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":173,"context_line":"}"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"ee284a7e_140f5c7b","line":171,"range":{"start_line":171,"start_character":19,"end_line":171,"end_character":31},"updated":"2025-12-05 19:56:05.000000000","message":"microversion","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7af7ab4dfc6eb32e9e217cfc4aad9475984f7da","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    },"},{"line_number":169,"context_line":"    \u0027required\u0027: [\u0027quota_class_set\u0027],"},{"line_number":170,"context_line":"    # todo(jonathan): exclude additional query string parameters"},{"line_number":171,"context_line":"    #  in a future micorversion"},{"line_number":172,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":173,"context_line":"}"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"37c53733_55b6f00e","line":171,"range":{"start_line":171,"start_character":19,"end_line":171,"end_character":31},"in_reply_to":"ee284a7e_140f5c7b","updated":"2025-12-05 19:57:54.000000000","message":"Done","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c8d5e3824ac1bd89af79ac9e48ad10c5ec24f068","unresolved":true,"context_lines":[{"line_number":257,"context_line":"        \u0027share_replicas\u0027: {"},{"line_number":258,"context_line":"            \u0027type\u0027: \u0027integer\u0027,"},{"line_number":259,"context_line":"            \u0027x-openstack\u0027: {"},{"line_number":260,"context_line":"                \u0027api_ref\u0027: \u0027quota_share_replicas\u0027,"},{"line_number":261,"context_line":"            },"},{"line_number":262,"context_line":"        },"},{"line_number":263,"context_line":"        \u0027replica_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":17,"id":"b69ba1e0_e903ea66","line":260,"range":{"start_line":260,"start_character":17,"end_line":260,"end_character":24},"updated":"2025-12-05 19:56:05.000000000","message":"apiref?\n\nalthough, i can\u0027t tell if @artem.goncharov@gmail.com and you probably discussed this to be a new codegenerator capability you\u0027re introducing. If yes, i\u0027d like to do that in another patch please, so the existing \"description\" fields are updated for all schemas.. Right now, we could use \"description\" instead, and get the same behavior for this resource.","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"fc32197c35e52f1f0d1e93f48ea4a55a656b5f76","unresolved":true,"context_lines":[{"line_number":257,"context_line":"        \u0027share_replicas\u0027: {"},{"line_number":258,"context_line":"            \u0027type\u0027: \u0027integer\u0027,"},{"line_number":259,"context_line":"            \u0027x-openstack\u0027: {"},{"line_number":260,"context_line":"                \u0027api_ref\u0027: \u0027quota_share_replicas\u0027,"},{"line_number":261,"context_line":"            },"},{"line_number":262,"context_line":"        },"},{"line_number":263,"context_line":"        \u0027replica_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":17,"id":"ddf24008_4bf16fa5","line":260,"range":{"start_line":260,"start_character":17,"end_line":260,"end_character":24},"in_reply_to":"b69ba1e0_e903ea66","updated":"2026-01-08 18:01:21.000000000","message":"My two cents on this: I did not pay much attention to it (my bad) and was laser focused on the parameters, that\u0027s the reason for my +2. Descriptions can and will be helpful. The only thing is that we possibly need go back to other changes that were merged and ensure they also have it and keep that in mind for the upcoming changes.","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5329224b4203e0ea9406389c387bc5290cd56ae4","unresolved":false,"context_lines":[{"line_number":257,"context_line":"        \u0027share_replicas\u0027: {"},{"line_number":258,"context_line":"            \u0027type\u0027: \u0027integer\u0027,"},{"line_number":259,"context_line":"            \u0027x-openstack\u0027: {"},{"line_number":260,"context_line":"                \u0027api_ref\u0027: \u0027quota_share_replicas\u0027,"},{"line_number":261,"context_line":"            },"},{"line_number":262,"context_line":"        },"},{"line_number":263,"context_line":"        \u0027replica_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"}],"source_content_type":"text/x-python","patch_set":17,"id":"8a171fd3_d6f5ca71","line":260,"range":{"start_line":260,"start_character":17,"end_line":260,"end_character":24},"in_reply_to":"ddf24008_4bf16fa5","updated":"2026-01-09 00:01:04.000000000","message":"yes, we\u0027d need to fix up the merged schemas, but i was unsure if \"apiref\" was going to be a parameter in the code generator.","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c8d5e3824ac1bd89af79ac9e48ad10c5ec24f068","unresolved":true,"context_lines":[{"line_number":260,"context_line":"                \u0027api_ref\u0027: \u0027quota_share_replicas\u0027,"},{"line_number":261,"context_line":"            },"},{"line_number":262,"context_line":"        },"},{"line_number":263,"context_line":"        \u0027replica_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":")"},{"line_number":266,"context_line":"(_rsp_quota_prop_v253[\u0027properties\u0027][\u0027quota_class_set\u0027][\u0027required\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"2bf11ed8_e2db3bd1","line":263,"range":{"start_line":263,"start_character":9,"end_line":263,"end_character":49},"updated":"2025-12-05 19:56:05.000000000","message":"this has an apiref entry too? \"quota_replica_gigabytes\"","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"5329224b4203e0ea9406389c387bc5290cd56ae4","unresolved":false,"context_lines":[{"line_number":260,"context_line":"                \u0027api_ref\u0027: \u0027quota_share_replicas\u0027,"},{"line_number":261,"context_line":"            },"},{"line_number":262,"context_line":"        },"},{"line_number":263,"context_line":"        \u0027replica_gigabytes\u0027: {\u0027type\u0027: \u0027integer\u0027},"},{"line_number":264,"context_line":"    }"},{"line_number":265,"context_line":")"},{"line_number":266,"context_line":"(_rsp_quota_prop_v253[\u0027properties\u0027][\u0027quota_class_set\u0027][\u0027required\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"01a48a2b_ee49c009","line":263,"range":{"start_line":263,"start_character":9,"end_line":263,"end_character":49},"in_reply_to":"2bf11ed8_e2db3bd1","updated":"2026-01-09 00:01:04.000000000","message":"Done","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c8d5e3824ac1bd89af79ac9e48ad10c5ec24f068","unresolved":true,"context_lines":[{"line_number":272,"context_line":"        \u0027per_share_gigabytes\u0027: {"},{"line_number":273,"context_line":"            \u0027type\u0027: \u0027integer\u0027,"},{"line_number":274,"context_line":"            \u0027x-openstack\u0027: {"},{"line_number":275,"context_line":"                \u0027api_ref\u0027: \u0027quota_per_share_gigabytes\u0027,"},{"line_number":276,"context_line":"            },"},{"line_number":277,"context_line":"        }"},{"line_number":278,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":17,"id":"f7484371_664d9ae8","line":275,"range":{"start_line":275,"start_character":17,"end_line":275,"end_character":24},"updated":"2025-12-05 19:56:05.000000000","message":"apiref","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7af7ab4dfc6eb32e9e217cfc4aad9475984f7da","unresolved":false,"context_lines":[{"line_number":272,"context_line":"        \u0027per_share_gigabytes\u0027: {"},{"line_number":273,"context_line":"            \u0027type\u0027: \u0027integer\u0027,"},{"line_number":274,"context_line":"            \u0027x-openstack\u0027: {"},{"line_number":275,"context_line":"                \u0027api_ref\u0027: \u0027quota_per_share_gigabytes\u0027,"},{"line_number":276,"context_line":"            },"},{"line_number":277,"context_line":"        }"},{"line_number":278,"context_line":"    }"}],"source_content_type":"text/x-python","patch_set":17,"id":"530b2399_a8fb2b78","line":275,"range":{"start_line":275,"start_character":17,"end_line":275,"end_character":24},"in_reply_to":"f7484371_664d9ae8","updated":"2025-12-05 19:57:54.000000000","message":"Done","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c8d5e3824ac1bd89af79ac9e48ad10c5ec24f068","unresolved":true,"context_lines":[{"line_number":297,"context_line":"        },"},{"line_number":298,"context_line":"    }"},{"line_number":299,"context_line":")"},{"line_number":300,"context_line":"(_rsp_quota_prop_v280[\u0027required\u0027].extend([\u0027backups\u0027, \u0027backup_gigabytes\u0027]))"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"show_response_body \u003d _rsp_quota_prop"},{"line_number":303,"context_line":"show_response_body_v240 \u003d _rsp_quota_prop_v240"}],"source_content_type":"text/x-python","patch_set":17,"id":"ec79ae53_1d8cf1d3","line":300,"range":{"start_line":300,"start_character":0,"end_line":300,"end_character":74},"updated":"2025-12-05 19:56:05.000000000","message":"This is incorrect, it has to be:\n\n\n```\n_rsp_quota_prop_v280[\u0027properties\u0027][\u0027quota_class_set\u0027][\u0027required\u0027]\n   .extend([\u0027backups\u0027, \u0027backup_gigabytes\u0027])\n```","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"c7af7ab4dfc6eb32e9e217cfc4aad9475984f7da","unresolved":false,"context_lines":[{"line_number":297,"context_line":"        },"},{"line_number":298,"context_line":"    }"},{"line_number":299,"context_line":")"},{"line_number":300,"context_line":"(_rsp_quota_prop_v280[\u0027required\u0027].extend([\u0027backups\u0027, \u0027backup_gigabytes\u0027]))"},{"line_number":301,"context_line":""},{"line_number":302,"context_line":"show_response_body \u003d _rsp_quota_prop"},{"line_number":303,"context_line":"show_response_body_v240 \u003d _rsp_quota_prop_v240"}],"source_content_type":"text/x-python","patch_set":17,"id":"4be55a6a_53b06967","line":300,"range":{"start_line":300,"start_character":0,"end_line":300,"end_character":74},"in_reply_to":"ec79ae53_1d8cf1d3","updated":"2025-12-05 19:57:54.000000000","message":"Done","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"}],"manila/api/v2/quota_class_sets.py":[{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"2168eac12d63d69c16a9876533ed9a533411546d","unresolved":true,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @wsgi.Controller.api_version(\u00272.7\u0027)"},{"line_number":98,"context_line":"    @validation.request_query_schema(schema.show_request_query)"},{"line_number":99,"context_line":"    # @validation.request_body_schema("},{"line_number":100,"context_line":"    #     schema.update_request_body_v253, \"2.53\", \"2.61\")"},{"line_number":101,"context_line":"    @validation.response_body_schema("},{"line_number":102,"context_line":"        schema.show_response_body, \"1.0\", \"2.39\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"12f4a973_ffb3d863","line":99,"updated":"2024-10-11 15:54:23.000000000","message":"why is that commented out?","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"976afac5ce18c3978fe1aa892b1fea854f3dc965","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @wsgi.Controller.api_version(\u00272.7\u0027)"},{"line_number":98,"context_line":"    @validation.request_query_schema(schema.show_request_query)"},{"line_number":99,"context_line":"    # @validation.request_body_schema("},{"line_number":100,"context_line":"    #     schema.update_request_body_v253, \"2.53\", \"2.61\")"},{"line_number":101,"context_line":"    @validation.response_body_schema("},{"line_number":102,"context_line":"        schema.show_response_body, \"1.0\", \"2.39\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"15a22007_c52747e7","line":99,"in_reply_to":"12f4a973_ffb3d863","updated":"2024-11-13 19:32:08.000000000","message":"Acknowledged","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"0aa5e6c0c4a0e9e692ed801f073a01eb651b2f8c","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    @wsgi.Controller.api_version(\u00272.7\u0027)"},{"line_number":98,"context_line":"    @validation.request_query_schema(schema.show_request_query)"},{"line_number":99,"context_line":"    # @validation.request_body_schema("},{"line_number":100,"context_line":"    #     schema.update_request_body_v253, \"2.53\", \"2.61\")"},{"line_number":101,"context_line":"    @validation.response_body_schema("},{"line_number":102,"context_line":"        schema.show_response_body, \"1.0\", \"2.39\")"}],"source_content_type":"text/x-python","patch_set":10,"id":"0b55e0bf_98bb52e1","line":99,"in_reply_to":"12f4a973_ffb3d863","updated":"2024-11-13 19:32:53.000000000","message":"Done","commit_id":"d7d84565e6ae7889fbf9ca6d25f2e26c5b87ae7a"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"68c1bef0bc7f783b4f9e4ecedaa5db27ba2f7f30","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack LLC."},{"line_number":2,"context_line":"# Copyright (c) 2015 Mirantis inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":7,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":12,"id":"b645f1ac_f1c63809","side":"PARENT","line":4,"range":{"start_line":1,"start_character":0,"end_line":4,"end_character":1},"updated":"2025-05-02 06:20:41.000000000","message":"please revert this.. we don\u0027t drop prior copyright lines added..\n\nmy comment earlier was in this file: https://review.opendev.org/c/openstack/manila/+/924468/comment/b95b6667_2278710e/\n\nThere are legal connotations to remove previously added copyrights. If you\u0027re interested in past discussions on the topic, please see [1][2]. It\u0027s annoying to see copyrights here, but we have no reason to know if the original authors intended to have them for a particular reason.. so, lets just leave it in.\n\n [1] https://wiki.openstack.org/wiki/LegalIssuesFAQ#Copyright_Headers\n [2] https://lists.openstack.org/archives/list/legal-discuss@lists.openstack.org/thread/EULOJQSMRP5Q4GRIXJDJDKKW6PXB26LH/","commit_id":"1ffa0c12731fe5b1bed4f59133f4b83182dcccbf"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"b344f5188a07e960cb4ae65040e60f78e6ec6b60","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack LLC."},{"line_number":2,"context_line":"# Copyright (c) 2015 Mirantis inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":7,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":12,"id":"ceab5c40_421a44c7","side":"PARENT","line":4,"range":{"start_line":1,"start_character":0,"end_line":4,"end_character":1},"in_reply_to":"b645f1ac_f1c63809","updated":"2025-06-20 04:12:47.000000000","message":"Acknowledged","commit_id":"1ffa0c12731fe5b1bed4f59133f4b83182dcccbf"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"b344f5188a07e960cb4ae65040e60f78e6ec6b60","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2012 OpenStack LLC."},{"line_number":2,"context_line":"# Copyright (c) 2015 Mirantis inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":6,"context_line":"#    not use this file except in compliance with the License. You may obtain"},{"line_number":7,"context_line":"#    a copy of the License at"}],"source_content_type":"text/x-python","patch_set":12,"id":"d6058c66_8a636b97","side":"PARENT","line":4,"range":{"start_line":1,"start_character":0,"end_line":4,"end_character":1},"in_reply_to":"b645f1ac_f1c63809","updated":"2025-06-20 04:12:47.000000000","message":"Acknowledged","commit_id":"1ffa0c12731fe5b1bed4f59133f4b83182dcccbf"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bf76b691109cab7f9155ac811c39f8fcd2c7e39b","unresolved":true,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @wsgi.Controller.authorize(\"show\")"},{"line_number":37,"context_line":"    def _show(self, req, id):"},{"line_number":38,"context_line":"        context \u003d req.environ[\"manila.context\"]"},{"line_number":39,"context_line":"        try:"},{"line_number":40,"context_line":"            db.authorize_quota_class_context(context, id)"},{"line_number":41,"context_line":"        except exception.NotAuthorized:"}],"source_content_type":"text/x-python","patch_set":12,"id":"4e95bbd5_4fe76d47","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":47},"updated":"2024-12-13 18:31:02.000000000","message":"I believe this change and the ones that are changing from single quote to quote aren\u0027t actually related to this change and could be misleading in the future if someone is looking back at the history. I would ask to fix it but only in case you need to submit another PS, otherwise I\u0027m good with things the way they are.","commit_id":"3d203328f10fb9399886c6fbe0d2fab1b7284b0f"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"3e64b71ed76b55a2205597eae0a0441047740ed6","unresolved":false,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @wsgi.Controller.authorize(\"show\")"},{"line_number":37,"context_line":"    def _show(self, req, id):"},{"line_number":38,"context_line":"        context \u003d req.environ[\"manila.context\"]"},{"line_number":39,"context_line":"        try:"},{"line_number":40,"context_line":"            db.authorize_quota_class_context(context, id)"},{"line_number":41,"context_line":"        except exception.NotAuthorized:"}],"source_content_type":"text/x-python","patch_set":12,"id":"f770e0ac_b0be30a9","line":38,"range":{"start_line":38,"start_character":8,"end_line":38,"end_character":47},"in_reply_to":"4e95bbd5_4fe76d47","updated":"2024-12-13 20:35:49.000000000","message":"Done","commit_id":"3d203328f10fb9399886c6fbe0d2fab1b7284b0f"}],"manila/tests/api/v2/test_quota_class_sets.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"68c1bef0bc7f783b4f9e4ecedaa5db27ba2f7f30","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def test_show_quota_not_authorized(self):"},{"line_number":112,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":113,"context_line":"            \u0027/fooproject/%squota-class-sets\u0027,"},{"line_number":114,"context_line":"            version\u003d\u00272.62\u0027, use_admin_context\u003dTrue)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        self.mock_object("}],"source_content_type":"text/x-python","patch_set":6,"id":"0ed98d78_9e1aa949","line":113,"range":{"start_line":113,"start_character":25,"end_line":113,"end_character":27},"updated":"2025-05-02 06:20:41.000000000","message":"you don\u0027t need the %s formatter","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"b344f5188a07e960cb4ae65040e60f78e6ec6b60","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def test_show_quota_not_authorized(self):"},{"line_number":112,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":113,"context_line":"            \u0027/fooproject/%squota-class-sets\u0027,"},{"line_number":114,"context_line":"            version\u003d\u00272.62\u0027, use_admin_context\u003dTrue)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        self.mock_object("}],"source_content_type":"text/x-python","patch_set":6,"id":"32c7c76b_cd9663ff","line":113,"range":{"start_line":113,"start_character":25,"end_line":113,"end_character":27},"in_reply_to":"0ed98d78_9e1aa949","updated":"2025-06-20 04:12:47.000000000","message":"Acknowledged","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"68c1bef0bc7f783b4f9e4ecedaa5db27ba2f7f30","unresolved":true,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    @ddt.data("},{"line_number":129,"context_line":"        (\u0027os-\u0027, \u00271.0\u0027, quota_class_sets.QuotaClassSetsControllerLegacy),"},{"line_number":130,"context_line":"        (\u0027os-\u0027, \u00271.6\u0027, quota_class_sets.QuotaClassSetsControllerLegacy),"},{"line_number":131,"context_line":"        (\u0027\u0027, \u00272.7\u0027, quota_class_sets.QuotaClassSetsController),"},{"line_number":132,"context_line":"        (\u0027\u0027, \u00272.53\u0027, quota_class_sets.QuotaClassSetsController),"},{"line_number":133,"context_line":"        (\u0027\u0027, \u00272.62\u0027, quota_class_sets.QuotaClassSetsController),"}],"source_content_type":"text/x-python","patch_set":6,"id":"a8dca720_84f3b034","line":130,"range":{"start_line":130,"start_character":17,"end_line":130,"end_character":18},"updated":"2025-05-02 06:20:41.000000000","message":"why?\n\n1.6 isnt a valid API version","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"b344f5188a07e960cb4ae65040e60f78e6ec6b60","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    @ddt.data("},{"line_number":129,"context_line":"        (\u0027os-\u0027, \u00271.0\u0027, quota_class_sets.QuotaClassSetsControllerLegacy),"},{"line_number":130,"context_line":"        (\u0027os-\u0027, \u00271.6\u0027, quota_class_sets.QuotaClassSetsControllerLegacy),"},{"line_number":131,"context_line":"        (\u0027\u0027, \u00272.7\u0027, quota_class_sets.QuotaClassSetsController),"},{"line_number":132,"context_line":"        (\u0027\u0027, \u00272.53\u0027, quota_class_sets.QuotaClassSetsController),"},{"line_number":133,"context_line":"        (\u0027\u0027, \u00272.62\u0027, quota_class_sets.QuotaClassSetsController),"}],"source_content_type":"text/x-python","patch_set":6,"id":"c4f05388_d36a38bb","line":130,"range":{"start_line":130,"start_character":17,"end_line":130,"end_character":18},"in_reply_to":"a8dca720_84f3b034","updated":"2025-06-20 04:12:47.000000000","message":"Acknowledged","commit_id":"ac8d36f5762db5fbdba6626636be58cc29ffd664"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"72bfc6bcf768c6411a88ac13889d345399e759b8","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def test_show_quota_not_authorized(self):"},{"line_number":112,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":113,"context_line":"            \u0027/fooproject/squota-class-sets\u0027,"},{"line_number":114,"context_line":"            version\u003d\u00272.62\u0027, use_admin_context\u003dTrue)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        self.mock_object("}],"source_content_type":"text/x-python","patch_set":17,"id":"da757644_1bfbb47c","line":113,"updated":"2025-08-29 15:03:43.000000000","message":"I am not sure whether \"squota-xxx\" is the correct thing. Not authorized still assumes the endpoint url itself is correct, maybe let\u0027s have it correct","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b1b1bb9564bf145bea90e56849bbce5b85c0ca5c","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def test_show_quota_not_authorized(self):"},{"line_number":112,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":113,"context_line":"            \u0027/fooproject/squota-class-sets\u0027,"},{"line_number":114,"context_line":"            version\u003d\u00272.62\u0027, use_admin_context\u003dTrue)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        self.mock_object("}],"source_content_type":"text/x-python","patch_set":17,"id":"1c3dcc04_89b88873","line":113,"in_reply_to":"a7995d9f_95efbc8f","updated":"2025-12-05 20:02:40.000000000","message":"think \"s\" was meant to be \"%s\" and that was necessary in the test above, Done now","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"b6e0a6b77acb1e58f909ccbd666bca833841ec93","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def test_show_quota_not_authorized(self):"},{"line_number":112,"context_line":"        req \u003d fakes.HTTPRequest.blank("},{"line_number":113,"context_line":"            \u0027/fooproject/squota-class-sets\u0027,"},{"line_number":114,"context_line":"            version\u003d\u00272.62\u0027, use_admin_context\u003dTrue)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"        self.mock_object("}],"source_content_type":"text/x-python","patch_set":17,"id":"a7995d9f_95efbc8f","line":113,"in_reply_to":"da757644_1bfbb47c","updated":"2025-09-03 18:43:31.000000000","message":"Done","commit_id":"4d4effbccf856447b4c13aa128bdb67600e5620d"}]}
