)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7ccfe758c28083acdb5b90b6ff2e77681ef83205","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e1f7cc26_a9ee2237","updated":"2024-08-23 17:59:55.000000000","message":"Hi Jonathan! Thanks for working on this; please see comments inline","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9629b1c2_e6278ac7","updated":"2024-08-27 19:36:53.000000000","message":"Thanks for looking. I updated the patch. It looks like preferred is required as the default is false. I\u0027ll start working on a fix for that.","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"71b0279c5f25956c26ddf00a1f2bab3cf4b00855","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9c343ab3_cc8ec017","updated":"2024-08-21 06:56:09.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":33807,"name":"Jacob Wang","email":"jacob_wang1@dell.com","username":"jacob0522"},"change_message_id":"f019d7ac72ab12391bba4299bab3115f64c6368e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c7263aea_44d9768b","updated":"2024-08-21 04:50:26.000000000","message":"run-DellEMC PowerFlex CI","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a4aed65942d6e3ef7c1d5ecfe02f11aa34746f87","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1778b42d_4cdc7476","updated":"2024-09-03 23:03:27.000000000","message":"Hi Goutham, \nNot sure about the adding description. We talked about it at our sync last week.","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"ffa66e4cb6639aae33a40cf9faba6481cb00e8d0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e7f3a60b_b90b2705","updated":"2024-09-19 19:26:12.000000000","message":"Hello. I\u0027ve pushed changed that I believe address this comments. If you have time there I have a couple of concerns that I like some feedback on. To bind the descriptions I\u0027ve used the apiref keyword. \nThe dictionary holding the export location metadata dictionary and has a key value pair. I don\u0027t know how to enforce that data type of the key and value. Right now all the test are passing but values inside the metadata object are not being enforce correctly. \nI\u0027m not sure how to do this. The metadata object has properties. Declaring the properties assumes that we need to name the key. As I understand it the we\u0027re trying to enforce the datatype of the key but not putting restrictions of its value. JSONSchema object docs[https://json-schema.org/understanding-json-schema/reference/object#object] make is see like we should have a metadata object and not worry about what is in the keys, as the keys could be any string value according to the manila docs[https://docs.openstack.org/api-ref/shared-file-system/#list-export-locations].\nThanks in Advance","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f9fa03e270d3760b01bf1095aeeaa8326a5104e7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"ad10cdc8_30f21421","updated":"2024-09-27 05:58:30.000000000","message":"Hi Stephen, \nThanks for the comments. The new patch should resolve them I\u0027ve been inconsistent with apiref keywords. Already changed them in the local.","commit_id":"3ed97a9053a7709152c42f445199463b7a77b8b5"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"132ad6666874c534682e36541390c5747311bd79","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"57fb412c_8924b562","updated":"2024-10-11 16:10:37.000000000","message":"Can you please also here and in other open changes add `{\"readOnly\": \"true\"}` to all properties that cannot be set by user (i.e. created_at, updated_at, links, id {usually, but not always}, status/state,). You can take https://opendev.org/openstack/keystone/src/branch/master/keystone/credential/schema.py#L47 as example. This makes it so much easier to consume such schemas for generating reasonable code","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"56c517d7_a4cb41a3","updated":"2024-12-10 18:56:59.000000000","message":"I\u0027m experiencing difficulties with the code generator for metadata routes. When I include the metadata query or body schema, the generator encounters errors across all metadata routes. Removing the schema prevents the unit tests from passing due to missing query schema requirements. Not sure what to do.","commit_id":"7a4c06dc1d512d8e2b2c199df0a1a91a9ad38c8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"0c5d79bf700037f0e0510a7c65249d566eff9817","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"60938687_019099e6","updated":"2024-12-17 21:48:39.000000000","message":"Thank you I\u0027ve push changes.","commit_id":"372c792a60bb64b1a342147e94914efdb2beaa19"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e20f3e1f5061cf9b6caa0a0ad036319d70ca614c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"a762b890_21b59ece","updated":"2025-01-17 16:29:55.000000000","message":"LGTM, thanks Jonathan","commit_id":"64841bd04ba1642c6ac80a71736a92ba862d0c7f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"180ed7d967766a1c5d58ff5a0b6302aca8cace6d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"9b7ed530_f16af942","updated":"2025-05-16 14:05:01.000000000","message":"recheck\nCI was broken a couple of days ago, let\u0027s get a clean run","commit_id":"64841bd04ba1642c6ac80a71736a92ba862d0c7f"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"1c46d9ed769006bd615b4e47e21ba1932eab644a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":20,"id":"26d2e7cf_5fe47981","updated":"2025-06-20 14:54:48.000000000","message":"recheck\nKnown issue in the share replicas testing","commit_id":"60b3e577ae0cdc912cb5755b093a8811f6eaba5c"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f6b7a424067b3effad804a37a85558ec65683e5b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"92290286_2ba22324","updated":"2025-08-29 14:54:59.000000000","message":"LGTM, thanks Jonathan!","commit_id":"25c721ca34d94f4f94d2f744dd95482a707c2eab"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"566b36bafa51ea29ef8d18771e9f7db95d96c6f9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"0063d671_52e8a7d5","updated":"2025-11-06 16:46:14.000000000","message":"Not much changed since the previous PS, and we had Goutham\u0027s blessing. Let\u0027s get this in","commit_id":"25c721ca34d94f4f94d2f744dd95482a707c2eab"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"0e6ae1c2a8abf0717f286a4006d4c6328df52dc4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"7620e6a4_723c0304","updated":"2025-06-27 14:53:52.000000000","message":"Thanks, removed extra deepcopy","commit_id":"25c721ca34d94f4f94d2f744dd95482a707c2eab"}],"manila/api/schemas/share_export_locations.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4c4e11d9e9467eafdb733d1b8527efc2bb23ffd","unresolved":true,"context_lines":[{"line_number":13,"context_line":"empty_request_query \u003d {"},{"line_number":14,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":15,"context_line":"    \u0027properties\u0027: {},"},{"line_number":16,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":17,"context_line":"}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"index_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"0cc2b42a_acd9be0e","line":16,"updated":"2024-08-26 17:03:47.000000000","message":"You can\u0027t do this yet. Unless there was an existing check in place that raised an error if a query string parameter was given, then you need to ignore them still. This must be `True` with a TODO to change it in the future.\n\nAlso, while it\u0027s a bit of duplication, having separate schemas would make things easier to modify when we eventually address that TODO. Something like:\n\n```\n_empty_request_query \u003d { ... }\n\nindex_request_query \u003d copy.deepcopy(_empty_request_query)\nshow_request_query \u003d copy.deepcopy(_empty_request_query)\n```\n\nwould work for me.","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":false,"context_lines":[{"line_number":13,"context_line":"empty_request_query \u003d {"},{"line_number":14,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":15,"context_line":"    \u0027properties\u0027: {},"},{"line_number":16,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":17,"context_line":"}"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"index_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"eadd27cf_85627e07","line":16,"in_reply_to":"0cc2b42a_acd9be0e","updated":"2024-08-27 19:36:53.000000000","message":"Done","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7ccfe758c28083acdb5b90b6ff2e77681ef83205","unresolved":true,"context_lines":[{"line_number":19,"context_line":"index_response_body \u003d {"},{"line_number":20,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":21,"context_line":"    \u0027properties\u0027: {"},{"line_number":22,"context_line":"        \u0027export_location\u0027: {"},{"line_number":23,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":24,"context_line":"            \u0027item\u0027: {"},{"line_number":25,"context_line":"                \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"58a74e05_6ab57176","line":22,"range":{"start_line":22,"start_character":9,"end_line":22,"end_character":24},"updated":"2024-08-23 17:59:55.000000000","message":"export_locations","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":false,"context_lines":[{"line_number":19,"context_line":"index_response_body \u003d {"},{"line_number":20,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":21,"context_line":"    \u0027properties\u0027: {"},{"line_number":22,"context_line":"        \u0027export_location\u0027: {"},{"line_number":23,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":24,"context_line":"            \u0027item\u0027: {"},{"line_number":25,"context_line":"                \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"0fc910e5_581aff37","line":22,"range":{"start_line":22,"start_character":9,"end_line":22,"end_character":24},"in_reply_to":"58a74e05_6ab57176","updated":"2024-08-27 19:36:53.000000000","message":"Done","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7ccfe758c28083acdb5b90b6ff2e77681ef83205","unresolved":true,"context_lines":[{"line_number":23,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":24,"context_line":"            \u0027item\u0027: {"},{"line_number":25,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":26,"context_line":"                \u0027properties\u0027: {"},{"line_number":27,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":28,"context_line":"                    \u0027is_admin_only\u0027: {\u0027type\u0027: \u0027boolean\u0027},"},{"line_number":29,"context_line":"                    \u0027path\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":2,"id":"85a75424_96b5c014","line":26,"range":{"start_line":26,"start_character":16,"end_line":26,"end_character":30},"updated":"2024-08-23 17:59:55.000000000","message":"Can you attempt to add \"descriptions\" for each of these like it was done here: https://review.opendev.org/c/openstack/manila/+/917155/12/manila/api/schemas/resource_locks.py","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":false,"context_lines":[{"line_number":23,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":24,"context_line":"            \u0027item\u0027: {"},{"line_number":25,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":26,"context_line":"                \u0027properties\u0027: {"},{"line_number":27,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":28,"context_line":"                    \u0027is_admin_only\u0027: {\u0027type\u0027: \u0027boolean\u0027},"},{"line_number":29,"context_line":"                    \u0027path\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":2,"id":"d730e0e7_b0591565","line":26,"range":{"start_line":26,"start_character":16,"end_line":26,"end_character":30},"in_reply_to":"85a75424_96b5c014","updated":"2024-08-27 19:36:53.000000000","message":"done like the model please let me know if there is an issue.","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a4aed65942d6e3ef7c1d5ecfe02f11aa34746f87","unresolved":false,"context_lines":[{"line_number":23,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":24,"context_line":"            \u0027item\u0027: {"},{"line_number":25,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":26,"context_line":"                \u0027properties\u0027: {"},{"line_number":27,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":28,"context_line":"                    \u0027is_admin_only\u0027: {\u0027type\u0027: \u0027boolean\u0027},"},{"line_number":29,"context_line":"                    \u0027path\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":2,"id":"8722adea_55558ad9","line":26,"range":{"start_line":26,"start_character":16,"end_line":26,"end_character":30},"in_reply_to":"d730e0e7_b0591565","updated":"2024-09-03 23:03:27.000000000","message":"in our weekly sync Artem brought up that this could add performance issues as it is a large look up as suggested waiting or adding string values. not sure which would be better.","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7ccfe758c28083acdb5b90b6ff2e77681ef83205","unresolved":true,"context_lines":[{"line_number":30,"context_line":"                    \u0027preferred\u0027: {\u0027type\u0027: \u0027boolean\u0027},"},{"line_number":31,"context_line":"                    \u0027share_instance_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":32,"context_line":"                },"},{"line_number":33,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027is_admin_only\u0027, \u0027path\u0027, \u0027preferred\u0027,"},{"line_number":34,"context_line":"                             \u0027share_instance_id\u0027],"},{"line_number":35,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":36,"context_line":"            }"},{"line_number":37,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff8b4b7f_18d2bb4b","line":34,"range":{"start_line":33,"start_character":28,"end_line":34,"end_character":49},"updated":"2024-08-23 17:59:55.000000000","message":"\"is_admin_only\" and \"share_instance_id\" are optionally set; \nyou\u0027re missing: \"created_at\", \"updated_at\" above in the properties and here in this list..","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"ffa66e4cb6639aae33a40cf9faba6481cb00e8d0","unresolved":false,"context_lines":[{"line_number":30,"context_line":"                    \u0027preferred\u0027: {\u0027type\u0027: \u0027boolean\u0027},"},{"line_number":31,"context_line":"                    \u0027share_instance_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":32,"context_line":"                },"},{"line_number":33,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027is_admin_only\u0027, \u0027path\u0027, \u0027preferred\u0027,"},{"line_number":34,"context_line":"                             \u0027share_instance_id\u0027],"},{"line_number":35,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":36,"context_line":"            }"},{"line_number":37,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":2,"id":"8d28dbe4_2dee1cf3","line":34,"range":{"start_line":33,"start_character":28,"end_line":34,"end_character":49},"in_reply_to":"6681199d_2ac2495c","updated":"2024-09-19 19:26:12.000000000","message":"Acknowledged","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":true,"context_lines":[{"line_number":30,"context_line":"                    \u0027preferred\u0027: {\u0027type\u0027: \u0027boolean\u0027},"},{"line_number":31,"context_line":"                    \u0027share_instance_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":32,"context_line":"                },"},{"line_number":33,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027is_admin_only\u0027, \u0027path\u0027, \u0027preferred\u0027,"},{"line_number":34,"context_line":"                             \u0027share_instance_id\u0027],"},{"line_number":35,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":36,"context_line":"            }"},{"line_number":37,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":2,"id":"6681199d_2ac2495c","line":34,"range":{"start_line":33,"start_character":28,"end_line":34,"end_character":49},"in_reply_to":"ff8b4b7f_18d2bb4b","updated":"2024-08-27 19:36:53.000000000","message":"It looks like this passes because I have the wrong top level prop. I\u0027ve updated the required props as suggested with the exception of preferred. Adding preferred cause test to fail. wanted to double check before I refactored the test.","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4c4e11d9e9467eafdb733d1b8527efc2bb23ffd","unresolved":true,"context_lines":[{"line_number":35,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":36,"context_line":"            }"},{"line_number":37,"context_line":"        }"},{"line_number":38,"context_line":"    }"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"show_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"030348c2_ce9c5f36","line":38,"updated":"2024-08-26 17:03:47.000000000","message":"You\u0027re missing `additionalProperties` and `required` here for the top-level object.","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":false,"context_lines":[{"line_number":35,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":36,"context_line":"            }"},{"line_number":37,"context_line":"        }"},{"line_number":38,"context_line":"    }"},{"line_number":39,"context_line":"}"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"show_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":2,"id":"d83c42e7_f4db4637","line":38,"in_reply_to":"030348c2_ce9c5f36","updated":"2024-08-27 19:36:53.000000000","message":"Done","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"7ccfe758c28083acdb5b90b6ff2e77681ef83205","unresolved":true,"context_lines":[{"line_number":52,"context_line":"                \u0027preferred\u0027: {\u0027type\u0027: \u0027boolean\u0027},"},{"line_number":53,"context_line":"                \u0027share_instance_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":54,"context_line":"            },"},{"line_number":55,"context_line":"            \u0027required\u0027: [\u0027created_at\u0027, \u0027id\u0027, \u0027path\u0027],"},{"line_number":56,"context_line":"            \u0027additionalProperties\u0027: False"},{"line_number":57,"context_line":"        }"},{"line_number":58,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":2,"id":"05d3ebaa_d9155d2a","line":55,"range":{"start_line":55,"start_character":24,"end_line":55,"end_character":51},"updated":"2024-08-23 17:59:55.000000000","message":"only \"share_instance_id\" and \"is_admin_only\" are optionally set by the API.. all the other fields above are required: https://github.com/openstack/manila/blob/4bf505404ae77a230f79841797e0ee41d2ada414/manila/api/views/export_locations.py#L30-L53","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                \u0027preferred\u0027: {\u0027type\u0027: \u0027boolean\u0027},"},{"line_number":53,"context_line":"                \u0027share_instance_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":54,"context_line":"            },"},{"line_number":55,"context_line":"            \u0027required\u0027: [\u0027created_at\u0027, \u0027id\u0027, \u0027path\u0027],"},{"line_number":56,"context_line":"            \u0027additionalProperties\u0027: False"},{"line_number":57,"context_line":"        }"},{"line_number":58,"context_line":"    },"}],"source_content_type":"text/x-python","patch_set":2,"id":"4ad01a5a_adcab06e","line":55,"range":{"start_line":55,"start_character":24,"end_line":55,"end_character":51},"in_reply_to":"05d3ebaa_d9155d2a","updated":"2024-08-27 19:36:53.000000000","message":"Done","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4c4e11d9e9467eafdb733d1b8527efc2bb23ffd","unresolved":true,"context_lines":[{"line_number":53,"context_line":"                \u0027share_instance_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":54,"context_line":"            },"},{"line_number":55,"context_line":"            \u0027required\u0027: [\u0027created_at\u0027, \u0027id\u0027, \u0027path\u0027],"},{"line_number":56,"context_line":"            \u0027additionalProperties\u0027: False"},{"line_number":57,"context_line":"        }"},{"line_number":58,"context_line":"    },"},{"line_number":59,"context_line":"    \u0027required\u0027: [\u0027export_location\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"4c2e9f8f_6f45943f","line":56,"updated":"2024-08-26 17:03:47.000000000","message":"nit: can you add trailing commas?","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":false,"context_lines":[{"line_number":53,"context_line":"                \u0027share_instance_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":54,"context_line":"            },"},{"line_number":55,"context_line":"            \u0027required\u0027: [\u0027created_at\u0027, \u0027id\u0027, \u0027path\u0027],"},{"line_number":56,"context_line":"            \u0027additionalProperties\u0027: False"},{"line_number":57,"context_line":"        }"},{"line_number":58,"context_line":"    },"},{"line_number":59,"context_line":"    \u0027required\u0027: [\u0027export_location\u0027],"}],"source_content_type":"text/x-python","patch_set":2,"id":"7b4bab32_786c5ea3","line":56,"in_reply_to":"4c2e9f8f_6f45943f","updated":"2024-08-27 19:36:53.000000000","message":"Done","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"29eacf3aa7525c0d148965630049493ac06088cd","unresolved":true,"context_lines":[{"line_number":9,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":"import copy"},{"line_number":13,"context_line":"from manila.api.validation import helpers"},{"line_number":14,"context_line":"empty_request_query \u003d {"},{"line_number":15,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":16,"context_line":"    \u0027properties\u0027: {},"}],"source_content_type":"text/x-python","patch_set":3,"id":"f5418822_be74d35f","line":13,"range":{"start_line":12,"start_character":0,"end_line":13,"end_character":41},"updated":"2024-09-04 05:48:37.000000000","message":"please add a blank line between these two import lines","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"ffa66e4cb6639aae33a40cf9faba6481cb00e8d0","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":10,"context_line":"# License for the specific language governing permissions and limitations"},{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":"import copy"},{"line_number":13,"context_line":"from manila.api.validation import helpers"},{"line_number":14,"context_line":"empty_request_query \u003d {"},{"line_number":15,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":16,"context_line":"    \u0027properties\u0027: {},"}],"source_content_type":"text/x-python","patch_set":3,"id":"08229156_07ecfbd9","line":13,"range":{"start_line":12,"start_character":0,"end_line":13,"end_character":41},"in_reply_to":"f5418822_be74d35f","updated":"2024-09-19 19:26:12.000000000","message":"Done","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"29eacf3aa7525c0d148965630049493ac06088cd","unresolved":true,"context_lines":[{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":"import copy"},{"line_number":13,"context_line":"from manila.api.validation import helpers"},{"line_number":14,"context_line":"empty_request_query \u003d {"},{"line_number":15,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":16,"context_line":"    \u0027properties\u0027: {},"},{"line_number":17,"context_line":"    \u0027required\u0027: [],"}],"source_content_type":"text/x-python","patch_set":3,"id":"3df9bb1e_220c2388","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":1},"updated":"2024-09-04 05:48:37.000000000","message":"please add two blank lines above this","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"ffa66e4cb6639aae33a40cf9faba6481cb00e8d0","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":"import copy"},{"line_number":13,"context_line":"from manila.api.validation import helpers"},{"line_number":14,"context_line":"empty_request_query \u003d {"},{"line_number":15,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":16,"context_line":"    \u0027properties\u0027: {},"},{"line_number":17,"context_line":"    \u0027required\u0027: [],"}],"source_content_type":"text/x-python","patch_set":3,"id":"184c61bb_a9d0ca81","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":1},"in_reply_to":"3df9bb1e_220c2388","updated":"2024-09-19 19:26:12.000000000","message":"Acknowledged","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"ffa66e4cb6639aae33a40cf9faba6481cb00e8d0","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# under the License."},{"line_number":12,"context_line":"import copy"},{"line_number":13,"context_line":"from manila.api.validation import helpers"},{"line_number":14,"context_line":"empty_request_query \u003d {"},{"line_number":15,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":16,"context_line":"    \u0027properties\u0027: {},"},{"line_number":17,"context_line":"    \u0027required\u0027: [],"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba2c21f5_24886110","line":14,"range":{"start_line":14,"start_character":0,"end_line":14,"end_character":1},"in_reply_to":"3df9bb1e_220c2388","updated":"2024-09-19 19:26:12.000000000","message":"Done","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a4aed65942d6e3ef7c1d5ecfe02f11aa34746f87","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                \u0027properties\u0027: {"},{"line_number":34,"context_line":"                    \u0027id\u0027: {"},{"line_number":35,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":36,"context_line":"                        \u0027description\u0027: helpers.description("},{"line_number":37,"context_line":"                            \u0027export_location_id\u0027)},"},{"line_number":38,"context_line":"                    \u0027is_admin_only\u0027: {"},{"line_number":39,"context_line":"                        \u0027type\u0027: \u0027boolean\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"19bd85ae_3956ef61","line":36,"updated":"2024-09-03 23:03:27.000000000","message":"@gouthampravi@gmail.com Is this how we want to do this? In our weekly sync, Artem mentioned that this would cause a performance issue and suggested pasting in strings.","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"29eacf3aa7525c0d148965630049493ac06088cd","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                \u0027properties\u0027: {"},{"line_number":34,"context_line":"                    \u0027id\u0027: {"},{"line_number":35,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":36,"context_line":"                        \u0027description\u0027: helpers.description("},{"line_number":37,"context_line":"                            \u0027export_location_id\u0027)},"},{"line_number":38,"context_line":"                    \u0027is_admin_only\u0027: {"},{"line_number":39,"context_line":"                        \u0027type\u0027: \u0027boolean\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"699425f4_72d31503","line":36,"in_reply_to":"19bd85ae_3956ef61","updated":"2024-09-04 05:48:37.000000000","message":"Ah, thanks for pointing that out.. it\u0027d be okay to sub the description here from the parameters.yaml file.. but, its a ton of duplication.\n\n\n@stephenfin@redhat.com @artem.goncharov@gmail.com: This is being done currently in the other schemas.. iiuc, will the API validation slow down because of this look up?","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"ffa66e4cb6639aae33a40cf9faba6481cb00e8d0","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                \u0027properties\u0027: {"},{"line_number":34,"context_line":"                    \u0027id\u0027: {"},{"line_number":35,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":36,"context_line":"                        \u0027description\u0027: helpers.description("},{"line_number":37,"context_line":"                            \u0027export_location_id\u0027)},"},{"line_number":38,"context_line":"                    \u0027is_admin_only\u0027: {"},{"line_number":39,"context_line":"                        \u0027type\u0027: \u0027boolean\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"05a0192a_b4a36989","line":36,"in_reply_to":"699425f4_72d31503","updated":"2024-09-19 19:26:12.000000000","message":"Acknowledged","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"ffa66e4cb6639aae33a40cf9faba6481cb00e8d0","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                \u0027properties\u0027: {"},{"line_number":34,"context_line":"                    \u0027id\u0027: {"},{"line_number":35,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":36,"context_line":"                        \u0027description\u0027: helpers.description("},{"line_number":37,"context_line":"                            \u0027export_location_id\u0027)},"},{"line_number":38,"context_line":"                    \u0027is_admin_only\u0027: {"},{"line_number":39,"context_line":"                        \u0027type\u0027: \u0027boolean\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"c10d4ce2_40a1c823","line":36,"in_reply_to":"699425f4_72d31503","updated":"2024-09-19 19:26:12.000000000","message":"Acknowledged","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a4aed65942d6e3ef7c1d5ecfe02f11aa34746f87","unresolved":true,"context_lines":[{"line_number":102,"context_line":"                        \u0027export_location_share_instance_id\u0027)},"},{"line_number":103,"context_line":"            },"},{"line_number":104,"context_line":"            \u0027description\u0027: helpers.description(\u0027export_location\u0027),"},{"line_number":105,"context_line":"            \u0027required\u0027: [\u0027id\u0027, \u0027created_at\u0027, \u0027path\u0027,"},{"line_number":106,"context_line":"                         \u0027updated_at\u0027],"},{"line_number":107,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":108,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":3,"id":"872a9582_c68064d1","line":105,"updated":"2024-09-03 23:03:27.000000000","message":"@gouthampravi@gmail.com are these the correct required props. My unit test error out when I add preferred.","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"29eacf3aa7525c0d148965630049493ac06088cd","unresolved":true,"context_lines":[{"line_number":102,"context_line":"                        \u0027export_location_share_instance_id\u0027)},"},{"line_number":103,"context_line":"            },"},{"line_number":104,"context_line":"            \u0027description\u0027: helpers.description(\u0027export_location\u0027),"},{"line_number":105,"context_line":"            \u0027required\u0027: [\u0027id\u0027, \u0027created_at\u0027, \u0027path\u0027,"},{"line_number":106,"context_line":"                         \u0027updated_at\u0027],"},{"line_number":107,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":108,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":3,"id":"d6bdd732_da1413d2","line":105,"in_reply_to":"872a9582_c68064d1","updated":"2024-09-04 05:48:37.000000000","message":"ah; preferred is added in version 2.14:\n\nhttps://github.com/openstack/manila/blob/97bf510bc033fdc0a3bdf038b5a8aa6768855641/manila/api/views/export_locations.py#L85-L89","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"ffa66e4cb6639aae33a40cf9faba6481cb00e8d0","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                        \u0027export_location_share_instance_id\u0027)},"},{"line_number":103,"context_line":"            },"},{"line_number":104,"context_line":"            \u0027description\u0027: helpers.description(\u0027export_location\u0027),"},{"line_number":105,"context_line":"            \u0027required\u0027: [\u0027id\u0027, \u0027created_at\u0027, \u0027path\u0027,"},{"line_number":106,"context_line":"                         \u0027updated_at\u0027],"},{"line_number":107,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":108,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aedbba7_c1b87e4d","line":105,"in_reply_to":"d6bdd732_da1413d2","updated":"2024-09-19 19:26:12.000000000","message":"Acknowledged","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"ffa66e4cb6639aae33a40cf9faba6481cb00e8d0","unresolved":false,"context_lines":[{"line_number":102,"context_line":"                        \u0027export_location_share_instance_id\u0027)},"},{"line_number":103,"context_line":"            },"},{"line_number":104,"context_line":"            \u0027description\u0027: helpers.description(\u0027export_location\u0027),"},{"line_number":105,"context_line":"            \u0027required\u0027: [\u0027id\u0027, \u0027created_at\u0027, \u0027path\u0027,"},{"line_number":106,"context_line":"                         \u0027updated_at\u0027],"},{"line_number":107,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":108,"context_line":"        }"}],"source_content_type":"text/x-python","patch_set":3,"id":"70dd8e07_f6fdb15a","line":105,"in_reply_to":"d6bdd732_da1413d2","updated":"2024-09-19 19:26:12.000000000","message":"Done","commit_id":"3b9b7393ede613b820d1a96f23d52efeb2b7feca"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3959cbb8be324f234d8489cd4abae3ccdf0de5b9","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import copy"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"empty_request_query \u003d {"},{"line_number":16,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":17,"context_line":"    \u0027properties\u0027: {},"},{"line_number":18,"context_line":"    \u0027required\u0027: [],"}],"source_content_type":"text/x-python","patch_set":6,"id":"934a9cee_d72c7744","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":19},"updated":"2024-09-23 17:05:58.000000000","message":"Can you prefix this with `_` so highlight the fact it\u0027s internal/private and not part of the exported \"API\" for this module?","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f9fa03e270d3760b01bf1095aeeaa8326a5104e7","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import copy"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"empty_request_query \u003d {"},{"line_number":16,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":17,"context_line":"    \u0027properties\u0027: {},"},{"line_number":18,"context_line":"    \u0027required\u0027: [],"}],"source_content_type":"text/x-python","patch_set":6,"id":"a6aab7af_411f6abb","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":19},"in_reply_to":"934a9cee_d72c7744","updated":"2024-09-27 05:58:30.000000000","message":"Acknowledged","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3959cbb8be324f234d8489cd4abae3ccdf0de5b9","unresolved":true,"context_lines":[{"line_number":17,"context_line":"    \u0027properties\u0027: {},"},{"line_number":18,"context_line":"    \u0027required\u0027: [],"},{"line_number":19,"context_line":"    # TODO(jonathan): Exclude additional query string parameters in a future"},{"line_number":20,"context_line":"    #  micro-version"},{"line_number":21,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":22,"context_line":"}"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"381b1d0c_b8f74aa1","line":20,"updated":"2024-09-23 17:05:58.000000000","message":"```suggestion\n    # microversion\n```\n\n(it\u0027s one word)","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f9fa03e270d3760b01bf1095aeeaa8326a5104e7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    \u0027properties\u0027: {},"},{"line_number":18,"context_line":"    \u0027required\u0027: [],"},{"line_number":19,"context_line":"    # TODO(jonathan): Exclude additional query string parameters in a future"},{"line_number":20,"context_line":"    #  micro-version"},{"line_number":21,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":22,"context_line":"}"},{"line_number":23,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"d01427b7_524c97df","line":20,"in_reply_to":"381b1d0c_b8f74aa1","updated":"2024-09-27 05:58:30.000000000","message":"I\u0027ll fix this and post an other patch.","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3959cbb8be324f234d8489cd4abae3ccdf0de5b9","unresolved":true,"context_lines":[{"line_number":24,"context_line":"index_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":25,"context_line":"show_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"metadata_request_query \u003d {"},{"line_number":28,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":29,"context_line":"    \u0027properties\u0027: {"},{"line_number":30,"context_line":"        \u0027metadata\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"65780427_02f6eaad","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":22},"updated":"2024-09-23 17:05:58.000000000","message":"As above, this should be private. Also, isn\u0027t this a body schema rather than a query schema?\n\n```suggestion\n_metadata_request_body \u003d {\n```","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f9fa03e270d3760b01bf1095aeeaa8326a5104e7","unresolved":false,"context_lines":[{"line_number":24,"context_line":"index_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":25,"context_line":"show_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"metadata_request_query \u003d {"},{"line_number":28,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":29,"context_line":"    \u0027properties\u0027: {"},{"line_number":30,"context_line":"        \u0027metadata\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"2172daa0_93f1f8ab","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":22},"in_reply_to":"65780427_02f6eaad","updated":"2024-09-27 05:58:30.000000000","message":"will double check","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3959cbb8be324f234d8489cd4abae3ccdf0de5b9","unresolved":true,"context_lines":[{"line_number":29,"context_line":"    \u0027properties\u0027: {"},{"line_number":30,"context_line":"        \u0027metadata\u0027: {"},{"line_number":31,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":32,"context_line":"            \u0027items\u0027: {"},{"line_number":33,"context_line":"                \u0027properties\u0027: {"},{"line_number":34,"context_line":"                    \u0027key\u0027: {"},{"line_number":35,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"abf470a4_2915f6aa","line":32,"updated":"2024-09-23 17:05:58.000000000","message":"`items` is for arrays, not for objects. I\u0027m guessing you need to drop this and bring `properties` up a level.\n\n```\n\u0027type\u0027: \u0027object\u0027,\n\u0027properties\u0027: {\n    ...\n}\n```","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f9fa03e270d3760b01bf1095aeeaa8326a5104e7","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    \u0027properties\u0027: {"},{"line_number":30,"context_line":"        \u0027metadata\u0027: {"},{"line_number":31,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":32,"context_line":"            \u0027items\u0027: {"},{"line_number":33,"context_line":"                \u0027properties\u0027: {"},{"line_number":34,"context_line":"                    \u0027key\u0027: {"},{"line_number":35,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"6fc0588b_e7ad9eaf","line":32,"in_reply_to":"abf470a4_2915f6aa","updated":"2024-09-27 05:58:30.000000000","message":"Acknowledged","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3959cbb8be324f234d8489cd4abae3ccdf0de5b9","unresolved":true,"context_lines":[{"line_number":31,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":32,"context_line":"            \u0027items\u0027: {"},{"line_number":33,"context_line":"                \u0027properties\u0027: {"},{"line_number":34,"context_line":"                    \u0027key\u0027: {"},{"line_number":35,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":36,"context_line":"                        \u0027api-ref\u0027: \u0027metadata-key-request\u0027,"},{"line_number":37,"context_line":"                    },"},{"line_number":38,"context_line":"                    \u0027value\u0027: {"},{"line_number":39,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":40,"context_line":"                    }"},{"line_number":41,"context_line":"                },"},{"line_number":42,"context_line":"                \u0027apiref\u0027: \u0027metadata-item\u0027"},{"line_number":43,"context_line":"            },"}],"source_content_type":"text/x-python","patch_set":6,"id":"d0981fc5_dab97484","line":40,"range":{"start_line":34,"start_character":0,"end_line":40,"end_character":21},"updated":"2024-09-23 17:05:58.000000000","message":"Question: Are `key` and `value` actual properties of this. That is, is this what we expect in a request:\n\n```\n{\n    \"key\": \"a string value\",\n    \"value\": \"another string value\",\n}\n```\n\nI\u0027m guessing it isn\u0027t and that you need to look at the definition of metadata from Nova that we shared on Friday?","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f9fa03e270d3760b01bf1095aeeaa8326a5104e7","unresolved":false,"context_lines":[{"line_number":31,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":32,"context_line":"            \u0027items\u0027: {"},{"line_number":33,"context_line":"                \u0027properties\u0027: {"},{"line_number":34,"context_line":"                    \u0027key\u0027: {"},{"line_number":35,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":36,"context_line":"                        \u0027api-ref\u0027: \u0027metadata-key-request\u0027,"},{"line_number":37,"context_line":"                    },"},{"line_number":38,"context_line":"                    \u0027value\u0027: {"},{"line_number":39,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":40,"context_line":"                    }"},{"line_number":41,"context_line":"                },"},{"line_number":42,"context_line":"                \u0027apiref\u0027: \u0027metadata-item\u0027"},{"line_number":43,"context_line":"            },"}],"source_content_type":"text/x-python","patch_set":6,"id":"74898680_e7073ce0","line":40,"range":{"start_line":34,"start_character":0,"end_line":40,"end_character":21},"in_reply_to":"d0981fc5_dab97484","updated":"2024-09-27 05:58:30.000000000","message":"I updated this. I followed the example that you shared.","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3959cbb8be324f234d8489cd4abae3ccdf0de5b9","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    #  micro-version"},{"line_number":52,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":53,"context_line":"}"},{"line_number":54,"context_line":"show_metadata_request_body \u003d copy.deepcopy(empty_request_query)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"show_all_metadata_request_body \u003d copy.deepcopy(metadata_request_query)"},{"line_number":57,"context_line":"create_metadata_request_query \u003d copy.deepcopy(metadata_request_query)"},{"line_number":58,"context_line":"update_metadata_request_body \u003d copy.deepcopy(metadata_request_query)"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"08ce0b9f_8614f69d","line":56,"range":{"start_line":54,"start_character":0,"end_line":56,"end_character":70},"updated":"2024-09-23 17:05:58.000000000","message":"You don\u0027t need to define a request body schema for `GET` operations (i.e. index and fetch, or \"get all\" and \"get one\") since HTTP GET calls don\u0027t typically include a body\n\nhttps://stackoverflow.com/questions/978061/http-get-with-request-body","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f9fa03e270d3760b01bf1095aeeaa8326a5104e7","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    #  micro-version"},{"line_number":52,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":53,"context_line":"}"},{"line_number":54,"context_line":"show_metadata_request_body \u003d copy.deepcopy(empty_request_query)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"show_all_metadata_request_body \u003d copy.deepcopy(metadata_request_query)"},{"line_number":57,"context_line":"create_metadata_request_query \u003d copy.deepcopy(metadata_request_query)"},{"line_number":58,"context_line":"update_metadata_request_body \u003d copy.deepcopy(metadata_request_query)"},{"line_number":59,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"64c84788_50af0d77","line":56,"range":{"start_line":54,"start_character":0,"end_line":56,"end_character":70},"in_reply_to":"08ce0b9f_8614f69d","updated":"2024-09-27 05:58:30.000000000","message":"Update to just to just validate query","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3959cbb8be324f234d8489cd4abae3ccdf0de5b9","unresolved":true,"context_lines":[{"line_number":54,"context_line":"show_metadata_request_body \u003d copy.deepcopy(empty_request_query)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"show_all_metadata_request_body \u003d copy.deepcopy(metadata_request_query)"},{"line_number":57,"context_line":"create_metadata_request_query \u003d copy.deepcopy(metadata_request_query)"},{"line_number":58,"context_line":"update_metadata_request_body \u003d copy.deepcopy(metadata_request_query)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"update_all_metadata_request_body \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"6e508c2b_27bc22b0","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":29},"updated":"2024-09-23 17:05:58.000000000","message":"Is this a request query schema or a request body schema? I think it\u0027s the latter but I\u0027m not sure.\n\nYou need to pay a little more attention to naming because this is a little confusing 🙈","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f9fa03e270d3760b01bf1095aeeaa8326a5104e7","unresolved":false,"context_lines":[{"line_number":54,"context_line":"show_metadata_request_body \u003d copy.deepcopy(empty_request_query)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"show_all_metadata_request_body \u003d copy.deepcopy(metadata_request_query)"},{"line_number":57,"context_line":"create_metadata_request_query \u003d copy.deepcopy(metadata_request_query)"},{"line_number":58,"context_line":"update_metadata_request_body \u003d copy.deepcopy(metadata_request_query)"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"update_all_metadata_request_body \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"fe99bb59_a5e015fe","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":29},"in_reply_to":"6e508c2b_27bc22b0","updated":"2024-09-27 05:58:30.000000000","message":"I\u0027m also confused. Apologizes. this is resolved.","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3959cbb8be324f234d8489cd4abae3ccdf0de5b9","unresolved":true,"context_lines":[{"line_number":62,"context_line":"    \u0027properties\u0027: {"},{"line_number":63,"context_line":"        \u0027metadata\u0027: {"},{"line_number":64,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":65,"context_line":"            \u0027items\u0027: {"},{"line_number":66,"context_line":"                \u0027properties\u0027: {"},{"line_number":67,"context_line":"                    \u0027key\u0027: {"},{"line_number":68,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":69,"context_line":"                        \u0027api-ref\u0027: \u0027metadata-key-request\u0027,"},{"line_number":70,"context_line":"                    },"},{"line_number":71,"context_line":"                    \u0027value\u0027: {"},{"line_number":72,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":73,"context_line":"                    }"},{"line_number":74,"context_line":"                },"},{"line_number":75,"context_line":"                \u0027apiref\u0027: \u0027metadate-item\u0027"},{"line_number":76,"context_line":"            },"},{"line_number":77,"context_line":"            # NOTE(jonathan) if key + value is null will delete metadata"}],"source_content_type":"text/x-python","patch_set":6,"id":"c9f78479_85665e78","line":74,"range":{"start_line":65,"start_character":0,"end_line":74,"end_character":18},"updated":"2024-09-23 17:05:58.000000000","message":"Same comments as above RE: use of `items` and whether `key` and `value` are real properties or not.","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f9fa03e270d3760b01bf1095aeeaa8326a5104e7","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    \u0027properties\u0027: {"},{"line_number":63,"context_line":"        \u0027metadata\u0027: {"},{"line_number":64,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":65,"context_line":"            \u0027items\u0027: {"},{"line_number":66,"context_line":"                \u0027properties\u0027: {"},{"line_number":67,"context_line":"                    \u0027key\u0027: {"},{"line_number":68,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":69,"context_line":"                        \u0027api-ref\u0027: \u0027metadata-key-request\u0027,"},{"line_number":70,"context_line":"                    },"},{"line_number":71,"context_line":"                    \u0027value\u0027: {"},{"line_number":72,"context_line":"                        \u0027type\u0027: \u0027string\u0027,"},{"line_number":73,"context_line":"                    }"},{"line_number":74,"context_line":"                },"},{"line_number":75,"context_line":"                \u0027apiref\u0027: \u0027metadate-item\u0027"},{"line_number":76,"context_line":"            },"},{"line_number":77,"context_line":"            # NOTE(jonathan) if key + value is null will delete metadata"}],"source_content_type":"text/x-python","patch_set":6,"id":"a293392b_c560013b","line":74,"range":{"start_line":65,"start_character":0,"end_line":74,"end_character":18},"in_reply_to":"c9f78479_85665e78","updated":"2024-09-27 05:58:30.000000000","message":"Acknowledged","commit_id":"e87ddb892d69e87224d50d8618d1196939bcdb8a"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"3c18a6d4696564d31b7138c3e69b0d7f605fc2e3","unresolved":true,"context_lines":[{"line_number":15,"context_line":"empty_request_query \u003d {"},{"line_number":16,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":17,"context_line":"    \u0027properties\u0027: {},"},{"line_number":18,"context_line":"    \u0027required\u0027: [],"},{"line_number":19,"context_line":"    # TODO(jonathan): Exclude additional query string parameters in a future"},{"line_number":20,"context_line":"    #  micro-version"},{"line_number":21,"context_line":"    \u0027additionalProperties\u0027: True,"}],"source_content_type":"text/x-python","patch_set":8,"id":"e461b3e6_0e0af4ae","line":18,"updated":"2024-10-11 16:05:29.000000000","message":"no need for empty `required`, actually even empty `properties` are not required","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"empty_request_query \u003d {"},{"line_number":16,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":17,"context_line":"    \u0027properties\u0027: {},"},{"line_number":18,"context_line":"    \u0027required\u0027: [],"},{"line_number":19,"context_line":"    # TODO(jonathan): Exclude additional query string parameters in a future"},{"line_number":20,"context_line":"    #  micro-version"},{"line_number":21,"context_line":"    \u0027additionalProperties\u0027: True,"}],"source_content_type":"text/x-python","patch_set":8,"id":"15f3b08e_cfd463c1","line":18,"in_reply_to":"e461b3e6_0e0af4ae","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"3c18a6d4696564d31b7138c3e69b0d7f605fc2e3","unresolved":true,"context_lines":[{"line_number":36,"context_line":"        },"},{"line_number":37,"context_line":"        # TODO(jonathan): Exclude additional query string parameters in a"},{"line_number":38,"context_line":"        #  future micro-version"},{"line_number":39,"context_line":"        \u0027required\u0027: [],"},{"line_number":40,"context_line":"        \u0027additionalProperties\u0027: False,"},{"line_number":41,"context_line":"    }"},{"line_number":42,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":8,"id":"e77c264a_ba2ac68b","line":39,"updated":"2024-10-11 16:05:29.000000000","message":"required and additionalProps are wrongly indented, that must be outside of the \"properties\"","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        },"},{"line_number":37,"context_line":"        # TODO(jonathan): Exclude additional query string parameters in a"},{"line_number":38,"context_line":"        #  future micro-version"},{"line_number":39,"context_line":"        \u0027required\u0027: [],"},{"line_number":40,"context_line":"        \u0027additionalProperties\u0027: False,"},{"line_number":41,"context_line":"    }"},{"line_number":42,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":8,"id":"dee41fec_9c6ee649","line":39,"in_reply_to":"e77c264a_ba2ac68b","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"3c18a6d4696564d31b7138c3e69b0d7f605fc2e3","unresolved":true,"context_lines":[{"line_number":54,"context_line":"            \u0027apiref\u0027: \u0027metadata-query\u0027,"},{"line_number":55,"context_line":"        },"},{"line_number":56,"context_line":"    },"},{"line_number":57,"context_line":"    \u0027required\u0027: [],"},{"line_number":58,"context_line":"    # TODO(jonathan): Exclude additional query string parameters in a"},{"line_number":59,"context_line":"    #  future micro-version"},{"line_number":60,"context_line":"    \u0027additionalProperties\u0027: True,"}],"source_content_type":"text/x-python","patch_set":8,"id":"c6e54381_a2b15d6f","line":57,"updated":"2024-10-11 16:05:29.000000000","message":"drop empty required","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            \u0027apiref\u0027: \u0027metadata-query\u0027,"},{"line_number":55,"context_line":"        },"},{"line_number":56,"context_line":"    },"},{"line_number":57,"context_line":"    \u0027required\u0027: [],"},{"line_number":58,"context_line":"    # TODO(jonathan): Exclude additional query string parameters in a"},{"line_number":59,"context_line":"    #  future micro-version"},{"line_number":60,"context_line":"    \u0027additionalProperties\u0027: True,"}],"source_content_type":"text/x-python","patch_set":8,"id":"c013a7b3_b7b39c59","line":57,"in_reply_to":"c6e54381_a2b15d6f","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"3c18a6d4696564d31b7138c3e69b0d7f605fc2e3","unresolved":true,"context_lines":[{"line_number":70,"context_line":"                \u0027apiref\u0027: \u0027metadata_key_path\u0027,"},{"line_number":71,"context_line":"            },"},{"line_number":72,"context_line":"        },"},{"line_number":73,"context_line":"        # TODO(jonathan): Exclude additional query string parameters in a"},{"line_number":74,"context_line":"        #  future micro-version"},{"line_number":75,"context_line":"        \u0027required\u0027: [],"},{"line_number":76,"context_line":"        \u0027additionalProperties\u0027: False,"}],"source_content_type":"text/x-python","patch_set":8,"id":"2eeaa2aa_cdbc6744","line":73,"updated":"2024-10-11 16:05:29.000000000","message":"wrong indentation of required (to be dropped) and additionalProperties","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"                \u0027apiref\u0027: \u0027metadata_key_path\u0027,"},{"line_number":71,"context_line":"            },"},{"line_number":72,"context_line":"        },"},{"line_number":73,"context_line":"        # TODO(jonathan): Exclude additional query string parameters in a"},{"line_number":74,"context_line":"        #  future micro-version"},{"line_number":75,"context_line":"        \u0027required\u0027: [],"},{"line_number":76,"context_line":"        \u0027additionalProperties\u0027: False,"}],"source_content_type":"text/x-python","patch_set":8,"id":"98b14155_584892cd","line":73,"in_reply_to":"2eeaa2aa_cdbc6744","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"3c18a6d4696564d31b7138c3e69b0d7f605fc2e3","unresolved":true,"context_lines":[{"line_number":82,"context_line":"    \u0027properties\u0027: {"},{"line_number":83,"context_line":"        \u0027export_locations\u0027: {"},{"line_number":84,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":85,"context_line":"            \u0027item\u0027: {"},{"line_number":86,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":87,"context_line":"                \u0027properties\u0027: {"},{"line_number":88,"context_line":"                    \u0027id\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"a058e4f9_913ac136","line":85,"updated":"2024-10-11 16:05:29.000000000","message":"should be \"items\"","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    \u0027properties\u0027: {"},{"line_number":83,"context_line":"        \u0027export_locations\u0027: {"},{"line_number":84,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":85,"context_line":"            \u0027item\u0027: {"},{"line_number":86,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":87,"context_line":"                \u0027properties\u0027: {"},{"line_number":88,"context_line":"                    \u0027id\u0027: {"}],"source_content_type":"text/x-python","patch_set":8,"id":"e8be5028_99f50d7f","line":85,"in_reply_to":"a058e4f9_913ac136","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"3c18a6d4696564d31b7138c3e69b0d7f605fc2e3","unresolved":true,"context_lines":[{"line_number":114,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":115,"context_line":"            },"},{"line_number":116,"context_line":"        },"},{"line_number":117,"context_line":"        \u0027required\u0027: [\u0027export_locations\u0027],"},{"line_number":118,"context_line":"        \u0027additionalProperties\u0027: False,"},{"line_number":119,"context_line":"        \u0027x-openstack\u0027: {"},{"line_number":120,"context_line":"            \u0027apiref\u0027: \u0027export_locations\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5a983221_1f189a95","line":117,"updated":"2024-10-11 16:05:29.000000000","message":"again wrong indentation","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":115,"context_line":"            },"},{"line_number":116,"context_line":"        },"},{"line_number":117,"context_line":"        \u0027required\u0027: [\u0027export_locations\u0027],"},{"line_number":118,"context_line":"        \u0027additionalProperties\u0027: False,"},{"line_number":119,"context_line":"        \u0027x-openstack\u0027: {"},{"line_number":120,"context_line":"            \u0027apiref\u0027: \u0027export_locations\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"2ed20efc_60eb65cc","line":117,"in_reply_to":"5a983221_1f189a95","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"3c18a6d4696564d31b7138c3e69b0d7f605fc2e3","unresolved":true,"context_lines":[{"line_number":158,"context_line":"                    },"},{"line_number":159,"context_line":"                },"},{"line_number":160,"context_line":"                \u0027updated_at\u0027: {"},{"line_number":161,"context_line":"                    \u0027type\u0027: \u0027string\u0027,"},{"line_number":162,"context_line":"                    \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":163,"context_line":"                    \u0027x-openstack\u0027: {"},{"line_number":164,"context_line":"                        \u0027apiref\u0027: \u0027updated_at\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"f6a9077d_d3b82f89","line":161,"updated":"2024-10-11 16:05:29.000000000","message":"I strongly assume `updated_at` can be null on response","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":158,"context_line":"                    },"},{"line_number":159,"context_line":"                },"},{"line_number":160,"context_line":"                \u0027updated_at\u0027: {"},{"line_number":161,"context_line":"                    \u0027type\u0027: \u0027string\u0027,"},{"line_number":162,"context_line":"                    \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":163,"context_line":"                    \u0027x-openstack\u0027: {"},{"line_number":164,"context_line":"                        \u0027apiref\u0027: \u0027updated_at\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ed43283a_4ecf65e9","line":161,"in_reply_to":"f6a9077d_d3b82f89","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"3c18a6d4696564d31b7138c3e69b0d7f605fc2e3","unresolved":true,"context_lines":[{"line_number":219,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":220,"context_line":"    \u0027properties\u0027: {"},{"line_number":221,"context_line":"        \u0027metadata\u0027: {"},{"line_number":222,"context_line":"            \u0027oneOf\u0027: [{"},{"line_number":223,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":224,"context_line":"                \u0027patternProperties\u0027: {"},{"line_number":225,"context_line":"                    \u0027^[a-zA-Z0-9-_:. ]{1,255}$\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":8,"id":"c433e874_4eee2e25","line":222,"updated":"2024-10-11 16:05:29.000000000","message":"actually you should be able to simply use `type: [object, null]` without wrapping into oneOf.","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":219,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":220,"context_line":"    \u0027properties\u0027: {"},{"line_number":221,"context_line":"        \u0027metadata\u0027: {"},{"line_number":222,"context_line":"            \u0027oneOf\u0027: [{"},{"line_number":223,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":224,"context_line":"                \u0027patternProperties\u0027: {"},{"line_number":225,"context_line":"                    \u0027^[a-zA-Z0-9-_:. ]{1,255}$\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":8,"id":"772d03c8_93cb9606","line":222,"in_reply_to":"c433e874_4eee2e25","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"3c18a6d4696564d31b7138c3e69b0d7f605fc2e3","unresolved":true,"context_lines":[{"line_number":233,"context_line":"        \u0027x-openstack\u0027: {"},{"line_number":234,"context_line":"            \u0027apiref\u0027: \u0027metadata\u0027,"},{"line_number":235,"context_line":"        },"},{"line_number":236,"context_line":"        \u0027required\u0027: [\u0027metadata\u0027],"},{"line_number":237,"context_line":"        \u0027additionalProperties\u0027: False,"},{"line_number":238,"context_line":"    }"},{"line_number":239,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":8,"id":"77244b74_fd7cce03","line":236,"updated":"2024-10-11 16:05:29.000000000","message":"again required and additionalProperties are wrongly indented","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":233,"context_line":"        \u0027x-openstack\u0027: {"},{"line_number":234,"context_line":"            \u0027apiref\u0027: \u0027metadata\u0027,"},{"line_number":235,"context_line":"        },"},{"line_number":236,"context_line":"        \u0027required\u0027: [\u0027metadata\u0027],"},{"line_number":237,"context_line":"        \u0027additionalProperties\u0027: False,"},{"line_number":238,"context_line":"    }"},{"line_number":239,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":8,"id":"668ced53_8c67a54a","line":236,"in_reply_to":"77244b74_fd7cce03","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"79637ed0b78403fb49182e7f5e2ea303f90b1609"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"deb05f83b805b479cb14e75e571ea798428c4c14","unresolved":true,"context_lines":[{"line_number":28,"context_line":"show_metadata_request_body \u003d {"},{"line_number":29,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":30,"context_line":"    \u0027properties\u0027: {"},{"line_number":31,"context_line":"        \u0027key\u0027: {"},{"line_number":32,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":33,"context_line":"            \u0027x-openstack\u0027: {"},{"line_number":34,"context_line":"                \u0027apiref\u0027: \u0027metadata_key_path\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"32701bb6_dd862ba2","line":31,"updated":"2024-12-05 11:21:14.000000000","message":"You see an absolutely weird error in the codegenerator, but it comes from openapi validator. Reason is that your spec look like that:\n```\n  /shares/{share_id}/export_locations/{resource_id}/metadata/{key}:\n    parameters:\n      - $ref: \u0027#/components/parameters/shares_export_locations_metadata_share_id\u0027\n      - $ref: \u0027#/components/parameters/shares_export_locations_metadata_resource_id\u0027\n      - $ref: \u0027#/components/parameters/shares_export_locations_metadata_key\u0027\n    get:\n      parameters:\n        - $ref: \u0027#/components/parameters/shares_export_locations_metadata_key\u0027\n```\nSee the `shares_export_locations_metadata_key` present twice. Reason is that `key` is a path parameter and not query. All path params are automatically registered as such and you add it one more time what conflicts since those reuse the same name following the naming convention.","commit_id":"4c68a63bd311d968989e0e31bf48459cdcecbaa2"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":false,"context_lines":[{"line_number":28,"context_line":"show_metadata_request_body \u003d {"},{"line_number":29,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":30,"context_line":"    \u0027properties\u0027: {"},{"line_number":31,"context_line":"        \u0027key\u0027: {"},{"line_number":32,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":33,"context_line":"            \u0027x-openstack\u0027: {"},{"line_number":34,"context_line":"                \u0027apiref\u0027: \u0027metadata_key_path\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"e59e2305_9b1c1bcc","line":31,"in_reply_to":"32701bb6_dd862ba2","updated":"2024-12-10 18:56:59.000000000","message":"Done","commit_id":"4c68a63bd311d968989e0e31bf48459cdcecbaa2"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eb25e8b4bbde95199f6d2388354f7f6f2d6d916a","unresolved":true,"context_lines":[{"line_number":20,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":21,"context_line":"}"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"index_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":24,"context_line":"show_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":25,"context_line":"index_metadata_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":26,"context_line":"show_metadata_request_query \u003d copy.deepcopy(empty_request_query)"}],"source_content_type":"text/x-python","patch_set":18,"id":"29d25725_fb7673e9","line":23,"range":{"start_line":23,"start_character":27,"end_line":23,"end_character":35},"updated":"2025-05-02 06:18:14.000000000","message":"do we really need deepcopy?\nschemas are not expected to be altered, could we just use \"empty_request_query\" everywhere directly, or just assign the value like you\u0027re doing between lines","commit_id":"64841bd04ba1642c6ac80a71736a92ba862d0c7f"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"0e6ae1c2a8abf0717f286a4006d4c6328df52dc4","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":21,"context_line":"}"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"index_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":24,"context_line":"show_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":25,"context_line":"index_metadata_request_query \u003d copy.deepcopy(empty_request_query)"},{"line_number":26,"context_line":"show_metadata_request_query \u003d copy.deepcopy(empty_request_query)"}],"source_content_type":"text/x-python","patch_set":18,"id":"deeae387_d580cfdb","line":23,"range":{"start_line":23,"start_character":27,"end_line":23,"end_character":35},"in_reply_to":"29d25725_fb7673e9","updated":"2025-06-27 14:53:52.000000000","message":"Acknowledged","commit_id":"64841bd04ba1642c6ac80a71736a92ba862d0c7f"}],"manila/api/v2/share_export_locations.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4c4e11d9e9467eafdb733d1b8527efc2bb23ffd","unresolved":true,"context_lines":[{"line_number":81,"context_line":"        \"\"\"Return a list of export locations for share.\"\"\""},{"line_number":82,"context_line":"        return self._index(req, share_id)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    @wsgi.Controller.api_version(\u00272.47\u0027)"},{"line_number":85,"context_line":"    @validation.request_query_schema(schema.empty_request_query)"},{"line_number":86,"context_line":"    @validation.response_body_schema(schema.index_response_body)"},{"line_number":87,"context_line":"    def index(self, req, share_id):  # pylint: disable\u003dfunction-redefined  # noqa F811"}],"source_content_type":"text/x-python","patch_set":2,"id":"3aee08ca_3fa662d8","line":84,"updated":"2024-08-26 17:03:47.000000000","message":"Could you add a note here that the schemas haven\u0027t changed, and all that\u0027s changed is that more resources are included now?\n\n```\n    # NOTE(jonathon): The new microversion removes secondary replicas from\n    # the results but doesn\u0027t change the schema, so we can re-use the schema\n```","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        \"\"\"Return a list of export locations for share.\"\"\""},{"line_number":82,"context_line":"        return self._index(req, share_id)"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"    @wsgi.Controller.api_version(\u00272.47\u0027)"},{"line_number":85,"context_line":"    @validation.request_query_schema(schema.empty_request_query)"},{"line_number":86,"context_line":"    @validation.response_body_schema(schema.index_response_body)"},{"line_number":87,"context_line":"    def index(self, req, share_id):  # pylint: disable\u003dfunction-redefined  # noqa F811"}],"source_content_type":"text/x-python","patch_set":2,"id":"108196c8_bc1f965e","line":84,"in_reply_to":"3aee08ca_3fa662d8","updated":"2024-08-27 19:36:53.000000000","message":"Done","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e4c4e11d9e9467eafdb733d1b8527efc2bb23ffd","unresolved":true,"context_lines":[{"line_number":96,"context_line":"        \"\"\"Return data about the requested export location.\"\"\""},{"line_number":97,"context_line":"        return self._show(req, share_id, export_location_uuid)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    @wsgi.Controller.api_version(\u00272.47\u0027)  # noqa: F811"},{"line_number":100,"context_line":"    @validation.request_query_schema(schema.empty_request_query)"},{"line_number":101,"context_line":"    @validation.response_body_schema(schema.show_response_body)"},{"line_number":102,"context_line":"    def show(self, req, share_id,  # pylint: disable\u003dfunction-redefined  # noqa F811"}],"source_content_type":"text/x-python","patch_set":2,"id":"d1baf3e9_7968f4b7","line":99,"updated":"2024-08-26 17:03:47.000000000","message":"As above, a comment about identical schemas would be helpful here.","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"d04109919445b31e8724cba43d9309c4ef5173e3","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        \"\"\"Return data about the requested export location.\"\"\""},{"line_number":97,"context_line":"        return self._show(req, share_id, export_location_uuid)"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"    @wsgi.Controller.api_version(\u00272.47\u0027)  # noqa: F811"},{"line_number":100,"context_line":"    @validation.request_query_schema(schema.empty_request_query)"},{"line_number":101,"context_line":"    @validation.response_body_schema(schema.show_response_body)"},{"line_number":102,"context_line":"    def show(self, req, share_id,  # pylint: disable\u003dfunction-redefined  # noqa F811"}],"source_content_type":"text/x-python","patch_set":2,"id":"88b07d26_8fc7f485","line":99,"in_reply_to":"d1baf3e9_7968f4b7","updated":"2024-08-27 19:36:53.000000000","message":"Done","commit_id":"6dfb8e5a0094a161f2f8d28735c4bf7171f009aa"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"deb05f83b805b479cb14e75e571ea798428c4c14","unresolved":true,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    @wsgi.Controller.api_version(\"2.87\")"},{"line_number":207,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":208,"context_line":"    @validation.request_query_schema(schema.show_metadata_request_body)"},{"line_number":209,"context_line":"    @validation.response_body_schema(schema.show_metadata_response_body)"},{"line_number":210,"context_line":"    def show_metadata(self, req, share_id, resource_id, key):"},{"line_number":211,"context_line":"        \"\"\"Show metadata for a given share export location.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"a0fc84d5_7ccfe153","line":208,"updated":"2024-12-05 11:21:14.000000000","message":"I guess actually the real issue is that you pass \"body\" as request_query_schema.\n1) there is no body for `show` operation\n2) this operation does not support any query params","commit_id":"4c68a63bd311d968989e0e31bf48459cdcecbaa2"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a629f619e63b81ae75cf2800da5f4fb13ea8c56d","unresolved":true,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    @wsgi.Controller.api_version(\"2.87\")"},{"line_number":207,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":208,"context_line":"    @validation.request_query_schema(schema.show_metadata_request_body)"},{"line_number":209,"context_line":"    @validation.response_body_schema(schema.show_metadata_response_body)"},{"line_number":210,"context_line":"    def show_metadata(self, req, share_id, resource_id, key):"},{"line_number":211,"context_line":"        \"\"\"Show metadata for a given share export location.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"e39c5343_d711451a","line":208,"in_reply_to":"a0fc84d5_7ccfe153","updated":"2024-12-10 18:56:59.000000000","message":"There is a request query because the unit test will through and error if request_query_schema doesn\u0027t have a value.","commit_id":"4c68a63bd311d968989e0e31bf48459cdcecbaa2"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"8cd030eacc65c9ca98e69f299b4e7cb267e0f8df","unresolved":false,"context_lines":[{"line_number":205,"context_line":""},{"line_number":206,"context_line":"    @wsgi.Controller.api_version(\"2.87\")"},{"line_number":207,"context_line":"    @wsgi.Controller.authorize(\"get_metadata\")"},{"line_number":208,"context_line":"    @validation.request_query_schema(schema.show_metadata_request_body)"},{"line_number":209,"context_line":"    @validation.response_body_schema(schema.show_metadata_response_body)"},{"line_number":210,"context_line":"    def show_metadata(self, req, share_id, resource_id, key):"},{"line_number":211,"context_line":"        \"\"\"Show metadata for a given share export location.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"a963bff0_90d69427","line":208,"in_reply_to":"e39c5343_d711451a","updated":"2024-12-10 18:57:36.000000000","message":"Done","commit_id":"4c68a63bd311d968989e0e31bf48459cdcecbaa2"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"7b744eb0a17220d62726b3f1a444fccd37dbadb9","unresolved":true,"context_lines":[{"line_number":96,"context_line":"    # NOTE(jonathon): The new microversion removes secondary replicas from"},{"line_number":97,"context_line":"    # the results but doesn\u0027t change the schema, so we can re-use the schema"},{"line_number":98,"context_line":"    @validation.request_query_schema(schema.show_request_query)"},{"line_number":99,"context_line":"    @validation.response_body_schema(schema.index_response_body_v214)"},{"line_number":100,"context_line":"    def index(self, req, share_id):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":101,"context_line":"        \"\"\"Return a list of export locations for share.\"\"\""},{"line_number":102,"context_line":"        return self._index(req, share_id,"}],"source_content_type":"text/x-python","patch_set":14,"id":"328fb738_ebe14636","line":99,"updated":"2024-12-13 16:52:34.000000000","message":"you should adapt the microversion constraints of the response body with _v214 used for 2.47 till 2.86 and  _v287 for 2.87...","commit_id":"3b56c1e2319abf4854903cd5eb09689f230df63f"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"0c5d79bf700037f0e0510a7c65249d566eff9817","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    # NOTE(jonathon): The new microversion removes secondary replicas from"},{"line_number":97,"context_line":"    # the results but doesn\u0027t change the schema, so we can re-use the schema"},{"line_number":98,"context_line":"    @validation.request_query_schema(schema.show_request_query)"},{"line_number":99,"context_line":"    @validation.response_body_schema(schema.index_response_body_v214)"},{"line_number":100,"context_line":"    def index(self, req, share_id):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":101,"context_line":"        \"\"\"Return a list of export locations for share.\"\"\""},{"line_number":102,"context_line":"        return self._index(req, share_id,"}],"source_content_type":"text/x-python","patch_set":14,"id":"e0a91db1_2a112bb6","line":99,"in_reply_to":"328fb738_ebe14636","updated":"2024-12-17 21:48:39.000000000","message":"Done","commit_id":"3b56c1e2319abf4854903cd5eb09689f230df63f"}]}
