)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"654a4cc54fd329a13e9559e4dc268c4c499303ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"faebad7a_129cd3c4","updated":"2024-11-21 17:42:31.000000000","message":"Thanks for the followup. lgtm","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7a070c74e53e23d182e67baa072e26393f371dd8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"bc40d4d2_adae142c","updated":"2024-11-21 02:26:48.000000000","message":"Verified all the schema with the one we have in Tempest. Only one thing which stopping me to +W on this is markdownified  api-ref \u0027description\u0027. I do not want you to modify it for that and rebase whole series. If you can push  a followup to remove the markdownified I am good.","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"dcdb8ba607d89167f81921245b0f52b2c16ff6fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2f13bf2c_4c78408e","updated":"2024-07-20 07:26:54.000000000","message":"ill look at this again when i can pull up both the schema and api ref to compare","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"0684622998392a6b7af2f552a2a7f3d72e27934d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"49995c6c_9a358119","updated":"2024-11-22 12:36:24.000000000","message":"recheck","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7734ce07b508aa1cd2c79a0a6a1ed87f96fdcd4d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"bdbbeb7c_ed81ef5d","in_reply_to":"bc40d4d2_adae142c","updated":"2024-11-21 12:03:00.000000000","message":"Proposed [here](https://review.opendev.org/c/openstack/nova/+/935882).","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"3999be0a84efc15a56504e868ffdd6cad96900ef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"146bc8b8_a35e313c","updated":"2024-11-22 16:53:46.000000000","message":"Addressed nits and rebased but this is otherwise unchanged from the previous revision","commit_id":"908d9263eea580099073a3adfe6fd23b9ea8188b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0719234b361f68f71d05c7b7bc172af848156d03","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"88a74b3c_6d169f91","updated":"2024-11-22 18:50:24.000000000","message":"lgtm,thanks","commit_id":"908d9263eea580099073a3adfe6fd23b9ea8188b"}],"nova/api/openstack/compute/schemas/admin_actions.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7a070c74e53e23d182e67baa072e26393f371dd8","unresolved":true,"context_lines":[{"line_number":45,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"inject_network_info_response \u003d {"},{"line_number":49,"context_line":"    \u0027type\u0027: \u0027null\u0027,"},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"reset_state_response \u003d {"},{"line_number":53,"context_line":"    \u0027type\u0027: \u0027null\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"c450627e_5eab7d84","line":50,"range":{"start_line":48,"start_character":0,"end_line":50,"end_character":1},"updated":"2024-11-21 02:26:48.000000000","message":"We do validate the status code (success status code) in Tempest schema. do we want to do that here also? At least that way we will be able to test if any API change the status code.\n\nIf yes, I am ok to add that at the end instead of changing the whole series.\n\n- https://github.com/openstack/tempest/blob/e7b104c23cd2e1ac069bf55fb5e94a582534be81/tempest/lib/api_schema/response/compute/v2_1/servers.py#L487","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"654a4cc54fd329a13e9559e4dc268c4c499303ce","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"inject_network_info_response \u003d {"},{"line_number":49,"context_line":"    \u0027type\u0027: \u0027null\u0027,"},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"reset_state_response \u003d {"},{"line_number":53,"context_line":"    \u0027type\u0027: \u0027null\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"fe052d9a_969a363b","line":50,"range":{"start_line":48,"start_character":0,"end_line":50,"end_character":1},"in_reply_to":"330bc05f_a3022768","updated":"2024-11-21 17:42:31.000000000","message":"yeah, we do check error code but not the success code in Nova side. You are right, Tempest schema just doing success status code check as  a extra thing which we check locally in Tempest and we do not pass that to json schema validator.\n\nEither wrap decorator or convert expected_errors to expected_response (which can check error as well as success code) is ok for me/ Anyways, that is something that can be done separately from your OpenAPI effort.","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7734ce07b508aa1cd2c79a0a6a1ed87f96fdcd4d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    \u0027additionalProperties\u0027: False,"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"inject_network_info_response \u003d {"},{"line_number":49,"context_line":"    \u0027type\u0027: \u0027null\u0027,"},{"line_number":50,"context_line":"}"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"reset_state_response \u003d {"},{"line_number":53,"context_line":"    \u0027type\u0027: \u0027null\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"330bc05f_a3022768","line":50,"range":{"start_line":48,"start_character":0,"end_line":50,"end_character":1},"in_reply_to":"c450627e_5eab7d84","updated":"2024-11-21 12:03:00.000000000","message":"In tempest it looks like the value under the `response_body` key is a valid schema, but the top level object is not. I\u0027d rather all the (public) things in `nova.api.openstack.compute.schemas` be valid JSON Schema schemas.\n\nFortunately, there\u0027s another approach we can use. We already have the `response` and `expected_errors` decorators. The latter is already a \"strict\" check (in that attempting to raise a new error without extending the set of expected errors will result in a HTTP 5xx error) and I have a local patch to add `min_version` and `max_version` arguments to this. I can tweak the `response` decorator to \"wrap\" the function and assert that the response code is correct (or add a new `expected_response` decorator, but that feels a bit redundant). We\u0027ll need this for OpenAPI generation so it\u0027ll be done 😉","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"}],"nova/api/openstack/compute/schemas/rescue.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"5623e538f71208e8ed29a249e3bdf9895ffd56f1","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027adminPass\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":49,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"    },"},{"line_number":52,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":6,"id":"b2490213_f0d393d7","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":30},"updated":"2024-08-29 23:52:24.000000000","message":"Sorry, I couldn\u0027t find what is this for? I would have expected this to have only type string.","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"02638d894f0d7c11d1b98ff0dcbe01e3d7cdff36","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027adminPass\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":49,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"    },"},{"line_number":52,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":6,"id":"46eb2165_5a23f792","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":30},"in_reply_to":"0a74d22e_41dc7c68","updated":"2024-09-03 01:19:12.000000000","message":"Yeah, I\u0027ve been pretty inconsistent with this, unfortunately. In some cases, I added a markdownified version of the api-ref description, in other cases (like here) I\u0027ve used an empty string, and in yet more I\u0027ve omitted it entirely.\n\nFortunately, it shouldn\u0027t matter much for now: this empty string is a no-op and we\u0027re not doing anything with these strings right now anyway. In the mid-term, I think we\u0027ll end up doing something like [what I did in Manila](https://review.opendev.org/c/openstack/manila/+/917155), namely adding/using a rst -\u003e md converter and extracting the current description for each request/response parameter from the `parameters.yaml` file. Long-term, we\u0027ll probably inline those descriptions entirely, but we\u0027ll need to be in a position to replace the `os-api-ref` extension entirely for us to be able to do that (to avoid duplication).\n\nHope that helps.","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7a070c74e53e23d182e67baa072e26393f371dd8","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027adminPass\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":49,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"    },"},{"line_number":52,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":6,"id":"882379b5_85e40e81","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":30},"in_reply_to":"424ff123_b5d9b2e4","updated":"2024-11-21 02:26:48.000000000","message":"I am not sure if we should do it as it looks very confusing to me. I expect api-ref tool to fetch it directly from parameter file where we have all the description of each request/response  field. \n\nEven if we end up doing it then let\u0027s discuss and do it together for all schema.","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"967ff33e08c9a97405760c16c17c1c5d733b08ea","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027adminPass\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":49,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"    },"},{"line_number":52,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":6,"id":"f822f828_26504e8e","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":30},"in_reply_to":"46eb2165_5a23f792","updated":"2024-09-03 10:08:53.000000000","message":"ya i would prefer to avoid markdow in the sechma\n\nim not really a fan of embdeing any markup like rst to be hosnest and weould prefer plain strings but if we have markup then lets stick with rst","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7734ce07b508aa1cd2c79a0a6a1ed87f96fdcd4d","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027adminPass\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":49,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"    },"},{"line_number":52,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":6,"id":"6a734468_2eaf1ec6","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":30},"in_reply_to":"882379b5_85e40e81","updated":"2024-11-21 12:03:00.000000000","message":"https://review.opendev.org/c/openstack/nova/+/935882","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"adb44a7cc57cd9ae9d739919809e09d3df74562a","unresolved":true,"context_lines":[{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027adminPass\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":49,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"    },"},{"line_number":52,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":6,"id":"0a74d22e_41dc7c68","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":30},"in_reply_to":"b2490213_f0d393d7","updated":"2024-08-30 00:40:38.000000000","message":"i belive we can decribe the option as in \n\n\"The admin password to log into the resuceed instance if password injection is enabled\"\n\nor something like that.\ni dont belive \n\n \u0027description\u0027: \u0027\u0027,\n \n is requried or serving any useful purpose in this case but i could be wrong\n \n i did find this odd but didnt think it was significatn enouch to ask about but since you did i also wonder if my explaintion/assumtion is correct\n \n i belive this is more useful for generating documentaiton form the schemas then anything else","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"96f3df55a9ce176af5edfcd8d0f30648cba790b2","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    \u0027properties\u0027: {"},{"line_number":47,"context_line":"        \u0027adminPass\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":49,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"    },"},{"line_number":52,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":6,"id":"424ff123_b5d9b2e4","line":49,"range":{"start_line":49,"start_character":12,"end_line":49,"end_character":30},"in_reply_to":"f822f828_26504e8e","updated":"2024-09-10 15:18:57.000000000","message":"\u003e im not really a fan of embdeing any markup like rst to be hosnest and weould prefer plain strings but if we have markup then lets stick with rst\n\nUnfortunately when we do start generating documentation from this, we\u0027ll have to write it in Markdown since [that\u0027s all that OpenAPI supports](https://swagger.io/specification/#rich-text-formatting). It\u0027s not an issue for now though and we can debate how we want to tackle this once it is.","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"dedb69106c3ff152c59b69d6c7323e70e168ee15","unresolved":true,"context_lines":[{"line_number":47,"context_line":"        \u0027adminPass\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":49,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"    },"},{"line_number":52,"context_line":"}"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"b64d7df8_b4ce31b1","line":50,"range":{"start_line":50,"start_character":0,"end_line":50,"end_character":10},"updated":"2024-11-21 20:23:46.000000000","message":"I missed it earlier but we should add \u0027additionalProperties\u0027: False here so that we can avoid returning more field without microversion","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"04edf458c92f936d1573b3ae5f61000488b8b28d","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        \u0027adminPass\u0027: {"},{"line_number":48,"context_line":"            \u0027type\u0027: \u0027string\u0027,"},{"line_number":49,"context_line":"            \u0027description\u0027: \u0027\u0027,"},{"line_number":50,"context_line":"        },"},{"line_number":51,"context_line":"    },"},{"line_number":52,"context_line":"}"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"20dbcc75_5c852497","line":50,"range":{"start_line":50,"start_character":0,"end_line":50,"end_character":10},"in_reply_to":"b64d7df8_b4ce31b1","updated":"2024-11-22 12:41:31.000000000","message":"Good point. Let me add it","commit_id":"b122a8c2f9617472d01759fbf3afed428278dc2a"}]}
