)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d22dd857764d4d1dba6d4cde40f3797e431a482e","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-17 19:18:58 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding OpenAPi Shemas to User Massages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"aca0f718_948f7f2d","line":7,"range":{"start_line":7,"start_character":30,"end_line":7,"end_character":38},"updated":"2024-07-18 23:49:06.000000000","message":"Messages","commit_id":"20af6682c7152a7a1c04b8c55f3d2ace3cdf36db"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-17 19:18:58 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding OpenAPi Shemas to User Massages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3dc545fd_ff4e8637","line":7,"range":{"start_line":7,"start_character":30,"end_line":7,"end_character":38},"in_reply_to":"aca0f718_948f7f2d","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"20af6682c7152a7a1c04b8c55f3d2ace3cdf36db"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-19 10:33:32 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding OpenAPi Shemas to User Massages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"1028bb66_1884ae7f","line":7,"updated":"2024-07-22 13:38:56.000000000","message":"```suggestion\nAdd OpenAPI schemas for user messages\n```","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"e38a5c59b7f56a6a4590c0c5efdaadab7d36aa76","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-19 10:33:32 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding OpenAPi Shemas to User Massages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"22b9e979_091e558f","line":7,"in_reply_to":"1028bb66_1884ae7f","updated":"2024-07-24 01:44:35.000000000","message":"Done","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-19 10:33:32 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding OpenAPi Shemas to User Massages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"fad41e7f_0ddbf050","line":7,"in_reply_to":"22b9e979_091e558f","updated":"2024-07-25 11:44:05.000000000","message":"Not done?","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-19 10:33:32 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding OpenAPi Shemas to User Massages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":17,"id":"1bb10b0d_5a3c9b86","line":7,"in_reply_to":"fad41e7f_0ddbf050","updated":"2024-07-26 06:28:46.000000000","message":"It didn\u0027t occur to me that  I need to change it in my local too. It kept changing it back.","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"cae223cbc13005c658102904db3238a24c8daf2a","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-25 22:58:22 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding OpenAPi Shemas to User Massages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"66bb810b_fa4ea228","line":7,"updated":"2024-07-26 12:14:50.000000000","message":"you still have the typo in the message","commit_id":"8673cfafe9895715392e8206be492d3af154ed75"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"6b6bcaac3c86dc15a7a7592e30f649af4023e1f0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-25 22:58:22 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding OpenAPi Shemas to User Massages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":21,"id":"53baca68_fdcb312b","line":7,"in_reply_to":"66bb810b_fa4ea228","updated":"2024-07-28 06:11:50.000000000","message":"Done","commit_id":"8673cfafe9895715392e8206be492d3af154ed75"},{"author":{"_account_id":27900,"name":"Artem Goncharov","email":"artem.goncharov@gmail.com","username":"gtema"},"change_message_id":"c0b8a51d1df03dd9b101188f6fb3a559119cdfa1","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-26 10:07:49 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add OpenAPi Shemas to user mesxsages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"8b863062_e6d044d9","line":7,"updated":"2024-07-26 17:14:41.000000000","message":"and now you again introduced typo. btw, it should be OpenAPI","commit_id":"a83ed075b8c336e05753900ca03af589f4dead5c"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"6b6bcaac3c86dc15a7a7592e30f649af4023e1f0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     JonathanKoerber \u003cjonathankoerber@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-07-26 10:07:49 -0700"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add OpenAPi Shemas to user mesxsages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib9d3f451040089e4fa975247cb55a270c8ae63ab"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":23,"id":"a76b1c06_7be2fe4d","line":7,"in_reply_to":"8b863062_e6d044d9","updated":"2024-07-28 06:11:50.000000000","message":"Done","commit_id":"a83ed075b8c336e05753900ca03af589f4dead5c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b396dab734697ca241a26e5a4f136ef74e0d3088","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"e3579ff4_84d21772","updated":"2024-06-30 13:43:19.000000000","message":"Lots of work needed here yet, but some comments for now","commit_id":"d739ddaa0e2ee5e3a99105c82c20c27a1a2d56df"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"3a33e4c1_4dc5f07e","in_reply_to":"e3579ff4_84d21772","updated":"2024-07-19 14:24:33.000000000","message":"Thanks for your comments. I just focused on the code today. I was able to use json schema getting built into yaml sckema which is exciting. I\u0027ll rename the function tomorrow and respond to the rest of the comments here. \nIt also looks like I\u0027ve confused my routes and need to refactor those as well. I think i\u0027m just using the wrong json object but i think the underlying object are mostly correct. I think the show method should get a null query body as gets the message_id and project_id in the path.","commit_id":"d739ddaa0e2ee5e3a99105c82c20c27a1a2d56df"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"795d7e8ed5bb5650afea246e788156279aa8afa2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"cf3b9a43_254e0a0d","updated":"2024-07-18 13:38:39.000000000","message":"Hey, Jonathan! Looks good for the most part. Just added a question. Also, could you please update the comments you have already resolved marking them as such? There is a resolved button in every comment. That helps us to identify the changes that were already addressed and the ones that were not :)","commit_id":"20af6682c7152a7a1c04b8c55f3d2ace3cdf36db"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"b828778d5152926523edde30584d28cdecde523c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"bf5880bc_8130ec2c","updated":"2024-07-19 06:36:54.000000000","message":"Jonathan: it appears you\u0027re having trouble interacting via gerrit comments. Can you please review this video guide: https://youtu.be/zwQChupbU-c","commit_id":"4b2324397725023ff5faa74616ca038c53fca922"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"556c44d1_8e04277e","updated":"2024-07-19 14:24:33.000000000","message":"Thanks for the feedback on this patch and bearing with me and I get up to speed on this project. I concerned about the failing test in the manila_tempest_plugin as it look like my changes prevent the service from sending changes. No sure on next steps.","commit_id":"4b2324397725023ff5faa74616ca038c53fca922"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"ec444431_1dc0d905","updated":"2024-07-22 13:38:56.000000000","message":"There\u0027s a good bit of work remaining on this yet. I would suggest you look at the existing schema for resource locks again. Although the specific fields may be different, the general design of the API is very similar and the naming of variables etc. is worth being consistent on. Please ask us if you have any questions.","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"e38a5c59b7f56a6a4590c0c5efdaadab7d36aa76","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":18,"id":"c1e7e004_741cb717","updated":"2024-07-24 01:44:35.000000000","message":"Hi Stephen, Thanks for your review. I\u0027ve have two failing test that I need to resolve before I push up the next patch.","commit_id":"a944ef56f330aaa871a887545555d7907841acaa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"377560df_b6f7ba70","updated":"2024-07-25 11:44:05.000000000","message":"CI failures are real. You might want to check with the Goutham, Carlos and Ashley about setting up a DevStack environment suitable for running the functional tests against, if you haven\u0027t done so already. Only if you think it would helpful: you can also continue doing what you\u0027re doing and just rely on CI for those results, of course.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"cc7e8143_aadd8ba9","in_reply_to":"377560df_b6f7ba70","updated":"2024-07-26 06:28:46.000000000","message":"I can run the test that are test that are on manila but","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"dbd5efe060143c1774d77932dada77db09ad26c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"72104540_03be2d69","updated":"2024-07-26 06:41:00.000000000","message":"More question on answers on this one.","commit_id":"8673cfafe9895715392e8206be492d3af154ed75"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":21,"id":"07a7e192_f8c1857b","updated":"2024-07-26 06:28:46.000000000","message":"Thanks for the review. Still a couple this that still needs to be reviewed. It would be great to able to run the functional tests with out pushing a patch.","commit_id":"8673cfafe9895715392e8206be492d3af154ed75"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"6b6bcaac3c86dc15a7a7592e30f649af4023e1f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":24,"id":"f1ffb301_aed140ba","updated":"2024-07-28 06:11:50.000000000","message":"Thanks of the feed back. I added v2.52 index_query_body and cleaned up the response body.","commit_id":"a714c2ceb61a6423020b0f83fc2cbba4f546223e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"abc1f5a7_e2435ad5","updated":"2024-07-30 11:20:05.000000000","message":"Getting closer 😊","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":28,"id":"4220e297_c60aa121","updated":"2024-07-30 18:18:17.000000000","message":"Hi Stephen, thank for the feed back. I\u0027ve implemented changes you suggested and submitted another review.","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f86a458ae8c1570aaed4b066427548ef3ec8f191","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":30,"id":"263a568f_e86f7098","updated":"2024-08-01 18:24:59.000000000","message":"Thanks for the feed back.","commit_id":"7ad448f7e502786d834ae09f680a45fec9d3a653"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f0b9316fb61ce57e58defec0d9e589e00ac8c15a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":31,"id":"bd13ead8_9c619058","updated":"2024-08-08 20:18:58.000000000","message":"Hi Stephen, thanks for the feed back and patients with these patches. I think that I\u0027ve organized the objects inside schemas/message.py. I am confused what is the best way to check the properties inside a nested object. I used resource locks as a guild.","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"db8fe1bfa3730bab26814e3fc42d66e5843a0301","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"f7bc435e_c03ab728","updated":"2024-08-09 11:26:56.000000000","message":"@jonathankoerber@gmail.com This back and forth has gone on long-enough and I suspect you\u0027re ready to move on 😉 I have resolved my outstanding comments. Please take a look at what I\u0027ve done and let me know if anything doesn\u0027t make sense. If not, I think you can move onto the next resource.","commit_id":"835584b3b1841a22aef7b160f46e60215abd2dd8"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"f916ef1c16980298092f7edd286fa44eeaca13ff","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"2539e4e3_b0111df8","updated":"2024-08-16 15:03:31.000000000","message":"LGTM, thank you for working on this change! :)","commit_id":"835584b3b1841a22aef7b160f46e60215abd2dd8"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e63a5d5a4ec8b23d297a712b63fd8707ae91b488","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"ee935d32_8ad56ff5","updated":"2024-08-23 15:00:46.000000000","message":"Thank you very much @jonathankoerber@gmail.com.. Good work!\nWould you please follow up with the inline comment and add \"description\" parameters to the validations? \n\nThank you @stephenfin@redhat.com for doing the review heavy lifting and showing Jonathan the strings","commit_id":"835584b3b1841a22aef7b160f46e60215abd2dd8"}],"manila/api/schemas/messages.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"282baa0db0d9da96f46b019e5ae3d55ab088c163","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":19,"id":"20451d4e_df6d354a","updated":"2024-07-25 11:51:59.000000000","message":"I know the Manila code base doesn\u0027t use this for everything, but the `black` code formatter can be very helpful for auto-formatting wholly new files like this. I usually run it like so:\n\n```\nblack -S -l 79 manila/api/schemas/messages.py\n```\n\nYou can install it using `pipx` or `apt` (though the version in apt can be quite old).\n\n```\nsudo apt install pipx\npipx install black\n```\n\nor:\n\n```\nsudo apt install black\n```\n\nIt\u0027s not perfect but it beats having to do stuff manually. Just my 2c.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":19,"id":"a502c8c1_389a2b3a","in_reply_to":"20451d4e_df6d354a","updated":"2024-07-26 06:28:46.000000000","message":"Done","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":true,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"CONF \u003d cfg.CONF"},{"line_number":18,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":19,"context_line":"show_request_body \u003d {"},{"line_number":20,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":21,"context_line":"    \u0027properties\u0027: {},"},{"line_number":22,"context_line":"    \u0027required\u0027: [],"}],"source_content_type":"text/x-python","patch_set":19,"id":"eb42d55d_572aa0ff","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":17},"updated":"2024-07-25 11:44:05.000000000","message":"This isn\u0027t a schema for a request body: it\u0027s a schema for a request query string\n\n```suggestion\nshow_request_query \u003d {\n```","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"CONF \u003d cfg.CONF"},{"line_number":18,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":19,"context_line":"show_request_body \u003d {"},{"line_number":20,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":21,"context_line":"    \u0027properties\u0027: {},"},{"line_number":22,"context_line":"    \u0027required\u0027: [],"}],"source_content_type":"text/x-python","patch_set":19,"id":"969b3e62_73819298","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":17},"in_reply_to":"eb42d55d_572aa0ff","updated":"2024-07-26 06:28:46.000000000","message":"I have made this changes.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":34,"context_line":"                \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"                \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":36,"context_line":"                \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":37,"context_line":"                \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":38,"context_line":"                \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"}],"source_content_type":"text/x-python","patch_set":19,"id":"5078d7c7_277d85f1","line":36,"updated":"2024-07-25 11:44:05.000000000","message":"A question for the Manila folks, but I think this is an enum with only one value, ``ERROR``? Do we want to encode this here and below?\n\nfwiw, I looked at various `self.message_api.create` calls and none of them pass the `level\u003d` kwarg, so that would suggest we\u0027re never overriding the default of `ERROR`.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f86a458ae8c1570aaed4b066427548ef3ec8f191","unresolved":false,"context_lines":[{"line_number":33,"context_line":"                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":34,"context_line":"                \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"                \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":36,"context_line":"                \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":37,"context_line":"                \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":38,"context_line":"                \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"}],"source_content_type":"text/x-python","patch_set":19,"id":"51307a38_e765d61a","line":36,"in_reply_to":"5078d7c7_277d85f1","updated":"2024-08-01 18:24:59.000000000","message":"I\u0027ve add the the enum to message_level.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0ec81c65254cbfe8b0c4b544af3fcfd0f74fdaa6","unresolved":true,"context_lines":[{"line_number":33,"context_line":"                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":34,"context_line":"                \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"                \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":36,"context_line":"                \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":37,"context_line":"                \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":38,"context_line":"                \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"}],"source_content_type":"text/x-python","patch_set":19,"id":"4ba63d84_cc7305f3","line":36,"in_reply_to":"5078d7c7_277d85f1","updated":"2024-07-30 22:41:17.000000000","message":"yes; so far we\u0027ve used user messages only for ERROR; there\u0027s never been any INFO or WARNING messages we\u0027ve needed so we thought we\u0027d add to this list only when those appear:\n\nhttps://github.com/openstack/manila/blob/1504f84920e7aa546ec185d936959a7ddc08d55b/manila/message/message_levels.py#L15\n\n\nenum is fine with one entry for now, ERROR. We\u0027ll know we need to update it when there are other types of messages","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":true,"context_lines":[{"line_number":36,"context_line":"                \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":37,"context_line":"                \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":38,"context_line":"                \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":40,"context_line":"                \"resource_type\": {\u0027type\u0027: \"string\"},"},{"line_number":41,"context_line":"                \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":42,"context_line":"                \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"}],"source_content_type":"text/x-python","patch_set":19,"id":"7e913536_d80a6c4c","line":39,"range":{"start_line":39,"start_character":48,"end_line":39,"end_character":66},"updated":"2024-07-25 11:44:05.000000000","message":"The failing functional tests suggest this isn\u0027t a UUID, so you probably want to drop this.\n\n```\nDetails: {\u0027code\u0027: 400, \u0027message\u0027: \"Invalid input for field/attribute request_id. Value: req-0fd4cf1e-de85-40ee-8781-d2d3a636c0ef. \u0027req-0fd4cf1e-de85-40ee-8781-d2d3a636c0ef\u0027 is not a \u0027uuid\u0027\"}\n```","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":true,"context_lines":[{"line_number":36,"context_line":"                \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":37,"context_line":"                \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":38,"context_line":"                \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":40,"context_line":"                \"resource_type\": {\u0027type\u0027: \"string\"},"},{"line_number":41,"context_line":"                \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":42,"context_line":"                \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"}],"source_content_type":"text/x-python","patch_set":19,"id":"a77b9a66_5254455b","line":39,"range":{"start_line":39,"start_character":48,"end_line":39,"end_character":66},"in_reply_to":"7e913536_d80a6c4c","updated":"2024-07-26 06:28:46.000000000","message":"I\u0027ll try this. In the open stack spec this property is listed as a uuid. the value that is a uuid with a req prefix. Would it be better to handle the prefix? I remove uuid to pass the test.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"6b6bcaac3c86dc15a7a7592e30f649af4023e1f0","unresolved":false,"context_lines":[{"line_number":36,"context_line":"                \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":37,"context_line":"                \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":38,"context_line":"                \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":40,"context_line":"                \"resource_type\": {\u0027type\u0027: \"string\"},"},{"line_number":41,"context_line":"                \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":42,"context_line":"                \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"}],"source_content_type":"text/x-python","patch_set":19,"id":"9c1d882c_6d718925","line":39,"range":{"start_line":39,"start_character":48,"end_line":39,"end_character":66},"in_reply_to":"a77b9a66_5254455b","updated":"2024-07-28 06:11:50.000000000","message":"Done","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":true,"context_lines":[{"line_number":37,"context_line":"                \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":38,"context_line":"                \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":40,"context_line":"                \"resource_type\": {\u0027type\u0027: \"string\"},"},{"line_number":41,"context_line":"                \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":42,"context_line":"                \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":43,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":19,"id":"2837d4a5_f66a9f05","line":40,"range":{"start_line":40,"start_character":16,"end_line":40,"end_character":31},"updated":"2024-07-25 11:44:05.000000000","message":"nit:\n\n```suggestion\n                \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},\n```","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":38,"context_line":"                \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":40,"context_line":"                \"resource_type\": {\u0027type\u0027: \"string\"},"},{"line_number":41,"context_line":"                \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":42,"context_line":"                \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":43,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":19,"id":"a483842a_c665c445","line":40,"range":{"start_line":40,"start_character":16,"end_line":40,"end_character":31},"in_reply_to":"2837d4a5_f66a9f05","updated":"2024-07-26 06:28:46.000000000","message":"Done","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":true,"context_lines":[{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":40,"context_line":"                \"resource_type\": {\u0027type\u0027: \"string\"},"},{"line_number":41,"context_line":"                \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":42,"context_line":"                \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":43,"context_line":"            }"},{"line_number":44,"context_line":"        },"},{"line_number":45,"context_line":"        \u0027required\u0027: [\u0027id\u0027, \u0027action_id\u0027, \u0027detail_id\u0027, \u0027message_level\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"c42886a5_aafd74d1","line":42,"updated":"2024-07-25 11:44:05.000000000","message":"nit: Can you sort these alphabetically? Ditto for other properties.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[{"line_number":39,"context_line":"                \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":40,"context_line":"                \"resource_type\": {\u0027type\u0027: \"string\"},"},{"line_number":41,"context_line":"                \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":42,"context_line":"                \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":43,"context_line":"            }"},{"line_number":44,"context_line":"        },"},{"line_number":45,"context_line":"        \u0027required\u0027: [\u0027id\u0027, \u0027action_id\u0027, \u0027detail_id\u0027, \u0027message_level\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"bcc9ec94_0ac69755","line":42,"in_reply_to":"c42886a5_aafd74d1","updated":"2024-07-26 06:28:46.000000000","message":"Done","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":true,"context_lines":[{"line_number":51,"context_line":"    \"additionalProperties\": False,"},{"line_number":52,"context_line":"}"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"index_request_body \u003d {"},{"line_number":55,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":56,"context_line":"    \u0027properties\u0027: {},"},{"line_number":57,"context_line":"    \u0027required\u0027: [],"}],"source_content_type":"text/x-python","patch_set":19,"id":"a632c076_1119e10b","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":18},"updated":"2024-07-25 11:44:05.000000000","message":"ditto\n\n```suggestion\n# TODO(jonathan): Reject additional properties in a future microversion\nindex_request_query \u003d {\n```\n\nAlso, can you move this up the file underneath the `show_request_query` definition (to group them together)","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    \"additionalProperties\": False,"},{"line_number":52,"context_line":"}"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"index_request_body \u003d {"},{"line_number":55,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":56,"context_line":"    \u0027properties\u0027: {},"},{"line_number":57,"context_line":"    \u0027required\u0027: [],"}],"source_content_type":"text/x-python","patch_set":19,"id":"7d5facb0_fa92613f","line":54,"range":{"start_line":54,"start_character":0,"end_line":54,"end_character":18},"in_reply_to":"a632c076_1119e10b","updated":"2024-07-26 06:28:46.000000000","message":"Done","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        \u0027messages\u0027: {"},{"line_number":65,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":66,"context_line":"            \u0027items\u0027: {"},{"line_number":67,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":68,"context_line":"                \u0027properties\u0027: {"},{"line_number":69,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":70,"context_line":"                    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":71,"context_line":"                    \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":72,"context_line":"                    \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":73,"context_line":"                    \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":74,"context_line":"                    \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":75,"context_line":"                    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":76,"context_line":"                    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":77,"context_line":"                    \u0027links\u0027: response_types.links,"},{"line_number":78,"context_line":"                    \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":79,"context_line":"                    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":80,"context_line":"                    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":81,"context_line":"                },"},{"line_number":82,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027action_id\u0027, \u0027detail_id\u0027, \u0027message_level\u0027,"},{"line_number":83,"context_line":"                             \u0027links\u0027, \u0027project_id\u0027, \u0027request_id\u0027,"},{"line_number":84,"context_line":"                             \u0027resource_id\u0027, \u0027resource_type\u0027, \u0027links\u0027,"},{"line_number":85,"context_line":"                             \u0027expires_at\u0027, \u0027created_at\u0027],"},{"line_number":86,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"        },"},{"line_number":89,"context_line":"        \u0027messages_links\u0027: {"},{"line_number":90,"context_line":"            \u0027type\u0027: \u0027array\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"cb7b2a91_c4368b25","line":87,"range":{"start_line":67,"start_character":0,"end_line":87,"end_character":14},"updated":"2024-07-25 11:44:05.000000000","message":"This looks identical to the `show_response_body` type above and a look at `manila/api/views/messages.py` suggests that yes, it *is* identical. This being the case, you have a chance to de-duplicate things here. Look at what we did in `manila/api/schemas/resource_locks.py` with the `_resource_lock_response` attribute. You could replicate that here with e.g. a `_message_response` attribute.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"6b6bcaac3c86dc15a7a7592e30f649af4023e1f0","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        \u0027messages\u0027: {"},{"line_number":65,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":66,"context_line":"            \u0027items\u0027: {"},{"line_number":67,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":68,"context_line":"                \u0027properties\u0027: {"},{"line_number":69,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":70,"context_line":"                    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":71,"context_line":"                    \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":72,"context_line":"                    \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":73,"context_line":"                    \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":74,"context_line":"                    \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":75,"context_line":"                    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":76,"context_line":"                    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":77,"context_line":"                    \u0027links\u0027: response_types.links,"},{"line_number":78,"context_line":"                    \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":79,"context_line":"                    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":80,"context_line":"                    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":81,"context_line":"                },"},{"line_number":82,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027action_id\u0027, \u0027detail_id\u0027, \u0027message_level\u0027,"},{"line_number":83,"context_line":"                             \u0027links\u0027, \u0027project_id\u0027, \u0027request_id\u0027,"},{"line_number":84,"context_line":"                             \u0027resource_id\u0027, \u0027resource_type\u0027, \u0027links\u0027,"},{"line_number":85,"context_line":"                             \u0027expires_at\u0027, \u0027created_at\u0027],"},{"line_number":86,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"        },"},{"line_number":89,"context_line":"        \u0027messages_links\u0027: {"},{"line_number":90,"context_line":"            \u0027type\u0027: \u0027array\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"6514fee4_53a73198","line":87,"range":{"start_line":67,"start_character":0,"end_line":87,"end_character":14},"in_reply_to":"197c6c27_bdd6cf45","updated":"2024-07-28 06:11:50.000000000","message":"I was trying to put the requited field is as well. When just adding the message it seems to work.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \u0027messages\u0027: {"},{"line_number":65,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":66,"context_line":"            \u0027items\u0027: {"},{"line_number":67,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":68,"context_line":"                \u0027properties\u0027: {"},{"line_number":69,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":70,"context_line":"                    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":71,"context_line":"                    \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":72,"context_line":"                    \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":73,"context_line":"                    \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":74,"context_line":"                    \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":75,"context_line":"                    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":76,"context_line":"                    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":77,"context_line":"                    \u0027links\u0027: response_types.links,"},{"line_number":78,"context_line":"                    \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":79,"context_line":"                    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":80,"context_line":"                    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":81,"context_line":"                },"},{"line_number":82,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027action_id\u0027, \u0027detail_id\u0027, \u0027message_level\u0027,"},{"line_number":83,"context_line":"                             \u0027links\u0027, \u0027project_id\u0027, \u0027request_id\u0027,"},{"line_number":84,"context_line":"                             \u0027resource_id\u0027, \u0027resource_type\u0027, \u0027links\u0027,"},{"line_number":85,"context_line":"                             \u0027expires_at\u0027, \u0027created_at\u0027],"},{"line_number":86,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"        },"},{"line_number":89,"context_line":"        \u0027messages_links\u0027: {"},{"line_number":90,"context_line":"            \u0027type\u0027: \u0027array\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"26d0cfa2_a2bfef33","line":87,"range":{"start_line":67,"start_character":0,"end_line":87,"end_character":14},"in_reply_to":"6514fee4_53a73198","updated":"2024-07-30 11:20:05.000000000","message":"Acknowledged","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        \u0027messages\u0027: {"},{"line_number":65,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":66,"context_line":"            \u0027items\u0027: {"},{"line_number":67,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":68,"context_line":"                \u0027properties\u0027: {"},{"line_number":69,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":70,"context_line":"                    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":71,"context_line":"                    \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":72,"context_line":"                    \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":73,"context_line":"                    \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":74,"context_line":"                    \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":75,"context_line":"                    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":76,"context_line":"                    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":77,"context_line":"                    \u0027links\u0027: response_types.links,"},{"line_number":78,"context_line":"                    \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":79,"context_line":"                    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":80,"context_line":"                    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":81,"context_line":"                },"},{"line_number":82,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027action_id\u0027, \u0027detail_id\u0027, \u0027message_level\u0027,"},{"line_number":83,"context_line":"                             \u0027links\u0027, \u0027project_id\u0027, \u0027request_id\u0027,"},{"line_number":84,"context_line":"                             \u0027resource_id\u0027, \u0027resource_type\u0027, \u0027links\u0027,"},{"line_number":85,"context_line":"                             \u0027expires_at\u0027, \u0027created_at\u0027],"},{"line_number":86,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"        },"},{"line_number":89,"context_line":"        \u0027messages_links\u0027: {"},{"line_number":90,"context_line":"            \u0027type\u0027: \u0027array\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"73b23b03_b1d1ee4a","line":87,"range":{"start_line":67,"start_character":0,"end_line":87,"end_character":14},"in_reply_to":"6514fee4_53a73198","updated":"2024-07-30 18:18:17.000000000","message":"I was put the message into a _message var and was able to reuse the in the response bodies.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        \u0027messages\u0027: {"},{"line_number":65,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":66,"context_line":"            \u0027items\u0027: {"},{"line_number":67,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":68,"context_line":"                \u0027properties\u0027: {"},{"line_number":69,"context_line":"                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":70,"context_line":"                    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":71,"context_line":"                    \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":72,"context_line":"                    \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":73,"context_line":"                    \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":74,"context_line":"                    \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":75,"context_line":"                    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":76,"context_line":"                    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":77,"context_line":"                    \u0027links\u0027: response_types.links,"},{"line_number":78,"context_line":"                    \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":79,"context_line":"                    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":80,"context_line":"                    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":81,"context_line":"                },"},{"line_number":82,"context_line":"                \u0027required\u0027: [\u0027id\u0027, \u0027action_id\u0027, \u0027detail_id\u0027, \u0027message_level\u0027,"},{"line_number":83,"context_line":"                             \u0027links\u0027, \u0027project_id\u0027, \u0027request_id\u0027,"},{"line_number":84,"context_line":"                             \u0027resource_id\u0027, \u0027resource_type\u0027, \u0027links\u0027,"},{"line_number":85,"context_line":"                             \u0027expires_at\u0027, \u0027created_at\u0027],"},{"line_number":86,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"        },"},{"line_number":89,"context_line":"        \u0027messages_links\u0027: {"},{"line_number":90,"context_line":"            \u0027type\u0027: \u0027array\u0027,"}],"source_content_type":"text/x-python","patch_set":19,"id":"197c6c27_bdd6cf45","line":87,"range":{"start_line":67,"start_character":0,"end_line":87,"end_character":14},"in_reply_to":"cb7b2a91_c4368b25","updated":"2024-07-26 06:28:46.000000000","message":"I attempted to do this but i got a error. \nAttributeError: \u0027tuple\u0027 object has no attribute \u0027get\u0027\n\nI\u0027m assuming that the json is has a error.","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9133008b4de526cc24126178a4e2e202caf3c8bb","unresolved":true,"context_lines":[{"line_number":86,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"        },"},{"line_number":89,"context_line":"        \u0027messages_links\u0027: {"},{"line_number":90,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":91,"context_line":"            \u0027items\u0027: {"},{"line_number":92,"context_line":"                \u0027properties\u0027: {"},{"line_number":93,"context_line":"                    \u0027type\u0027: \u0027object\u0027,"},{"line_number":94,"context_line":"                    \u0027href\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":95,"context_line":"                    \u0027rel\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":96,"context_line":"                },"},{"line_number":97,"context_line":"                \u0027required\u0027: [\u0027href\u0027, \u0027rel\u0027],"},{"line_number":98,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":99,"context_line":"            }"},{"line_number":100,"context_line":"        },"},{"line_number":101,"context_line":"    },"},{"line_number":102,"context_line":"    \u0027required\u0027: [\u0027messages\u0027],"},{"line_number":103,"context_line":"    \u0027additionalProperties\u0027: False,"}],"source_content_type":"text/x-python","patch_set":19,"id":"5a9add0c_e5998e1b","line":100,"range":{"start_line":89,"start_character":26,"end_line":100,"end_character":10},"updated":"2024-07-25 11:44:05.000000000","message":"This looks identical to the contents of the `resource_locks_links` field resource locks index response and again, it uses the same helper function to generate so it *is* identical. I think you can therefore use the same common response.\n\n```suggestion\n        \u0027messages_links\u0027: response_types.collection_links,\n```","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[{"line_number":86,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":87,"context_line":"            },"},{"line_number":88,"context_line":"        },"},{"line_number":89,"context_line":"        \u0027messages_links\u0027: {"},{"line_number":90,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":91,"context_line":"            \u0027items\u0027: {"},{"line_number":92,"context_line":"                \u0027properties\u0027: {"},{"line_number":93,"context_line":"                    \u0027type\u0027: \u0027object\u0027,"},{"line_number":94,"context_line":"                    \u0027href\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":95,"context_line":"                    \u0027rel\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":96,"context_line":"                },"},{"line_number":97,"context_line":"                \u0027required\u0027: [\u0027href\u0027, \u0027rel\u0027],"},{"line_number":98,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":99,"context_line":"            }"},{"line_number":100,"context_line":"        },"},{"line_number":101,"context_line":"    },"},{"line_number":102,"context_line":"    \u0027required\u0027: [\u0027messages\u0027],"},{"line_number":103,"context_line":"    \u0027additionalProperties\u0027: False,"}],"source_content_type":"text/x-python","patch_set":19,"id":"f116abb6_9868e008","line":100,"range":{"start_line":89,"start_character":26,"end_line":100,"end_character":10},"in_reply_to":"5a9add0c_e5998e1b","updated":"2024-07-26 06:28:46.000000000","message":"Done","commit_id":"92ee34dd492a102c8271f6d8b14b72654468511b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":true,"context_lines":[{"line_number":17,"context_line":"from manila.api.validation import response_types"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_messages \u003d {"},{"line_number":23,"context_line":"    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":28,"id":"44ca4351_e270f3ee","line":20,"updated":"2024-07-30 11:20:05.000000000","message":"This comment has become unmoored from the variable it\u0027s referring to, `show_request_query`. Can you move it down?","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[{"line_number":17,"context_line":"from manila.api.validation import response_types"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_messages \u003d {"},{"line_number":23,"context_line":"    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":28,"id":"fefa380b_7cbfbccf","line":20,"in_reply_to":"44ca4351_e270f3ee","updated":"2024-07-30 18:18:17.000000000","message":"Done","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":true,"context_lines":[{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_messages \u003d {"},{"line_number":23,"context_line":"    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":24,"context_line":"    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":25,"context_line":"    \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":28,"id":"e950fa1d_a44dd9c4","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":9},"updated":"2024-07-30 11:20:05.000000000","message":"```suggestion\n_message_response \u003d {\n```","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_messages \u003d {"},{"line_number":23,"context_line":"    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":24,"context_line":"    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":25,"context_line":"    \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":28,"id":"ab9d7f46_364ca1f9","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":9},"in_reply_to":"e950fa1d_a44dd9c4","updated":"2024-07-30 18:18:17.000000000","message":"Done","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":true,"context_lines":[{"line_number":20,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_messages \u003d {"},{"line_number":23,"context_line":"    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":24,"context_line":"    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":25,"context_line":"    \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":26,"context_line":"    \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":27,"context_line":"    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":28,"context_line":"    \u0027links\u0027: response_types.links,"},{"line_number":29,"context_line":"    \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":30,"context_line":"    \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":31,"context_line":"    \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":32,"context_line":"    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":33,"context_line":"    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":34,"context_line":"    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"}"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"show_request_query \u003d {"}],"source_content_type":"text/x-python","patch_set":28,"id":"aeeb62fd_51d587f2","line":34,"range":{"start_line":23,"start_character":0,"end_line":34,"end_character":39},"updated":"2024-07-30 11:20:05.000000000","message":"Per below, you can put more into the common definition than you have done.\n\n```suggestion\n    \u0027type\u0027: \u0027object\u0027,\n    \u0027properties\u0027: {\n        \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},\n        \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},\n        \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},\n        \u0027links\u0027: response_types.links,\n        \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},\n        \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},\n    },\n    \u0027required\u0027: [\n        \u0027action_id\u0027,\n        \u0027created_at\u0027,\n        \u0027detail_id\u0027,\n        \u0027expires_at\u0027,\n        \u0027id\u0027,\n        \u0027links\u0027,\n        \u0027message_level\u0027,\n        \u0027project_id\u0027,\n        \u0027request_id\u0027,\n        \u0027resource_id\u0027,\n        \u0027resource_type\u0027,\n        \u0027user_message\u0027,\n    ],\n    \u0027additionalProperties\u0027: False,\n```","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[{"line_number":20,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"_messages \u003d {"},{"line_number":23,"context_line":"    \u0027action_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":24,"context_line":"    \u0027created_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":25,"context_line":"    \u0027detail_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":26,"context_line":"    \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":27,"context_line":"    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":28,"context_line":"    \u0027links\u0027: response_types.links,"},{"line_number":29,"context_line":"    \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":30,"context_line":"    \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":31,"context_line":"    \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":32,"context_line":"    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":33,"context_line":"    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":34,"context_line":"    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"}"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"show_request_query \u003d {"}],"source_content_type":"text/x-python","patch_set":28,"id":"5c323c7f_93c75571","line":34,"range":{"start_line":23,"start_character":0,"end_line":34,"end_character":39},"in_reply_to":"aeeb62fd_51d587f2","updated":"2024-07-30 18:18:17.000000000","message":"Done","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":33,"context_line":"    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":34,"context_line":"    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"}"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"show_request_query \u003d {"},{"line_number":38,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"2c35a1bf_d73a5cbc","line":35,"updated":"2024-07-30 11:20:05.000000000","message":"Can you move this down to just before the `xxx_response_body` variable definitions, where it\u0027s used?","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1342c8a24c875f9ee7dfde9f594bc99d2ff21a57","unresolved":true,"context_lines":[{"line_number":32,"context_line":"    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":33,"context_line":"    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":34,"context_line":"    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"}"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"show_request_query \u003d {"},{"line_number":38,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"e333cab8_1882de32","line":35,"in_reply_to":"02d62133_cf3575e2","updated":"2024-08-07 10:21:06.000000000","message":"Not done?","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":33,"context_line":"    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":34,"context_line":"    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"}"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"show_request_query \u003d {"},{"line_number":38,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"02d62133_cf3575e2","line":35,"in_reply_to":"2c35a1bf_d73a5cbc","updated":"2024-07-30 18:18:17.000000000","message":"Done","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f0b9316fb61ce57e58defec0d9e589e00ac8c15a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":33,"context_line":"    \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":34,"context_line":"    \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"}"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"show_request_query \u003d {"},{"line_number":38,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":28,"id":"4cc6c11e_38bd85ad","line":35,"in_reply_to":"e333cab8_1882de32","updated":"2024-08-08 20:18:58.000000000","message":"Acknowledged","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":true,"context_lines":[{"line_number":44,"context_line":"show_response_body \u003d {"},{"line_number":45,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027message\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":49,"context_line":"            \u0027properties\u0027: _messages,"},{"line_number":50,"context_line":"            \u0027required\u0027: [\u0027action_id\u0027, \u0027created_at\u0027, \u0027detail_id\u0027, \u0027expires_at\u0027,"},{"line_number":51,"context_line":"                         \u0027id\u0027, \u0027links\u0027, \u0027message_level\u0027, \u0027project_id\u0027,"},{"line_number":52,"context_line":"                         \u0027request_id\u0027, \u0027resource_id\u0027, \u0027resource_type\u0027,"},{"line_number":53,"context_line":"                         \u0027user_message\u0027],"},{"line_number":54,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":55,"context_line":"        },"},{"line_number":56,"context_line":"    },"},{"line_number":57,"context_line":"    \"required\": [\"message\"],"},{"line_number":58,"context_line":"    \"additionalProperties\": False,"}],"source_content_type":"text/x-python","patch_set":28,"id":"22cb5664_9247008d","line":55,"range":{"start_line":47,"start_character":19,"end_line":55,"end_character":10},"updated":"2024-07-30 11:20:05.000000000","message":"This entire definition is identical to both `show_response_body` and `index_response_body` too, no? Could you move these into the `_message` definition?\n\n```suggestion\n        \u0027message\u0027: _message_response,\n```","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[{"line_number":44,"context_line":"show_response_body \u003d {"},{"line_number":45,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027message\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":49,"context_line":"            \u0027properties\u0027: _messages,"},{"line_number":50,"context_line":"            \u0027required\u0027: [\u0027action_id\u0027, \u0027created_at\u0027, \u0027detail_id\u0027, \u0027expires_at\u0027,"},{"line_number":51,"context_line":"                         \u0027id\u0027, \u0027links\u0027, \u0027message_level\u0027, \u0027project_id\u0027,"},{"line_number":52,"context_line":"                         \u0027request_id\u0027, \u0027resource_id\u0027, \u0027resource_type\u0027,"},{"line_number":53,"context_line":"                         \u0027user_message\u0027],"},{"line_number":54,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":55,"context_line":"        },"},{"line_number":56,"context_line":"    },"},{"line_number":57,"context_line":"    \"required\": [\"message\"],"},{"line_number":58,"context_line":"    \"additionalProperties\": False,"}],"source_content_type":"text/x-python","patch_set":28,"id":"3d82d3c5_fcb450be","line":55,"range":{"start_line":47,"start_character":19,"end_line":55,"end_character":10},"in_reply_to":"22cb5664_9247008d","updated":"2024-07-30 18:18:17.000000000","message":"Done","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":true,"context_lines":[{"line_number":41,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"show_response_body \u003d {"},{"line_number":45,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027message\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":49,"context_line":"            \u0027properties\u0027: _messages,"},{"line_number":50,"context_line":"            \u0027required\u0027: [\u0027action_id\u0027, \u0027created_at\u0027, \u0027detail_id\u0027, \u0027expires_at\u0027,"},{"line_number":51,"context_line":"                         \u0027id\u0027, \u0027links\u0027, \u0027message_level\u0027, \u0027project_id\u0027,"},{"line_number":52,"context_line":"                         \u0027request_id\u0027, \u0027resource_id\u0027, \u0027resource_type\u0027,"},{"line_number":53,"context_line":"                         \u0027user_message\u0027],"},{"line_number":54,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":55,"context_line":"        },"},{"line_number":56,"context_line":"    },"},{"line_number":57,"context_line":"    \"required\": [\"message\"],"},{"line_number":58,"context_line":"    \"additionalProperties\": False,"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":62,"context_line":"index_request_query \u003d {"}],"source_content_type":"text/x-python","patch_set":28,"id":"dca1d6b2_1d0520e1","line":59,"range":{"start_line":44,"start_character":0,"end_line":59,"end_character":1},"updated":"2024-07-30 11:20:05.000000000","message":"Can you group this with the other `xxx_response_body` attributes below?","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"show_response_body \u003d {"},{"line_number":45,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027message\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027object\u0027,"},{"line_number":49,"context_line":"            \u0027properties\u0027: _messages,"},{"line_number":50,"context_line":"            \u0027required\u0027: [\u0027action_id\u0027, \u0027created_at\u0027, \u0027detail_id\u0027, \u0027expires_at\u0027,"},{"line_number":51,"context_line":"                         \u0027id\u0027, \u0027links\u0027, \u0027message_level\u0027, \u0027project_id\u0027,"},{"line_number":52,"context_line":"                         \u0027request_id\u0027, \u0027resource_id\u0027, \u0027resource_type\u0027,"},{"line_number":53,"context_line":"                         \u0027user_message\u0027],"},{"line_number":54,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":55,"context_line":"        },"},{"line_number":56,"context_line":"    },"},{"line_number":57,"context_line":"    \"required\": [\"message\"],"},{"line_number":58,"context_line":"    \"additionalProperties\": False,"},{"line_number":59,"context_line":"}"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"# TODO(jonathan): Reject additional properties in a future microversion"},{"line_number":62,"context_line":"index_request_query \u003d {"}],"source_content_type":"text/x-python","patch_set":28,"id":"0e039f1a_a0de5de2","line":59,"range":{"start_line":44,"start_character":0,"end_line":59,"end_character":1},"in_reply_to":"dca1d6b2_1d0520e1","updated":"2024-07-30 18:18:17.000000000","message":"Done","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":true,"context_lines":[{"line_number":104,"context_line":"index_request_query_v252[\u0027properties\u0027][\u0027created_since\u0027] \u003d ("},{"line_number":105,"context_line":"    parameter_types.multi_params({"},{"line_number":106,"context_line":"        \u0027type\u0027: \u0027string\u0027,"},{"line_number":107,"context_line":"        # \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":108,"context_line":"    }))"},{"line_number":109,"context_line":"index_request_query_v252[\u0027properties\u0027][\u0027created_before\u0027] \u003d ("},{"line_number":110,"context_line":"    parameter_types.multi_params({"}],"source_content_type":"text/x-python","patch_set":28,"id":"1a5af0af_4518f2f1","line":107,"updated":"2024-07-30 11:20:05.000000000","message":"Is there a reason this is commented out? Can you either remove it or uncomment it.","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[{"line_number":104,"context_line":"index_request_query_v252[\u0027properties\u0027][\u0027created_since\u0027] \u003d ("},{"line_number":105,"context_line":"    parameter_types.multi_params({"},{"line_number":106,"context_line":"        \u0027type\u0027: \u0027string\u0027,"},{"line_number":107,"context_line":"        # \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":108,"context_line":"    }))"},{"line_number":109,"context_line":"index_request_query_v252[\u0027properties\u0027][\u0027created_before\u0027] \u003d ("},{"line_number":110,"context_line":"    parameter_types.multi_params({"}],"source_content_type":"text/x-python","patch_set":28,"id":"3b58e3fb_49a293b0","line":107,"in_reply_to":"1a5af0af_4518f2f1","updated":"2024-07-30 18:18:17.000000000","message":"This is the second version of an explanation. The original sounds a little crazy. It seemed like a good idea at the time. Some of the unit test are failing with because of the validator raising exception and some because my updates. I got some error that I wasn\u0027t sure how to deal with so I reset test_message.py commented out data-time. Now that the other changes are looking better changes the assert in test_message.py summited another review.","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39cc0c679a4abd1f278459a57be2e757ebb311c0","unresolved":true,"context_lines":[{"line_number":117,"context_line":"    \u0027properties\u0027: {"},{"line_number":118,"context_line":"        \u0027messages\u0027: {"},{"line_number":119,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":120,"context_line":"            \u0027items\u0027: {"},{"line_number":121,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":122,"context_line":"                \u0027properties\u0027: _messages,"},{"line_number":123,"context_line":"                \u0027required\u0027: [\u0027action_id\u0027, \u0027created_at\u0027, \u0027detail_id\u0027,"},{"line_number":124,"context_line":"                             \u0027expires_at\u0027, \u0027id\u0027, \u0027links\u0027, \u0027message_level\u0027,"},{"line_number":125,"context_line":"                             \u0027project_id\u0027, \u0027request_id\u0027, \u0027resource_id\u0027,"},{"line_number":126,"context_line":"                             \u0027resource_type\u0027, \u0027user_message\u0027],"},{"line_number":127,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":128,"context_line":"            },"},{"line_number":129,"context_line":"            \u0027required\u0027: [\u0027items\u0027],"},{"line_number":130,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":131,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":28,"id":"76c6c26c_d3f7d1ed","line":128,"range":{"start_line":120,"start_character":21,"end_line":128,"end_character":13},"updated":"2024-07-30 11:20:05.000000000","message":"As above:\n\n```suggestion\n            \u0027items\u0027: _message_response,\n```","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"af3776aeae5e24cd0aa6058cc5b0d3d88a5ba768","unresolved":false,"context_lines":[{"line_number":117,"context_line":"    \u0027properties\u0027: {"},{"line_number":118,"context_line":"        \u0027messages\u0027: {"},{"line_number":119,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":120,"context_line":"            \u0027items\u0027: {"},{"line_number":121,"context_line":"                \u0027type\u0027: \u0027object\u0027,"},{"line_number":122,"context_line":"                \u0027properties\u0027: _messages,"},{"line_number":123,"context_line":"                \u0027required\u0027: [\u0027action_id\u0027, \u0027created_at\u0027, \u0027detail_id\u0027,"},{"line_number":124,"context_line":"                             \u0027expires_at\u0027, \u0027id\u0027, \u0027links\u0027, \u0027message_level\u0027,"},{"line_number":125,"context_line":"                             \u0027project_id\u0027, \u0027request_id\u0027, \u0027resource_id\u0027,"},{"line_number":126,"context_line":"                             \u0027resource_type\u0027, \u0027user_message\u0027],"},{"line_number":127,"context_line":"                \u0027additionalProperties\u0027: False,"},{"line_number":128,"context_line":"            },"},{"line_number":129,"context_line":"            \u0027required\u0027: [\u0027items\u0027],"},{"line_number":130,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":131,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":28,"id":"c2fae341_2dce29ff","line":128,"range":{"start_line":120,"start_character":21,"end_line":128,"end_character":13},"in_reply_to":"76c6c26c_d3f7d1ed","updated":"2024-07-30 18:18:17.000000000","message":"Done","commit_id":"644afd95d31640601a418489e1bdbd1139916b16"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1342c8a24c875f9ee7dfde9f594bc99d2ff21a57","unresolved":true,"context_lines":[{"line_number":27,"context_line":"        \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":28,"context_line":"        \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":29,"context_line":"        \u0027links\u0027: response_types.links,"},{"line_number":30,"context_line":"        \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":31,"context_line":"        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":32,"context_line":"        \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":33,"context_line":"        \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"}],"source_content_type":"text/x-python","patch_set":31,"id":"bf121bf8_e4b9f0f8","line":30,"updated":"2024-08-07 10:21:06.000000000","message":"You noted [here](https://review.opendev.org/c/openstack/manila/+/922566/19..31/manila/api/schemas/messages.py#b36) that you\u0027d added an enum but I think you missed this?","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f0b9316fb61ce57e58defec0d9e589e00ac8c15a","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":28,"context_line":"        \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":29,"context_line":"        \u0027links\u0027: response_types.links,"},{"line_number":30,"context_line":"        \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":31,"context_line":"        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":32,"context_line":"        \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":33,"context_line":"        \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"}],"source_content_type":"text/x-python","patch_set":31,"id":"f2e79ff8_422fd7be","line":30,"in_reply_to":"bf121bf8_e4b9f0f8","updated":"2024-08-08 20:18:58.000000000","message":"Acknowledged","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1342c8a24c875f9ee7dfde9f594bc99d2ff21a57","unresolved":true,"context_lines":[{"line_number":28,"context_line":"        \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":29,"context_line":"        \u0027links\u0027: response_types.links,"},{"line_number":30,"context_line":"        \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":31,"context_line":"        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":32,"context_line":"        \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":33,"context_line":"        \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":34,"context_line":"        \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":31,"id":"b44b62cf_fd52d470","line":31,"updated":"2024-08-07 10:21:06.000000000","message":"Is this not a UUID?\n```suggestion\n        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},\n```","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f0b9316fb61ce57e58defec0d9e589e00ac8c15a","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":29,"context_line":"        \u0027links\u0027: response_types.links,"},{"line_number":30,"context_line":"        \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":31,"context_line":"        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":32,"context_line":"        \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":33,"context_line":"        \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":34,"context_line":"        \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":31,"id":"04232c72_882083a2","line":31,"in_reply_to":"b44b62cf_fd52d470","updated":"2024-08-08 20:18:58.000000000","message":"this isn\u0027t returning a uuid as it has a \u0027req-\u0027 prefix on the uuid.","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9bf47dc94ce6855883c73982fe04c15012cffad","unresolved":true,"context_lines":[{"line_number":33,"context_line":"        \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":34,"context_line":"        \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"        \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":36,"context_line":"        \u0027required\u0027: [\u0027action_id\u0027, \u0027created_at\u0027, \u0027detail_id\u0027, \u0027expires_at\u0027,"},{"line_number":37,"context_line":"                     \u0027id\u0027, \u0027links\u0027, \u0027message_level\u0027, \u0027project_id\u0027,"},{"line_number":38,"context_line":"                     \u0027request_id\u0027, \u0027resource_id\u0027, \u0027resource_type\u0027,"},{"line_number":39,"context_line":"                     \u0027user_message\u0027],"},{"line_number":40,"context_line":"        \u0027additionalProperties\u0027: False,"},{"line_number":41,"context_line":"    },"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"c3de1f35_7df35d15","line":40,"range":{"start_line":36,"start_character":0,"end_line":40,"end_character":38},"updated":"2024-08-07 10:15:04.000000000","message":"These keys are at the wrong level. As things stand, these are being parsed as properties. Again though, idk why the schema validation isn\u0027t erroring out here since this clearly isn\u0027t valid 😕","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f0b9316fb61ce57e58defec0d9e589e00ac8c15a","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":34,"context_line":"        \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":35,"context_line":"        \u0027user_message\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":36,"context_line":"        \u0027required\u0027: [\u0027action_id\u0027, \u0027created_at\u0027, \u0027detail_id\u0027, \u0027expires_at\u0027,"},{"line_number":37,"context_line":"                     \u0027id\u0027, \u0027links\u0027, \u0027message_level\u0027, \u0027project_id\u0027,"},{"line_number":38,"context_line":"                     \u0027request_id\u0027, \u0027resource_id\u0027, \u0027resource_type\u0027,"},{"line_number":39,"context_line":"                     \u0027user_message\u0027],"},{"line_number":40,"context_line":"        \u0027additionalProperties\u0027: False,"},{"line_number":41,"context_line":"    },"},{"line_number":42,"context_line":"}"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-python","patch_set":31,"id":"0acf3642_2498a3bc","line":40,"range":{"start_line":36,"start_character":0,"end_line":40,"end_character":38},"in_reply_to":"c3de1f35_7df35d15","updated":"2024-08-08 20:18:58.000000000","message":"I moved this here because it causes an error when i move it up a level. I took an other look at resource_locks and i looks like the nested schemas don\u0027t have require properties. I don\u0027t understand this 100% please let me know if I need to have required properties and how to do for a nested project. Should in be [\u0027messages\u0027][\u0027action_id\u0027]?","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1342c8a24c875f9ee7dfde9f594bc99d2ff21a57","unresolved":true,"context_lines":[{"line_number":78,"context_line":"        }),"},{"line_number":79,"context_line":"        \u0027message_level\u0027: parameter_types.single_param({"},{"line_number":80,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":81,"context_line":"            \u0027enum\u0027: [\u0027ERROR\u0027],"},{"line_number":82,"context_line":"        }),"},{"line_number":83,"context_line":"        \u0027request_id\u0027: parameter_types.single_param({"},{"line_number":84,"context_line":"            \u0027type\u0027: \u0027string\u0027,"}],"source_content_type":"text/x-python","patch_set":31,"id":"87611185_627e7806","line":81,"updated":"2024-08-07 10:21:06.000000000","message":"Are you sure this is correct? What this says is that the only value the server should accept for the `message_level` query string parameter is `ERROR`. Is that true? What happens if you try to do:\n\n```\nGET /messages?message_level\u003dINFO\n```\n\nMy guess is that it simply returns an empty response rather than an error. If so, you don\u0027t want to encode the enum here yet. Rather, you might want to add a TODO saying that we should add it in a future microversion. You *do*, however, want to add the enum to the response body field above on line 30","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f0b9316fb61ce57e58defec0d9e589e00ac8c15a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"        }),"},{"line_number":79,"context_line":"        \u0027message_level\u0027: parameter_types.single_param({"},{"line_number":80,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":81,"context_line":"            \u0027enum\u0027: [\u0027ERROR\u0027],"},{"line_number":82,"context_line":"        }),"},{"line_number":83,"context_line":"        \u0027request_id\u0027: parameter_types.single_param({"},{"line_number":84,"context_line":"            \u0027type\u0027: \u0027string\u0027,"}],"source_content_type":"text/x-python","patch_set":31,"id":"623d0b4a_c6eefb87","line":81,"in_reply_to":"87611185_627e7806","updated":"2024-08-08 20:18:58.000000000","message":"Acknowledged","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9bf47dc94ce6855883c73982fe04c15012cffad","unresolved":true,"context_lines":[{"line_number":90,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":91,"context_line":"        }),"},{"line_number":92,"context_line":"    },"},{"line_number":93,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":94,"context_line":"}"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"index_request_query_v252 \u003d copy.deepcopy(index_request_query)"}],"source_content_type":"text/x-python","patch_set":31,"id":"167e06f8_f5d540b4","line":93,"updated":"2024-08-07 10:15:04.000000000","message":"I think it could be helpful to insist on `required`, just so we don\u0027t forget it when it\u0027s actually needed.\n\n```suggestion\n    \u0027required\u0027: [],\n    \u0027additionalProperties\u0027: True,\n```","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f0b9316fb61ce57e58defec0d9e589e00ac8c15a","unresolved":false,"context_lines":[{"line_number":90,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":91,"context_line":"        }),"},{"line_number":92,"context_line":"    },"},{"line_number":93,"context_line":"    \u0027additionalProperties\u0027: True,"},{"line_number":94,"context_line":"}"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"index_request_query_v252 \u003d copy.deepcopy(index_request_query)"}],"source_content_type":"text/x-python","patch_set":31,"id":"dd9b911d_24df2045","line":93,"in_reply_to":"167e06f8_f5d540b4","updated":"2024-08-08 20:18:58.000000000","message":"Acknowledged","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b9bf47dc94ce6855883c73982fe04c15012cffad","unresolved":true,"context_lines":[{"line_number":116,"context_line":"        \u0027messages\u0027: {"},{"line_number":117,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":118,"context_line":"            \u0027items\u0027: _messages_response,"},{"line_number":119,"context_line":"            \u0027required\u0027: [\u0027items\u0027],"},{"line_number":120,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":121,"context_line":"        },"},{"line_number":122,"context_line":"        \u0027messages_links\u0027: response_types.collection_links"}],"source_content_type":"text/x-python","patch_set":31,"id":"8b2d67ab_3fe9b201","line":119,"updated":"2024-08-07 10:15:04.000000000","message":"This doesn\u0027t make sense/is invalid. `items` is not a property: it\u0027s a schema keyword like `required`, `additionalProperties`, etc.","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f0b9316fb61ce57e58defec0d9e589e00ac8c15a","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        \u0027messages\u0027: {"},{"line_number":117,"context_line":"            \u0027type\u0027: \u0027array\u0027,"},{"line_number":118,"context_line":"            \u0027items\u0027: _messages_response,"},{"line_number":119,"context_line":"            \u0027required\u0027: [\u0027items\u0027],"},{"line_number":120,"context_line":"            \u0027additionalProperties\u0027: False,"},{"line_number":121,"context_line":"        },"},{"line_number":122,"context_line":"        \u0027messages_links\u0027: response_types.collection_links"}],"source_content_type":"text/x-python","patch_set":31,"id":"f3c34c56_6919341a","line":119,"in_reply_to":"8b2d67ab_3fe9b201","updated":"2024-08-08 20:18:58.000000000","message":"Acknowledged","commit_id":"953c3ecb7777c7c3d11c6407d40686cf4d8b7ac4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b62b36891c9bf074e62dc5edf9f29e1f5e4d8ce7","unresolved":true,"context_lines":[{"line_number":39,"context_line":"        ),"},{"line_number":40,"context_line":"        \u0027sort_key\u0027: parameter_types.single_param({"},{"line_number":41,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":42,"context_line":"            \u0027enum\u0027: [\u0027id\u0027, \u0027project_id\u0027, \u0027request_id\u0027, \u0027resource_type\u0027,"},{"line_number":43,"context_line":"                     \u0027action_id\u0027, \u0027detail_id\u0027, \u0027resource_id\u0027, \u0027message_level\u0027,"},{"line_number":44,"context_line":"                     \u0027expires_at\u0027, \u0027created_at\u0027]"},{"line_number":45,"context_line":"        }),"},{"line_number":46,"context_line":"        \u0027sort_dir\u0027: parameter_types.single_param({"},{"line_number":47,"context_line":"            \u0027type\u0027: \u0027string\u0027,"}],"source_content_type":"text/x-python","patch_set":32,"id":"3d4a4fbc_1efd1a64","line":44,"range":{"start_line":42,"start_character":0,"end_line":44,"end_character":48},"updated":"2024-08-09 10:51:27.000000000","message":"I don\u0027t think you can do this because this will enforce a strict check on the value of this query string where none currently exists. If you look at the database layer, you\u0027ll see that we pass a list of \"legal\" keys and simply ignore anything else. This will have to wait until a new microversion when we can make this stricter.","commit_id":"eefd5e2816c4aab013b86f6de6c6180315df89cb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9aedf5b466931c17a38b759a3faa5c7d758df513","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        ),"},{"line_number":40,"context_line":"        \u0027sort_key\u0027: parameter_types.single_param({"},{"line_number":41,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":42,"context_line":"            \u0027enum\u0027: [\u0027id\u0027, \u0027project_id\u0027, \u0027request_id\u0027, \u0027resource_type\u0027,"},{"line_number":43,"context_line":"                     \u0027action_id\u0027, \u0027detail_id\u0027, \u0027resource_id\u0027, \u0027message_level\u0027,"},{"line_number":44,"context_line":"                     \u0027expires_at\u0027, \u0027created_at\u0027]"},{"line_number":45,"context_line":"        }),"},{"line_number":46,"context_line":"        \u0027sort_dir\u0027: parameter_types.single_param({"},{"line_number":47,"context_line":"            \u0027type\u0027: \u0027string\u0027,"}],"source_content_type":"text/x-python","patch_set":32,"id":"427eabfb_555198a2","line":44,"range":{"start_line":42,"start_character":0,"end_line":44,"end_character":48},"in_reply_to":"3d4a4fbc_1efd1a64","updated":"2024-08-09 10:51:52.000000000","message":"Done","commit_id":"eefd5e2816c4aab013b86f6de6c6180315df89cb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b62b36891c9bf074e62dc5edf9f29e1f5e4d8ce7","unresolved":true,"context_lines":[{"line_number":93,"context_line":"        \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":94,"context_line":"        \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":95,"context_line":"        \u0027links\u0027: response_types.links,"},{"line_number":96,"context_line":"        # TODO(jonathan) add enum when more message level the \u0027ERROR\u0027"},{"line_number":97,"context_line":"        \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":98,"context_line":"        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":99,"context_line":"        \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":32,"id":"6564a856_6e3e0366","line":96,"updated":"2024-08-09 10:51:27.000000000","message":"Ah, I think you misunderstood. You *should* have an enum here because this is a response body, which is generated by us (i.e. we\u0027re in control). My comment was to remove it from the request query string since that is controlled by the user: they can send anything and we don\u0027t currently do any real filtering (but we probably should).","commit_id":"eefd5e2816c4aab013b86f6de6c6180315df89cb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9aedf5b466931c17a38b759a3faa5c7d758df513","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        \u0027expires_at\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027date-time\u0027},"},{"line_number":94,"context_line":"        \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":95,"context_line":"        \u0027links\u0027: response_types.links,"},{"line_number":96,"context_line":"        # TODO(jonathan) add enum when more message level the \u0027ERROR\u0027"},{"line_number":97,"context_line":"        \u0027message_level\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":98,"context_line":"        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":99,"context_line":"        \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":32,"id":"ddcdad58_7394491d","line":96,"in_reply_to":"6564a856_6e3e0366","updated":"2024-08-09 10:51:52.000000000","message":"Done","commit_id":"eefd5e2816c4aab013b86f6de6c6180315df89cb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b62b36891c9bf074e62dc5edf9f29e1f5e4d8ce7","unresolved":true,"context_lines":[{"line_number":104,"context_line":"}"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"show_response_body \u003d _messages_response"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"index_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":32,"id":"00b09db4_5af32a80","line":107,"updated":"2024-08-09 10:51:27.000000000","message":"This isn\u0027t correct. The properties should all be nested under a `messages` key, not exposed at the top-level. You want something like:\n\n```suggestion\nshow_response_body \u003d {\n    \u0027type\u0027: \u0027object\u0027,\n    \u0027properties\u0027: {\n        \u0027message\u0027: _messages_response,\n    },\n    \u0027required\u0027: [\u0027message\u0027],\n    \u0027additionalProperties\u0027: False,\n}\n```","commit_id":"eefd5e2816c4aab013b86f6de6c6180315df89cb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9aedf5b466931c17a38b759a3faa5c7d758df513","unresolved":false,"context_lines":[{"line_number":104,"context_line":"}"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"show_response_body \u003d _messages_response"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"index_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":32,"id":"154fff6e_4fc10e55","line":107,"in_reply_to":"00b09db4_5af32a80","updated":"2024-08-09 10:51:52.000000000","message":"Done","commit_id":"eefd5e2816c4aab013b86f6de6c6180315df89cb"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"e63a5d5a4ec8b23d297a712b63fd8707ae91b488","unresolved":true,"context_lines":[{"line_number":122,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":123,"context_line":"            \u0027enum\u0027: [\u0027ERROR\u0027],"},{"line_number":124,"context_line":"        },"},{"line_number":125,"context_line":"        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":126,"context_line":"        \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":127,"context_line":"        \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":128,"context_line":"        \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":34,"id":"b63a85cc_4a370560","line":125,"range":{"start_line":125,"start_character":39,"end_line":125,"end_character":40},"updated":"2024-08-23 15:00:46.000000000","message":"isn\u0027t this `\u0027format\u0027: \u0027uuid\u0027` as well?","commit_id":"835584b3b1841a22aef7b160f46e60215abd2dd8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b836e469093198130a358ccb305de66d80ec04ca","unresolved":true,"context_lines":[{"line_number":122,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":123,"context_line":"            \u0027enum\u0027: [\u0027ERROR\u0027],"},{"line_number":124,"context_line":"        },"},{"line_number":125,"context_line":"        \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":126,"context_line":"        \u0027request_id\u0027: {\u0027type\u0027: \u0027string\u0027},"},{"line_number":127,"context_line":"        \u0027resource_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},"},{"line_number":128,"context_line":"        \u0027resource_type\u0027: {\u0027type\u0027: \u0027string\u0027},"}],"source_content_type":"text/x-python","patch_set":34,"id":"299069ea_6639aa1f","line":125,"range":{"start_line":125,"start_character":39,"end_line":125,"end_character":40},"in_reply_to":"b63a85cc_4a370560","updated":"2024-08-26 16:51:12.000000000","message":"Ah, indeed it should be.","commit_id":"835584b3b1841a22aef7b160f46e60215abd2dd8"}],"manila/api/schemas/quota_sets.py":[{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# TODO add request body schema for quota_set"},{"line_number":22,"context_line":"get_quota_set_query \u003d {"},{"line_number":23,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":24,"context_line":"   # TODO add version"}],"source_content_type":"text/x-python","patch_set":1,"id":"17b4b85c_710566d7","line":21,"in_reply_to":"7c5a84a5_06223161","updated":"2024-07-19 14:24:33.000000000","message":"\u003e pep8: H101: Use TODO(NAME)\n\nPlease fix.","commit_id":"d7aac2327f12fa35ae5ffff0952a98d7bf38d324"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bcdd9f739f164225ba72f455acd28daf44a073af","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"3681024b_ed0e5ed6","updated":"2024-06-28 22:21:14.000000000","message":"As we discussed, lets try to keep one schema per gerrit change.. so please factor this out into its own commit","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"09a61257_7da04c39","in_reply_to":"3681024b_ed0e5ed6","updated":"2024-07-19 14:24:33.000000000","message":"I removed Quota set schema from patch.","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from oslo_config import cfg"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from manila.api.validation import parameter_types"},{"line_number":16,"context_line":"from manila.api.validation import response_types"},{"line_number":17,"context_line":"from manila.common import constants"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"1f55b7d3_3619b552","line":15,"in_reply_to":"653d4a29_2d2e0048","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bcdd9f739f164225ba72f455acd28daf44a073af","unresolved":true,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"from oslo_config import cfg"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"from manila.api.validation import parameter_types"},{"line_number":16,"context_line":"from manila.api.validation import response_types"},{"line_number":17,"context_line":"from manila.common import constants"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"653d4a29_2d2e0048","line":15,"in_reply_to":"81ec6de9_b2f2d637","updated":"2024-06-28 22:21:14.000000000","message":"\u003e pep8: F401 \u0027manila.api.validation.parameter_types\u0027 imported but unused\n\nPlease fix.\n\nAs we discussed, you should be able to reproduce these failures locally either by using \"tox -e pep8\" or by installing a pre-commit hook.","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bcdd9f739f164225ba72f455acd28daf44a073af","unresolved":true,"context_lines":[{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# TODO(jonathan) add request body schema for quota_set"},{"line_number":22,"context_line":"get_quota_set_query \u003d {"},{"line_number":23,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":24,"context_line":"    # TODO(jonathan) add version"},{"line_number":25,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"f0659d32_34b4e03b","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":19},"updated":"2024-06-28 22:21:14.000000000","message":"lets try to maintain consistency with schemas that are already in-tree.. \n- the existing schemas use: \"show\" instead of \"get\".. \n- the name of this module tells us the name of the API resource, so no need to repeat \"quota_sets\" in the name of this object.\n\nso this would be: \"show_request_query\"\n\n\nexisting schemas: \nhttps://github.com/openstack/manila/blob/master/manila/api/schemas/resource_locks.py\nhttps://github.com/openstack/manila/blob/master/manila/api/schemas/availability_zones.py","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# TODO(jonathan) add request body schema for quota_set"},{"line_number":22,"context_line":"get_quota_set_query \u003d {"},{"line_number":23,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":24,"context_line":"    # TODO(jonathan) add version"},{"line_number":25,"context_line":"    \u0027properties\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"4e250d12_3bf4b800","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":19},"in_reply_to":"f0659d32_34b4e03b","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bcdd9f739f164225ba72f455acd28daf44a073af","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":24,"context_line":"    # TODO(jonathan) add version"},{"line_number":25,"context_line":"    \u0027properties\u0027: {"},{"line_number":26,"context_line":"        \u0027project_id\u0027: {"},{"line_number":27,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":28,"context_line":"        },"},{"line_number":29,"context_line":"        \u0027project_id_quota_request_path\u0027: {"},{"line_number":30,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":31,"context_line":"        }"},{"line_number":32,"context_line":"    },"},{"line_number":33,"context_line":"}"},{"line_number":34,"context_line":"get_quota_set_response \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"9692b9ad_b2ba3407","line":31,"range":{"start_line":26,"start_character":8,"end_line":31,"end_character":9},"updated":"2024-06-28 22:21:14.000000000","message":"path parameters aren\u0027t in the schema, so no need to add them here..","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":24,"context_line":"    # TODO(jonathan) add version"},{"line_number":25,"context_line":"    \u0027properties\u0027: {"},{"line_number":26,"context_line":"        \u0027project_id\u0027: {"},{"line_number":27,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":28,"context_line":"        },"},{"line_number":29,"context_line":"        \u0027project_id_quota_request_path\u0027: {"},{"line_number":30,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":31,"context_line":"        }"},{"line_number":32,"context_line":"    },"},{"line_number":33,"context_line":"}"},{"line_number":34,"context_line":"get_quota_set_response \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"855dc56e_347d1d60","line":31,"range":{"start_line":26,"start_character":8,"end_line":31,"end_character":9},"in_reply_to":"9692b9ad_b2ba3407","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bcdd9f739f164225ba72f455acd28daf44a073af","unresolved":true,"context_lines":[{"line_number":31,"context_line":"        }"},{"line_number":32,"context_line":"    },"},{"line_number":33,"context_line":"}"},{"line_number":34,"context_line":"get_quota_set_response \u003d {"},{"line_number":35,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":36,"context_line":"    \u0027properties\u0027: {"},{"line_number":37,"context_line":"        \u0027quota_set\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"f71701f9_70f4605e","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":22},"updated":"2024-06-28 22:21:14.000000000","message":"\"show_response_body\"","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        }"},{"line_number":32,"context_line":"    },"},{"line_number":33,"context_line":"}"},{"line_number":34,"context_line":"get_quota_set_response \u003d {"},{"line_number":35,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":36,"context_line":"    \u0027properties\u0027: {"},{"line_number":37,"context_line":"        \u0027quota_set\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"584ddb1c_e667d980","line":34,"range":{"start_line":34,"start_character":0,"end_line":34,"end_character":22},"in_reply_to":"f71701f9_70f4605e","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"}],"manila/api/schemas/user_messages.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b396dab734697ca241a26e5a4f136ef74e0d3088","unresolved":true,"context_lines":[{"line_number":18,"context_line":"from oslo_config import cfg"},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"get_all_messages_query \u003d {"},{"line_number":22,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":23,"context_line":"    \u0027properties\u0027: {"},{"line_number":24,"context_line":"        \u0027limit\u0027: {"}],"source_content_type":"text/x-python","patch_set":5,"id":"6accf43e_f3b75c83","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":22},"updated":"2024-06-30 13:43:19.000000000","message":"Can you call this `index_query`? We\u0027ll try to keep the names `index|show|delete|update`","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from oslo_config import cfg"},{"line_number":19,"context_line":"CONF \u003d cfg.CONF"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"get_all_messages_query \u003d {"},{"line_number":22,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":23,"context_line":"    \u0027properties\u0027: {"},{"line_number":24,"context_line":"        \u0027limit\u0027: {"}],"source_content_type":"text/x-python","patch_set":5,"id":"e4377623_60650e0c","line":21,"range":{"start_line":21,"start_character":0,"end_line":21,"end_character":22},"in_reply_to":"6accf43e_f3b75c83","updated":"2024-07-19 14:24:33.000000000","message":"I updated the names.","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b396dab734697ca241a26e5a4f136ef74e0d3088","unresolved":true,"context_lines":[{"line_number":64,"context_line":"        },"},{"line_number":65,"context_line":"        }"},{"line_number":66,"context_line":"    }"},{"line_number":67,"context_line":"get_all_messages_response_body \u003d {"},{"line_number":68,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":69,"context_line":"    \u0027properties\u0027: {"},{"line_number":70,"context_line":"        \u0027id\u0027: {"}],"source_content_type":"text/x-python","patch_set":5,"id":"3c0dff76_cb6ceda4","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":30},"updated":"2024-06-30 13:43:19.000000000","message":"ditto, can you call this `index_response_body`","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":64,"context_line":"        },"},{"line_number":65,"context_line":"        }"},{"line_number":66,"context_line":"    }"},{"line_number":67,"context_line":"get_all_messages_response_body \u003d {"},{"line_number":68,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":69,"context_line":"    \u0027properties\u0027: {"},{"line_number":70,"context_line":"        \u0027id\u0027: {"}],"source_content_type":"text/x-python","patch_set":5,"id":"c3576d3d_107641db","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":30},"in_reply_to":"3c0dff76_cb6ceda4","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b396dab734697ca241a26e5a4f136ef74e0d3088","unresolved":true,"context_lines":[{"line_number":117,"context_line":"        },"},{"line_number":118,"context_line":"    }"},{"line_number":119,"context_line":"}"},{"line_number":120,"context_line":"get_message_query \u003d {"},{"line_number":121,"context_line":"}"},{"line_number":122,"context_line":"    # TODO(jonathan) params are all passed in the path. Do we need a query schema?"},{"line_number":123,"context_line":"get_message_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"9134e1cd_7c2e7896","line":120,"range":{"start_line":120,"start_character":0,"end_line":120,"end_character":17},"updated":"2024-06-30 13:43:19.000000000","message":"ditto: `show_query`","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        },"},{"line_number":118,"context_line":"    }"},{"line_number":119,"context_line":"}"},{"line_number":120,"context_line":"get_message_query \u003d {"},{"line_number":121,"context_line":"}"},{"line_number":122,"context_line":"    # TODO(jonathan) params are all passed in the path. Do we need a query schema?"},{"line_number":123,"context_line":"get_message_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"7896b2cb_05452667","line":120,"range":{"start_line":120,"start_character":0,"end_line":120,"end_character":17},"in_reply_to":"9134e1cd_7c2e7896","updated":"2024-07-19 14:24:33.000000000","message":"I\u0027m not 100% on show_query. In the docs there are only path parameters and no query parameters. I created a empty query I not sure if this is correct. \n\nDone","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b396dab734697ca241a26e5a4f136ef74e0d3088","unresolved":true,"context_lines":[{"line_number":120,"context_line":"get_message_query \u003d {"},{"line_number":121,"context_line":"}"},{"line_number":122,"context_line":"    # TODO(jonathan) params are all passed in the path. Do we need a query schema?"},{"line_number":123,"context_line":"get_message_response_body \u003d {"},{"line_number":124,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":125,"context_line":"    \u0027properties\u0027: {"},{"line_number":126,"context_line":"        \u0027message\u0027: get_all_messages_response_body"}],"source_content_type":"text/x-python","patch_set":5,"id":"f8a108b2_bc03bdd2","line":123,"range":{"start_line":123,"start_character":0,"end_line":123,"end_character":25},"updated":"2024-06-30 13:43:19.000000000","message":"`show_response_body`","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":120,"context_line":"get_message_query \u003d {"},{"line_number":121,"context_line":"}"},{"line_number":122,"context_line":"    # TODO(jonathan) params are all passed in the path. Do we need a query schema?"},{"line_number":123,"context_line":"get_message_response_body \u003d {"},{"line_number":124,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":125,"context_line":"    \u0027properties\u0027: {"},{"line_number":126,"context_line":"        \u0027message\u0027: get_all_messages_response_body"}],"source_content_type":"text/x-python","patch_set":5,"id":"35b6ac6f_c9514781","line":123,"range":{"start_line":123,"start_character":0,"end_line":123,"end_character":25},"in_reply_to":"f8a108b2_bc03bdd2","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b396dab734697ca241a26e5a4f136ef74e0d3088","unresolved":true,"context_lines":[{"line_number":126,"context_line":"        \u0027message\u0027: get_all_messages_response_body"},{"line_number":127,"context_line":"    }"},{"line_number":128,"context_line":"}"},{"line_number":129,"context_line":"delete_message_query \u003d {"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"}"},{"line_number":132,"context_line":"delete_message_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"12e27739_c9ecc4c9","line":129,"range":{"start_line":129,"start_character":0,"end_line":129,"end_character":20},"updated":"2024-06-30 13:43:19.000000000","message":"`delete_query`","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":126,"context_line":"        \u0027message\u0027: get_all_messages_response_body"},{"line_number":127,"context_line":"    }"},{"line_number":128,"context_line":"}"},{"line_number":129,"context_line":"delete_message_query \u003d {"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"}"},{"line_number":132,"context_line":"delete_message_response_body \u003d {"}],"source_content_type":"text/x-python","patch_set":5,"id":"2ba5827b_76f33297","line":129,"range":{"start_line":129,"start_character":0,"end_line":129,"end_character":20},"in_reply_to":"12e27739_c9ecc4c9","updated":"2024-07-19 14:24:33.000000000","message":"Created an empty delete_query. The API docs listed only path parameters.","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b396dab734697ca241a26e5a4f136ef74e0d3088","unresolved":true,"context_lines":[{"line_number":129,"context_line":"delete_message_query \u003d {"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"}"},{"line_number":132,"context_line":"delete_message_response_body \u003d {"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":5,"id":"a5d1ee4b_da1e7a95","line":132,"range":{"start_line":132,"start_character":0,"end_line":132,"end_character":28},"updated":"2024-06-30 13:43:19.000000000","message":"`delete_response_body`","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":129,"context_line":"delete_message_query \u003d {"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"}"},{"line_number":132,"context_line":"delete_message_response_body \u003d {"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":5,"id":"52078e1a_72f3bfd1","line":132,"range":{"start_line":132,"start_character":0,"end_line":132,"end_character":28},"in_reply_to":"a5d1ee4b_da1e7a95","updated":"2024-07-19 14:24:33.000000000","message":"Hi","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bcdd9f739f164225ba72f455acd28daf44a073af","unresolved":true,"context_lines":[{"line_number":22,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":23,"context_line":"    \u0027properties\u0027: {"},{"line_number":24,"context_line":"        \u0027limit\u0027: {"},{"line_number":25,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":26,"context_line":"        },"},{"line_number":27,"context_line":"        \u0027offset\u0027: {"},{"line_number":28,"context_line":"            \u0027type\u0027: \u0027integer\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3d067335_8099f2ab","line":25,"range":{"start_line":25,"start_character":28,"end_line":25,"end_character":29},"updated":"2024-06-28 22:21:14.000000000","message":"See how the limit parameter\u0027s checked in a different API schema:\n\n\nhttps://github.com/openstack/manila/blob/31fa27b8bf6eee4f5eb96ab39888359772185b7e/m\nanila/api/schemas/resource_locks.py#L101-L103","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":23,"context_line":"    \u0027properties\u0027: {"},{"line_number":24,"context_line":"        \u0027limit\u0027: {"},{"line_number":25,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":26,"context_line":"        },"},{"line_number":27,"context_line":"        \u0027offset\u0027: {"},{"line_number":28,"context_line":"            \u0027type\u0027: \u0027integer\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"ffb8c029_baab4aa6","line":25,"range":{"start_line":25,"start_character":28,"end_line":25,"end_character":29},"in_reply_to":"3d067335_8099f2ab","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bcdd9f739f164225ba72f455acd28daf44a073af","unresolved":true,"context_lines":[{"line_number":23,"context_line":"    \u0027properties\u0027: {"},{"line_number":24,"context_line":"        \u0027limit\u0027: {"},{"line_number":25,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":26,"context_line":"        },"},{"line_number":27,"context_line":"        \u0027offset\u0027: {"},{"line_number":28,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":29,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":6,"id":"46fac86a_cadb3d2f","line":26,"range":{"start_line":26,"start_character":8,"end_line":26,"end_character":10},"updated":"2024-06-28 22:21:14.000000000","message":"for each of these parameters, there\u0027s a description that\u0027s already available in the parameters.yaml file that\u0027s in this repository.. \n\nSo follow the example here: https://github.com/openstack/manila/blob/master/manila/api/schemas/resource_locks.py\n\nto add description to each of these..","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    \u0027properties\u0027: {"},{"line_number":24,"context_line":"        \u0027limit\u0027: {"},{"line_number":25,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":26,"context_line":"        },"},{"line_number":27,"context_line":"        \u0027offset\u0027: {"},{"line_number":28,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":29,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":6,"id":"88b9c9b5_1983c027","line":26,"range":{"start_line":26,"start_character":8,"end_line":26,"end_character":10},"in_reply_to":"46fac86a_cadb3d2f","updated":"2024-07-19 14:24:33.000000000","message":"I\u0027ll review this and make sure that I understand this.","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bcdd9f739f164225ba72f455acd28daf44a073af","unresolved":true,"context_lines":[{"line_number":24,"context_line":"        \u0027limit\u0027: {"},{"line_number":25,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":26,"context_line":"        },"},{"line_number":27,"context_line":"        \u0027offset\u0027: {"},{"line_number":28,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":29,"context_line":"        },"},{"line_number":30,"context_line":"        \u0027sort_key\u0027: {"},{"line_number":31,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":32,"context_line":"        },"},{"line_number":33,"context_line":"        \u0027sort_dir\u0027: {"},{"line_number":34,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":35,"context_line":"        },"},{"line_number":36,"context_line":"        \u0027action_id\u0027: {"},{"line_number":37,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":38,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":6,"id":"1bae94ec_d3e135c2","line":35,"range":{"start_line":27,"start_character":7,"end_line":35,"end_character":10},"updated":"2024-06-28 22:21:14.000000000","message":"See example here: https://github.com/openstack/manila/blob/31fa27b8bf6eee4f5eb96ab39888359772185b7e/manila/api/schemas/resource_locks.py#L111-L125","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":24,"context_line":"        \u0027limit\u0027: {"},{"line_number":25,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":26,"context_line":"        },"},{"line_number":27,"context_line":"        \u0027offset\u0027: {"},{"line_number":28,"context_line":"            \u0027type\u0027: \u0027integer\u0027"},{"line_number":29,"context_line":"        },"},{"line_number":30,"context_line":"        \u0027sort_key\u0027: {"},{"line_number":31,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":32,"context_line":"        },"},{"line_number":33,"context_line":"        \u0027sort_dir\u0027: {"},{"line_number":34,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":35,"context_line":"        },"},{"line_number":36,"context_line":"        \u0027action_id\u0027: {"},{"line_number":37,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":38,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":6,"id":"8aabcdce_91a6badc","line":35,"range":{"start_line":27,"start_character":7,"end_line":35,"end_character":10},"in_reply_to":"1bae94ec_d3e135c2","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"bcdd9f739f164225ba72f455acd28daf44a073af","unresolved":true,"context_lines":[{"line_number":33,"context_line":"        \u0027sort_dir\u0027: {"},{"line_number":34,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":35,"context_line":"        },"},{"line_number":36,"context_line":"        \u0027action_id\u0027: {"},{"line_number":37,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":38,"context_line":"        },"},{"line_number":39,"context_line":"        \u0027detail_id\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"02a8dc4d_d8a8faf0","line":36,"range":{"start_line":36,"start_character":21,"end_line":36,"end_character":22},"updated":"2024-06-28 22:21:14.000000000","message":"When you fix the parameters above, using those as hints, you should be able to fix this and all parameters below appropriately","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        \u0027sort_dir\u0027: {"},{"line_number":34,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":35,"context_line":"        },"},{"line_number":36,"context_line":"        \u0027action_id\u0027: {"},{"line_number":37,"context_line":"            \u0027type\u0027: \u0027string\u0027"},{"line_number":38,"context_line":"        },"},{"line_number":39,"context_line":"        \u0027detail_id\u0027: {"}],"source_content_type":"text/x-python","patch_set":6,"id":"84e7eb14_d41dbeb8","line":36,"range":{"start_line":36,"start_character":21,"end_line":36,"end_character":22},"in_reply_to":"02a8dc4d_d8a8faf0","updated":"2024-07-19 14:24:33.000000000","message":"Thanks for the examples.\n\nDone","commit_id":"27aee38aa21f52df3d614eb3acfa2705824fce67"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"795d7e8ed5bb5650afea246e788156279aa8afa2","unresolved":true,"context_lines":[{"line_number":82,"context_line":"}"},{"line_number":83,"context_line":"delete_response_body \u003d {"},{"line_number":84,"context_line":"    \u0027type\u0027: \u0027null\u0027,"},{"line_number":85,"context_line":"    \"message\": {"},{"line_number":86,"context_line":"        \"id\": {"},{"line_number":87,"context_line":"            \"type\": \"string\","},{"line_number":88,"context_line":"            \"format\": \"uuid\","},{"line_number":89,"context_line":"        },"},{"line_number":90,"context_line":"    },"},{"line_number":91,"context_line":"}"},{"line_number":92,"context_line":"index_query \u003d {"},{"line_number":93,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"cd53fcab_58e9990b","line":90,"range":{"start_line":85,"start_character":4,"end_line":90,"end_character":6},"updated":"2024-07-18 13:38:39.000000000","message":"delete doesn\u0027t return anything if I understand it correctly [1], so should we keep this? sorry, this might be a dumb question :)\n\n[1] https://docs.openstack.org/api-ref/shared-file-system/#delete-message","commit_id":"20af6682c7152a7a1c04b8c55f3d2ace3cdf36db"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":82,"context_line":"}"},{"line_number":83,"context_line":"delete_response_body \u003d {"},{"line_number":84,"context_line":"    \u0027type\u0027: \u0027null\u0027,"},{"line_number":85,"context_line":"    \"message\": {"},{"line_number":86,"context_line":"        \"id\": {"},{"line_number":87,"context_line":"            \"type\": \"string\","},{"line_number":88,"context_line":"            \"format\": \"uuid\","},{"line_number":89,"context_line":"        },"},{"line_number":90,"context_line":"    },"},{"line_number":91,"context_line":"}"},{"line_number":92,"context_line":"index_query \u003d {"},{"line_number":93,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a9f8ead_35bab4c1","line":90,"range":{"start_line":85,"start_character":4,"end_line":90,"end_character":6},"in_reply_to":"cd53fcab_58e9990b","updated":"2024-07-19 14:24:33.000000000","message":"HI Carlos, thanks for looking. Your 100% right. Delete only takes path param and returns nothing. I was trying to understand the failing test in manila_tempest_plugin. I think(hopping) that this is the cause of the CI build failure errors seem to point to tests in manila_tempest_plugin of delete or to that use the delete function cleaning up after test using the delete method. \nI\u0027v removed the validation from delete method.","commit_id":"20af6682c7152a7a1c04b8c55f3d2ace3cdf36db"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"d22dd857764d4d1dba6d4cde40f3797e431a482e","unresolved":true,"context_lines":[{"line_number":82,"context_line":"}"},{"line_number":83,"context_line":"delete_response_body \u003d {"},{"line_number":84,"context_line":"    \u0027type\u0027: \u0027null\u0027,"},{"line_number":85,"context_line":"    \"message\": {"},{"line_number":86,"context_line":"        \"id\": {"},{"line_number":87,"context_line":"            \"type\": \"string\","},{"line_number":88,"context_line":"            \"format\": \"uuid\","},{"line_number":89,"context_line":"        },"},{"line_number":90,"context_line":"    },"},{"line_number":91,"context_line":"}"},{"line_number":92,"context_line":"index_query \u003d {"},{"line_number":93,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"752d78c6_51909471","line":90,"range":{"start_line":85,"start_character":4,"end_line":90,"end_character":6},"in_reply_to":"cd53fcab_58e9990b","updated":"2024-07-18 23:49:06.000000000","message":"Nope you\u0027re right","commit_id":"20af6682c7152a7a1c04b8c55f3d2ace3cdf36db"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":17,"id":"2bb7dcd5_d8ef90b7","updated":"2024-07-22 13:38:56.000000000","message":"Can you group schemas like so:\n\n- request body\n- request query string\n- response body\n\nAnd can you name schemas consistently:\n\n- `xxx_request_body`\n- `xxx_request_query`\n- `xxx_response_body`\n\nFinally, can you call this file `messages.py` to match the name of the file containing the resource itself (or rename that file plus related test files).","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"e38a5c59b7f56a6a4590c0c5efdaadab7d36aa76","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":17,"id":"3e67c511_32e363e7","in_reply_to":"2bb7dcd5_d8ef90b7","updated":"2024-07-24 01:44:35.000000000","message":"Done","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":true,"context_lines":[{"line_number":18,"context_line":"from manila.common import constants"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"CONF \u003d cfg.CONF"},{"line_number":21,"context_line":"\u0027\u0027\u0027 TODO(jonathan) show query is not show in the api documentation"},{"line_number":22,"context_line":"In the docs there are two path parameters id and message_id"},{"line_number":23,"context_line":"but no query parameters."},{"line_number":24,"context_line":"Codegenerator errors if not given a query of type object and properties"},{"line_number":25,"context_line":"\u0027\u0027\u0027"},{"line_number":26,"context_line":"show_query \u003d {"},{"line_number":27,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":28,"context_line":"    \u0027properties\u0027: {"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":"}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"show_response_body \u003d {"},{"line_number":33,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"e82344a8_ca98f171","line":30,"range":{"start_line":21,"start_character":0,"end_line":30,"end_character":1},"updated":"2024-07-22 13:38:56.000000000","message":"This has to be an object because there will always be a container of query strings - it just might be empty. The way to model that is via the empty object as you have done here. Ideally, we\u0027d use `additionalProperties` to say the user can\u0027t pass any properties, but this would be a breaking API change that requires a microversion so we can\u0027t do that yet. Instead, we must leave a TODO so we can fix this later.\n\n```suggestion\n# TODO(jonathan): Reject additional properties in a future microversion\nshow_query \u003d {\n    \u0027type\u0027: \u0027object\u0027,\n    \u0027properties\u0027: {},\n    \u0027required\u0027: [],\n    \u0027additionalProperties\u0027: True,\n}\n```","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"2b4391327921867f4e71d37ce00bcff459d70aab","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from manila.common import constants"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"CONF \u003d cfg.CONF"},{"line_number":21,"context_line":"\u0027\u0027\u0027 TODO(jonathan) show query is not show in the api documentation"},{"line_number":22,"context_line":"In the docs there are two path parameters id and message_id"},{"line_number":23,"context_line":"but no query parameters."},{"line_number":24,"context_line":"Codegenerator errors if not given a query of type object and properties"},{"line_number":25,"context_line":"\u0027\u0027\u0027"},{"line_number":26,"context_line":"show_query \u003d {"},{"line_number":27,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":28,"context_line":"    \u0027properties\u0027: {"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":"}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"show_response_body \u003d {"},{"line_number":33,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"29f87733_936cd368","line":30,"range":{"start_line":21,"start_character":0,"end_line":30,"end_character":1},"in_reply_to":"9e98f286_167f85ec","updated":"2024-07-26 06:28:46.000000000","message":"Sorry that wasn\u0027t clear. I was taking about the endpoint that didn\u0027t return anything. Artem explained this in out sync meeting last week. Sorry for the confusion","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f2b0f79d78d085ac7d000f55e21585020c9ff9af","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from manila.common import constants"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"CONF \u003d cfg.CONF"},{"line_number":21,"context_line":"\u0027\u0027\u0027 TODO(jonathan) show query is not show in the api documentation"},{"line_number":22,"context_line":"In the docs there are two path parameters id and message_id"},{"line_number":23,"context_line":"but no query parameters."},{"line_number":24,"context_line":"Codegenerator errors if not given a query of type object and properties"},{"line_number":25,"context_line":"\u0027\u0027\u0027"},{"line_number":26,"context_line":"show_query \u003d {"},{"line_number":27,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":28,"context_line":"    \u0027properties\u0027: {"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":"}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"show_response_body \u003d {"},{"line_number":33,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"9e98f286_167f85ec","line":30,"range":{"start_line":21,"start_character":0,"end_line":30,"end_character":1},"in_reply_to":"9f3972ff_9eb3ad5a","updated":"2024-07-24 13:24:32.000000000","message":"What do you mean? An empty list of what?","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"e38a5c59b7f56a6a4590c0c5efdaadab7d36aa76","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from manila.common import constants"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"CONF \u003d cfg.CONF"},{"line_number":21,"context_line":"\u0027\u0027\u0027 TODO(jonathan) show query is not show in the api documentation"},{"line_number":22,"context_line":"In the docs there are two path parameters id and message_id"},{"line_number":23,"context_line":"but no query parameters."},{"line_number":24,"context_line":"Codegenerator errors if not given a query of type object and properties"},{"line_number":25,"context_line":"\u0027\u0027\u0027"},{"line_number":26,"context_line":"show_query \u003d {"},{"line_number":27,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":28,"context_line":"    \u0027properties\u0027: {"},{"line_number":29,"context_line":"    }"},{"line_number":30,"context_line":"}"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"show_response_body \u003d {"},{"line_number":33,"context_line":"    \u0027type\u0027: \u0027object\u0027,"}],"source_content_type":"text/x-python","patch_set":17,"id":"9f3972ff_9eb3ad5a","line":30,"range":{"start_line":21,"start_character":0,"end_line":30,"end_character":1},"in_reply_to":"e82344a8_ca98f171","updated":"2024-07-24 01:44:35.000000000","message":"should all Objects have the an empty list","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":true,"context_lines":[{"line_number":32,"context_line":"show_response_body \u003d {"},{"line_number":33,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":34,"context_line":"    \u0027properties\u0027: {"},{"line_number":35,"context_line":"        \u0027message\u0027: {"},{"line_number":36,"context_line":"            \u0027links\u0027: response_types.links,"},{"line_number":37,"context_line":"        },"},{"line_number":38,"context_line":"        \"id\": {"}],"source_content_type":"text/x-python","patch_set":17,"id":"9b5cbb94_68ca82ff","line":35,"updated":"2024-07-22 13:38:56.000000000","message":"This isn\u0027t correct. The response looks like this:\n\n```json\n{\n    \"message\": {\n        \"id\": \"abc123\",\n        \"project_id\": \"foo\",\n        ...\n    }\n}\n```\n\nThat is a nested object and needs to be represented as such. You want:\n\n```python\nshow_response_body \u003d {\n    \u0027type\u0027: \u0027object\u0027,\n    \u0027properties\u0027: {\n        \u0027message\u0027: {\n            \u0027type\u0027: \u0027object\u0027,\n            \u0027properties\u0027: {\n                \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},\n                \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},\n                ...\n            },\n            \u0027required\u0027: [\n                \u0027id\u0027,\n                \u0027project_id\u0027,\n                ...\n            ],\n            \u0027additionalProperties\u0027: False,\n    },\n    \u0027required\u0027: [\u0027message\u0027],\n    \u0027additionalProperties\u0027: False,\n}\n```\n\nI\u0027m not sure why this is being permitted by the schema validator. I guess we need a stricter validator.","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"6b6bcaac3c86dc15a7a7592e30f649af4023e1f0","unresolved":false,"context_lines":[{"line_number":32,"context_line":"show_response_body \u003d {"},{"line_number":33,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":34,"context_line":"    \u0027properties\u0027: {"},{"line_number":35,"context_line":"        \u0027message\u0027: {"},{"line_number":36,"context_line":"            \u0027links\u0027: response_types.links,"},{"line_number":37,"context_line":"        },"},{"line_number":38,"context_line":"        \"id\": {"}],"source_content_type":"text/x-python","patch_set":17,"id":"ae64915c_b33c2300","line":35,"in_reply_to":"9b5cbb94_68ca82ff","updated":"2024-07-28 06:11:50.000000000","message":"Done","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":true,"context_lines":[{"line_number":92,"context_line":"        ),"},{"line_number":93,"context_line":"        \u0027sort_key\u0027: parameter_types.multi_params({"},{"line_number":94,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":95,"context_line":"            \u0027default\u0027: \"created_at\","},{"line_number":96,"context_line":"            \u0027enum\u0027: [\u0027id\u0027, \u0027project_id\u0027, \u0027request_id\u0027, \u0027resource_type\u0027,"},{"line_number":97,"context_line":"                     \u0027action_id\u0027, \u0027detail_id\u0027, \u0027resource_id\u0027,"},{"line_number":98,"context_line":"                     \u0027message_level\u0027, \u0027expires_at\u0027, \u0027created_at\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"32082b40_72864cc6","line":95,"updated":"2024-07-22 13:38:56.000000000","message":"nit: consistency\n\n```suggestion\n            \u0027default\u0027: \u0027created_at\u0027,\n```","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"dbd5efe060143c1774d77932dada77db09ad26c7","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        ),"},{"line_number":93,"context_line":"        \u0027sort_key\u0027: parameter_types.multi_params({"},{"line_number":94,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":95,"context_line":"            \u0027default\u0027: \"created_at\","},{"line_number":96,"context_line":"            \u0027enum\u0027: [\u0027id\u0027, \u0027project_id\u0027, \u0027request_id\u0027, \u0027resource_type\u0027,"},{"line_number":97,"context_line":"                     \u0027action_id\u0027, \u0027detail_id\u0027, \u0027resource_id\u0027,"},{"line_number":98,"context_line":"                     \u0027message_level\u0027, \u0027expires_at\u0027, \u0027created_at\u0027]"}],"source_content_type":"text/x-python","patch_set":17,"id":"8f7bb4a3_de10c181","line":95,"in_reply_to":"32082b40_72864cc6","updated":"2024-07-26 06:41:00.000000000","message":"Done","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":true,"context_lines":[{"line_number":175,"context_line":"            \u0027type\u0027: [\u0027string\u0027, \u0027null\u0027],"},{"line_number":176,"context_line":"            \u0027enum\u0027: constants.RESOURCE_LOCK_RESOURCE_TYPES + (None,),"},{"line_number":177,"context_line":"        }),"},{"line_number":178,"context_line":"        \u0027created_since\u0027: parameter_types.multi_params({"},{"line_number":179,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":180,"context_line":"            \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":181,"context_line":"        }),"},{"line_number":182,"context_line":"        \u0027created_before\u0027: parameter_types.multi_params({"},{"line_number":183,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":184,"context_line":"            \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":185,"context_line":"        }),"},{"line_number":186,"context_line":"    },"},{"line_number":187,"context_line":"}"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"dd85d019_56ae60c6","line":185,"range":{"start_line":178,"start_character":0,"end_line":185,"end_character":11},"updated":"2024-07-22 13:38:56.000000000","message":"These are the only two differences between the v2.0 - v2.51 versions and v2.52+. Rather than duplicating this entire dictionary, why not make a duplicate of the original one and modify it? Something like:\n\n```\nimport copy\n\n...\n\nindex_request_query_v252 \u003d copy.deepcopy(index_request_query)\nindex_request_query_v252[\u0027properties\u0027].extend({\n    # additional definitions here\n})\n```","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"6b6bcaac3c86dc15a7a7592e30f649af4023e1f0","unresolved":false,"context_lines":[{"line_number":175,"context_line":"            \u0027type\u0027: [\u0027string\u0027, \u0027null\u0027],"},{"line_number":176,"context_line":"            \u0027enum\u0027: constants.RESOURCE_LOCK_RESOURCE_TYPES + (None,),"},{"line_number":177,"context_line":"        }),"},{"line_number":178,"context_line":"        \u0027created_since\u0027: parameter_types.multi_params({"},{"line_number":179,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":180,"context_line":"            \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":181,"context_line":"        }),"},{"line_number":182,"context_line":"        \u0027created_before\u0027: parameter_types.multi_params({"},{"line_number":183,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":184,"context_line":"            \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":185,"context_line":"        }),"},{"line_number":186,"context_line":"    },"},{"line_number":187,"context_line":"}"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"61e736ec_d25c2e5f","line":185,"range":{"start_line":178,"start_character":0,"end_line":185,"end_character":11},"in_reply_to":"a9b44ed0_02d8558c","updated":"2024-07-28 06:11:50.000000000","message":"Done","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"dbd5efe060143c1774d77932dada77db09ad26c7","unresolved":true,"context_lines":[{"line_number":175,"context_line":"            \u0027type\u0027: [\u0027string\u0027, \u0027null\u0027],"},{"line_number":176,"context_line":"            \u0027enum\u0027: constants.RESOURCE_LOCK_RESOURCE_TYPES + (None,),"},{"line_number":177,"context_line":"        }),"},{"line_number":178,"context_line":"        \u0027created_since\u0027: parameter_types.multi_params({"},{"line_number":179,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":180,"context_line":"            \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":181,"context_line":"        }),"},{"line_number":182,"context_line":"        \u0027created_before\u0027: parameter_types.multi_params({"},{"line_number":183,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":184,"context_line":"            \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":185,"context_line":"        }),"},{"line_number":186,"context_line":"    },"},{"line_number":187,"context_line":"}"},{"line_number":188,"context_line":""}],"source_content_type":"text/x-python","patch_set":17,"id":"a9b44ed0_02d8558c","line":185,"range":{"start_line":178,"start_character":0,"end_line":185,"end_character":11},"in_reply_to":"dd85d019_56ae60c6","updated":"2024-07-26 06:41:00.000000000","message":"From the API definition it looks like the v2.52 added param to the path string. It appears that the response body look the same.","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":true,"context_lines":[{"line_number":189,"context_line":"index_response_body \u003d {"},{"line_number":190,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":191,"context_line":"    \u0027properties\u0027: {"},{"line_number":192,"context_line":"        \u0027id\u0027: {"},{"line_number":193,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":194,"context_line":"            \u0027format\u0027: \u0027uuid\u0027,"},{"line_number":195,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":17,"id":"ca2cb83f_da185f78","line":192,"updated":"2024-07-22 13:38:56.000000000","message":"This isn\u0027t correct either. The list view looks like this:\n\n```\n{\n    \"messages\": [\n        {\n            \"id\": \"abc123\",\n            \"project_id\": \"foo\",\n            ...\n        }\n    ],\n    \"message_links\": [\n        {\n            \"rel\": \"next\",\n            \"href\": \"https://example.com/...\"\n        }\n    ]\n}\n```\n\nThis is an object containing two keys whose values are both arrays of objects. You can represent this like so:\n\n```\nindex_response_body \u003d {\n    \u0027type\u0027: \u0027object\u0027,\n    \u0027properties\u0027: {\n        \u0027messages\u0027: {\n            \u0027type\u0027: \u0027array\u0027,\n            \u0027items\u0027: {\n                \u0027type\u0027: \u0027object\u0027,\n                \u0027properties\u0027: {\n                    \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},\n                    \u0027project_id\u0027: {\u0027type\u0027: \u0027string\u0027, \u0027format\u0027: \u0027uuid\u0027},\n                    ...\n                },\n                \u0027required\u0027: [\n                    \u0027id\u0027,\n                    \u0027project_id\u0027,\n                    ...\n                ],\n                \u0027additionalProperties\u0027: False,\n            },\n        },\n        \u0027message_links\u0027: response_types.collection_links,\n    },\n    \u0027required\u0027: [\u0027message\u0027],\n    \u0027additionalProperties\u0027: False,\n}\n```","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"6b6bcaac3c86dc15a7a7592e30f649af4023e1f0","unresolved":false,"context_lines":[{"line_number":189,"context_line":"index_response_body \u003d {"},{"line_number":190,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":191,"context_line":"    \u0027properties\u0027: {"},{"line_number":192,"context_line":"        \u0027id\u0027: {"},{"line_number":193,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":194,"context_line":"            \u0027format\u0027: \u0027uuid\u0027,"},{"line_number":195,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":17,"id":"91b8b81c_b6a15efe","line":192,"in_reply_to":"978efdfa_6fafcac0","updated":"2024-07-28 06:11:50.000000000","message":"Done","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"dbd5efe060143c1774d77932dada77db09ad26c7","unresolved":true,"context_lines":[{"line_number":189,"context_line":"index_response_body \u003d {"},{"line_number":190,"context_line":"    \u0027type\u0027: \u0027object\u0027,"},{"line_number":191,"context_line":"    \u0027properties\u0027: {"},{"line_number":192,"context_line":"        \u0027id\u0027: {"},{"line_number":193,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":194,"context_line":"            \u0027format\u0027: \u0027uuid\u0027,"},{"line_number":195,"context_line":"        },"}],"source_content_type":"text/x-python","patch_set":17,"id":"978efdfa_6fafcac0","line":192,"in_reply_to":"ca2cb83f_da185f78","updated":"2024-07-26 06:41:00.000000000","message":"I think did this but I not 100% that it is correct. Would like to have a second set of eyes on this one.","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":true,"context_lines":[{"line_number":225,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":226,"context_line":"            \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":227,"context_line":"        },"},{"line_number":228,"context_line":"    }"},{"line_number":229,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":17,"id":"7d2a6691_42ae1ff6","line":228,"updated":"2024-07-22 13:38:56.000000000","message":"You need to add the following keys:\n\n- `required`. This should contain all attributes that are guaranteed to be in the response. Unless there are some that are admin-only, this will be all keys from `properties`.\n- `additionalProperties`. This should be `false` for a response body schema. It should be `true` for a request body and request schema schema, with a TODO to reject additional properties in a future microversion (you can copy the note from `manila/api/schemas/resource_locks.py`).","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"dbd5efe060143c1774d77932dada77db09ad26c7","unresolved":true,"context_lines":[{"line_number":225,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":226,"context_line":"            \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":227,"context_line":"        },"},{"line_number":228,"context_line":"    }"},{"line_number":229,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":17,"id":"fd3c2533_c5af0f6b","line":228,"in_reply_to":"7d2a6691_42ae1ff6","updated":"2024-07-26 06:41:00.000000000","message":"Should each request query have a TODO? I included all the properties in the required fields except for message_links because it caused an error.","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"6b6bcaac3c86dc15a7a7592e30f649af4023e1f0","unresolved":false,"context_lines":[{"line_number":225,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":226,"context_line":"            \u0027format\u0027: \u0027date-time\u0027,"},{"line_number":227,"context_line":"        },"},{"line_number":228,"context_line":"    }"},{"line_number":229,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":17,"id":"f0586bc6_735e52f6","line":228,"in_reply_to":"fd3c2533_c5af0f6b","updated":"2024-07-28 06:11:50.000000000","message":"Done","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"}],"manila/api/v2/messages.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b396dab734697ca241a26e5a4f136ef74e0d3088","unresolved":true,"context_lines":[{"line_number":29,"context_line":"from manila.api.schemas import user_messages as schema"},{"line_number":30,"context_line":"from manila.api import validation"},{"line_number":31,"context_line":"from manila.api.views import messages as messages_view"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from manila import exception"},{"line_number":34,"context_line":"from manila.i18n import _"},{"line_number":35,"context_line":"from manila.message import api as message_api"}],"source_content_type":"text/x-python","patch_set":5,"id":"5e61e11a_32296a6a","line":32,"updated":"2024-06-30 13:43:19.000000000","message":"Imports should be grouped into stdlib, third-party and current package, so you don\u0027t want the newline here.","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":29,"context_line":"from manila.api.schemas import user_messages as schema"},{"line_number":30,"context_line":"from manila.api import validation"},{"line_number":31,"context_line":"from manila.api.views import messages as messages_view"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"from manila import exception"},{"line_number":34,"context_line":"from manila.i18n import _"},{"line_number":35,"context_line":"from manila.message import api as message_api"}],"source_content_type":"text/x-python","patch_set":5,"id":"c2d10905_9891fe0b","line":32,"in_reply_to":"5e61e11a_32296a6a","updated":"2024-07-19 14:24:33.000000000","message":"Done","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b396dab734697ca241a26e5a4f136ef74e0d3088","unresolved":true,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    @wsgi.Controller.api_version(MESSAGES_QUERY_BY_TIMESTAMP)   # noqa: F811"},{"line_number":106,"context_line":"    @wsgi.Controller.authorize(\u0027get_all\u0027)"},{"line_number":107,"context_line":"    @validation.request_query_schema(schema.get_all_messages_query)"},{"line_number":108,"context_line":"    @validation.response_body_schema(schema.get_all_messages_response_body)"},{"line_number":109,"context_line":"    def index(self, req):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":110,"context_line":"        \"\"\"Returns a list of messages, transformed through view builder.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"d43456ba_9c0808a7","line":107,"updated":"2024-06-30 13:43:19.000000000","message":"Looks like you probably want a different query schema here, one that allows for `created_at` and `created_before` filters:\n\n```\n@validation.request_query_schema(schema.index_query_v252, min_version\u003d\u00272.52\u0027)\n```","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"a42ce34d7bb09df908bc8679dc520a3541c54cd8","unresolved":false,"context_lines":[{"line_number":104,"context_line":""},{"line_number":105,"context_line":"    @wsgi.Controller.api_version(MESSAGES_QUERY_BY_TIMESTAMP)   # noqa: F811"},{"line_number":106,"context_line":"    @wsgi.Controller.authorize(\u0027get_all\u0027)"},{"line_number":107,"context_line":"    @validation.request_query_schema(schema.get_all_messages_query)"},{"line_number":108,"context_line":"    @validation.response_body_schema(schema.get_all_messages_response_body)"},{"line_number":109,"context_line":"    def index(self, req):  # pylint: disable\u003dfunction-redefined  # noqa F811"},{"line_number":110,"context_line":"        \"\"\"Returns a list of messages, transformed through view builder.\"\"\""}],"source_content_type":"text/x-python","patch_set":5,"id":"d5b0f1e8_da42d98a","line":107,"in_reply_to":"d43456ba_9c0808a7","updated":"2024-07-19 14:24:33.000000000","message":"I created two different query. Index_query and index_query_v2.52. In the v2.52 i have the created_since and created_before as required. I not sure if this is correct.","commit_id":"8979468a6b0694ad0b89ba629bafe4a3b97c642e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b0f8f279bf32e0da8472cd2c9eb22c737be08591","unresolved":true,"context_lines":[{"line_number":132,"context_line":"                                            sort_key\u003dsort_key,"},{"line_number":133,"context_line":"                                            sort_dir\u003dsort_dir)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        return self._view_builder.index(req, messages)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"def create_resource():"}],"source_content_type":"text/x-python","patch_set":17,"id":"65d227d0_adad7d0a","line":135,"updated":"2024-07-22 13:38:56.000000000","message":"nit: It might make sense to combine these two functions into one since they are so similar. The only difference is the two time comparison filters, which you can handle like so:\n\n```python\nif req.api_version_request \u003c api_version.APIVersionRequest(\"2.52\"):\n    filters.pop(\u0027created_since\u0027, None)\n    filters.pop(\u0027created_before\u0027, None)\nelse:\n    for time_comparison_filter in [\u0027created_since\u0027, \u0027created_before\u0027]:\n        ...\n```\n\nbut this is unrelated so if done, it should be done separately.","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"},{"author":{"_account_id":37037,"name":"Jonathan Koerber","display_name":"Jonathan Koerber","email":"jonathankoerber@gmail.com","username":"JonathanKoerber"},"change_message_id":"f86a458ae8c1570aaed4b066427548ef3ec8f191","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                                            sort_key\u003dsort_key,"},{"line_number":133,"context_line":"                                            sort_dir\u003dsort_dir)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"        return self._view_builder.index(req, messages)"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"def create_resource():"}],"source_content_type":"text/x-python","patch_set":17,"id":"6225d708_0b282069","line":135,"in_reply_to":"65d227d0_adad7d0a","updated":"2024-08-01 18:24:59.000000000","message":"Acknowledged","commit_id":"0e2fca32553f370b93322493fdd9ae66e30c65fb"}]}
