)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"8ca98d65f3d1e978cf73e5850b9d4aa28ac2bedc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"b3d92ead_c478437a","updated":"2022-02-25 16:24:51.000000000","message":"Adding a procedural -2 for just explaining that given we\u0027re after the FeatureFreeze deadline [1], this change can no longer be accepted for the Yoga release.\n\nPlease provide a new spec for the Zed release and once we accept this, this procedural -2 will be removed.\n\n[1] https://releases.openstack.org/yoga/schedule.html#y-ff","commit_id":"9d4f6b5c5216d3dc7eca05e61b4710bc9047a700"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5a5fa56369110ba89d25e28a164c892a039bd34b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"b6029e57_5fd432d4","updated":"2022-02-14 17:45:27.000000000","message":"lgtm. marking it as -W as it bump the microversion and we need to hold this until all the series is good to go. \n\nBut this is ready for 2nd core review.","commit_id":"9d4f6b5c5216d3dc7eca05e61b4710bc9047a700"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a75137c2ed2d1bedb3eaf0853db88aa5927b7979","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"abad7b5e_ad8ad386","updated":"2022-07-14 13:56:48.000000000","message":"I apologize for not being part of the discussion of this spec during this release and when it was proposed. I\u0027ve certainly shared this sentiment in the past when we discussed this.\n\nI\u0027m really worried that we\u0027re proposing a \"micro\" version to encapsulate what amounts to a huge amount of change across our API. I think that in both cases of \"track a single microversion\" and \"use a specific microversion per request\" client designs, this will be painful.\n\nIf I track a single microversion with my client, then in order to get some feature in 2.92, I have to make a *lot* of change to my client before I can access that one feature. That also likely makes it hard for me to support older versions with just a microversion flag to my client.\n\nIf I instead send a specific microversion per call (say X for instance boot but Y for instance resize), then my generic resource handling code needs to allow for the possibility of these differences everywhere.\n\nIn both cases, assuming I\u0027m trying to support more than one major version of Nova, I have to keep all that code in place for a long time anyway, and this microversion doesn\u0027t relieve me of that need.\n\nAs an alternative, could we just *add* project_id in all the places without removing tenant_id? Meaning, show both in the responses, allow both in filter queries, and show tenant_id as deprecated in the documentation? Someday we could potentially remove it in a microversion, but I\u0027m not sure we really need to. I think the argument for making this change is that users are confused reading our documentation on how to use our API, and \"ignore this deprecated thing\" would be of no consequence to them and thus still achieve the goal I think. Taking this approach will be far less pain for client libraries. Yes, they might not all convert at the first sign of the deprecation notice, but that\u0027s not a huge concern. Being nice and compatible with our long-time users but also advising the new users to use the proper fields seems like the best compromise.","commit_id":"79fff2c5e59b1ee4b6ef609b25e8a1469898c5c4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6002f0065ffc8d2270eb4ad6d19a88b9f15b3214","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"d54a80dc_d56212de","in_reply_to":"212c7e4f_17cad57b","updated":"2022-07-15 14:23:09.000000000","message":"++ I\u0027m happy to help with writing (or reviewing) either or both of those.","commit_id":"79fff2c5e59b1ee4b6ef609b25e8a1469898c5c4"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"4c90aeb5a126d9a5d310b7d93020dce9d245e1ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"8af38493_10daacc3","in_reply_to":"6e64e9ea_44c732e9","updated":"2022-07-15 13:32:14.000000000","message":"Personally, I don\u0027t think there\u0027s any reason to remove it, other than subjective purity. If and when we do, we\u0027ll just be introducing the same barrier that we would be now, which is a microversion that creates a ton of change that has to be accounted for in order to use anything past it. That said, being compatible for a good long while at least gives the opportunity for people to notice the \"you should be using project not tenant\" microversion and convert in a non-emergency sort of way.","commit_id":"79fff2c5e59b1ee4b6ef609b25e8a1469898c5c4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ff0baf590a399df19f1aef37c526039681d3bca0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"a88526f0_662e7370","in_reply_to":"8af38493_10daacc3","updated":"2022-07-15 13:57:12.000000000","message":"Yeah I cannot disagree on the point of API backward incompatible changes it brought without adding much value (even via microversion). I agree with the Dan proposal of keeping both so that we solve the purpose of having project_id in interfaces which is latest things.","commit_id":"79fff2c5e59b1ee4b6ef609b25e8a1469898c5c4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f400853433dab353d24405939ba81c01c2b33667","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"212c7e4f_17cad57b","in_reply_to":"a88526f0_662e7370","updated":"2022-07-15 14:20:32.000000000","message":"ack Im happy with  dans suggestion also in that case i propose we do too things.\none update the spec to track this agreement.\ntwo drop the removals of tenant_id and add docs for the deprecation.","commit_id":"79fff2c5e59b1ee4b6ef609b25e8a1469898c5c4"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"34518153e2f7ce432640b8e7b544f16af91d0897","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":36,"id":"6e64e9ea_44c732e9","in_reply_to":"abad7b5e_ad8ad386","updated":"2022-07-15 09:36:23.000000000","message":"that a vaild concern.\nif we were to just \"*add* project_id in all the places\"\n\nwoudl you propos that we later remove it in another micorversion in a release or two?\nor just keep both forever.\n\ni think eventualy it would be nice to drop it but if we have project_id i dont think we woudl be in any rush to do that so i would be ok with that since it keeps us moving in the rewited direction. and as you said we can document that the teannat_id is deprecated and shoudl be avoid in the interim","commit_id":"79fff2c5e59b1ee4b6ef609b25e8a1469898c5c4"}],"api-ref/source/parameters.yaml":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":1156,"context_line":"    .. note::"},{"line_number":1157,"context_line":""},{"line_number":1158,"context_line":"       \u0027tenant_id\u0027 can also be requested which is alias of \u0027project_id\u0027"},{"line_number":1159,"context_line":"       but that is not recommended to use as that will be removed in future."},{"line_number":1160,"context_line":"  in: query"},{"line_number":1161,"context_line":"  required: false"},{"line_number":1162,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3295559b_1bba080a","side":"PARENT","line":1159,"updated":"2020-12-03 13:50:16.000000000","message":"I think we should not delete this just amend it to say:\n\n       \u0027tenant_id\u0027 can also be requested until microversion 2.88 which is alias of \u0027project_id\u0027\n       but that is not recommended to use as that is removed in 2.88 and newer.","commit_id":"e26a805d157a5c233273edd85c502a00d8198b70"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":1156,"context_line":"    .. note::"},{"line_number":1157,"context_line":""},{"line_number":1158,"context_line":"       \u0027tenant_id\u0027 can also be requested which is alias of \u0027project_id\u0027"},{"line_number":1159,"context_line":"       but that is not recommended to use as that will be removed in future."},{"line_number":1160,"context_line":"  in: query"},{"line_number":1161,"context_line":"  required: false"},{"line_number":1162,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"d14f46b2_be298acc","side":"PARENT","line":1159,"in_reply_to":"3295559b_1bba080a","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"e26a805d157a5c233273edd85c502a00d8198b70"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":6921,"context_line":"    The UUID of the tenant in a multi-tenancy cloud."},{"line_number":6922,"context_line":"  in: body"},{"line_number":6923,"context_line":"  required: true"},{"line_number":6924,"context_line":"  type: string"},{"line_number":6925,"context_line":"tenant_id_optional:"},{"line_number":6926,"context_line":"  description: |"},{"line_number":6927,"context_line":"    The UUID of the tenant in a multi-tenancy cloud."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"ebe82847_33157597","line":6924,"range":{"start_line":6924,"start_character":13,"end_line":6924,"end_character":14},"updated":"2020-12-03 21:49:00.000000000","message":"here you can add\n\ntenant_id_body_2_87:\n  description: |\n    The UUID of the tenant in a multi-tenancy cloud.\n  in: body\n  required: true\n  type: string\n  max_version: 2.87","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":true,"context_lines":[{"line_number":6921,"context_line":"    The UUID of the tenant in a multi-tenancy cloud."},{"line_number":6922,"context_line":"  in: body"},{"line_number":6923,"context_line":"  required: true"},{"line_number":6924,"context_line":"  type: string"},{"line_number":6925,"context_line":"tenant_id_optional:"},{"line_number":6926,"context_line":"  description: |"},{"line_number":6927,"context_line":"    The UUID of the tenant in a multi-tenancy cloud."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"e31a77a5_4cb73318","line":6924,"range":{"start_line":6924,"start_character":13,"end_line":6924,"end_character":14},"in_reply_to":"ebe82847_33157597","updated":"2020-12-06 04:53:55.000000000","message":"Ok, added this, and I will check the tenant_id_body after completed apis changes whether need to be removed.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6c9a5774071e53ce67331f7d24f2164229d10860","unresolved":true,"context_lines":[{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":"    .. note::"},{"line_number":1157,"context_line":""},{"line_number":1158,"context_line":"       \u0027tenant_id\u0027 can also be requested until microversion 2.89 which is"},{"line_number":1159,"context_line":"       alias of \u0027project_id\u0027, but that is not recommended to use as that is"},{"line_number":1160,"context_line":"       removed in microversion 2.89 and newer."},{"line_number":1161,"context_line":"  in: query"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"2c602ac8_2db56e0f","line":1158,"range":{"start_line":1158,"start_character":60,"end_line":1158,"end_character":64},"updated":"2021-05-19 23:31:23.000000000","message":"2.88 right?  as 2.89 and onwards it will be rejected.","commit_id":"1289721b5dbf3215612603ae7b91c48afe803b57"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"498f32a8bb33fec4e320050b5fb6a34e3aa6d0ae","unresolved":true,"context_lines":[{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":"    .. note::"},{"line_number":1157,"context_line":""},{"line_number":1158,"context_line":"       \u0027tenant_id\u0027 can also be requested until microversion 2.89 which is"},{"line_number":1159,"context_line":"       alias of \u0027project_id\u0027, but that is not recommended to use as that is"},{"line_number":1160,"context_line":"       removed in microversion 2.89 and newer."},{"line_number":1161,"context_line":"  in: query"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"07c01f28_c3cecab7","line":1158,"range":{"start_line":1158,"start_character":60,"end_line":1158,"end_character":64},"in_reply_to":"2c602ac8_2db56e0f","updated":"2021-05-20 03:09:10.000000000","message":"ah, ok. I mean \u003c 2.89 microversion, it seems using 2.88 is accurate.","commit_id":"1289721b5dbf3215612603ae7b91c48afe803b57"}],"api-ref/source/servers.inc":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":644,"context_line":"  - OS-SRV-USG:launched_at: OS-SRV-USG:launched_at"},{"line_number":645,"context_line":"  - OS-SRV-USG:terminated_at: OS-SRV-USG:terminated_at"},{"line_number":646,"context_line":"  - status: server_status"},{"line_number":647,"context_line":"  - tenant_id: tenant_id_body"},{"line_number":648,"context_line":"  - updated: updated"},{"line_number":649,"context_line":"  - user_id: user_id"},{"line_number":650,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"467a14f6_5878fd2b","side":"PARENT","line":647,"range":{"start_line":647,"start_character":2,"end_line":647,"end_character":29},"updated":"2020-12-03 21:49:00.000000000","message":"we need to keep this as API still return this in old microversion. we need to add max_version as 2.87","commit_id":"e26a805d157a5c233273edd85c502a00d8198b70"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":644,"context_line":"  - OS-SRV-USG:launched_at: OS-SRV-USG:launched_at"},{"line_number":645,"context_line":"  - OS-SRV-USG:terminated_at: OS-SRV-USG:terminated_at"},{"line_number":646,"context_line":"  - status: server_status"},{"line_number":647,"context_line":"  - tenant_id: tenant_id_body"},{"line_number":648,"context_line":"  - updated: updated"},{"line_number":649,"context_line":"  - user_id: user_id"},{"line_number":650,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"65d794c0_5d330801","side":"PARENT","line":647,"range":{"start_line":647,"start_character":2,"end_line":647,"end_character":29},"in_reply_to":"467a14f6_5878fd2b","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"e26a805d157a5c233273edd85c502a00d8198b70"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"  - access_ip_v4: access_ip_v4_query_server"},{"line_number":212,"context_line":"  - access_ip_v6: access_ip_v6_query_server"},{"line_number":213,"context_line":"  - all_tenants: all_tenants_query"},{"line_number":214,"context_line":"  - auto_disk_config: disk_config_query_server"},{"line_number":215,"context_line":"  - availability_zone: availability_zone_query_server"},{"line_number":216,"context_line":"  - changes-since: changes_since_server"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"92d81a1e_6719f7e2","line":213,"range":{"start_line":213,"start_character":0,"end_line":213,"end_character":34},"updated":"2020-12-03 21:49:00.000000000","message":"this too","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":true,"context_lines":[{"line_number":210,"context_line":""},{"line_number":211,"context_line":"  - access_ip_v4: access_ip_v4_query_server"},{"line_number":212,"context_line":"  - access_ip_v6: access_ip_v6_query_server"},{"line_number":213,"context_line":"  - all_tenants: all_tenants_query"},{"line_number":214,"context_line":"  - auto_disk_config: disk_config_query_server"},{"line_number":215,"context_line":"  - availability_zone: availability_zone_query_server"},{"line_number":216,"context_line":"  - changes-since: changes_since_server"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"5763dd90_8a795005","line":213,"range":{"start_line":213,"start_character":0,"end_line":213,"end_character":34},"in_reply_to":"92d81a1e_6719f7e2","updated":"2020-12-06 04:53:55.000000000","message":"Will be added in https://review.opendev.org/c/openstack/nova/+/765311","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":555,"context_line":""},{"line_number":556,"context_line":"  - access_ip_v4: access_ip_v4_query_server"},{"line_number":557,"context_line":"  - access_ip_v6: access_ip_v6_query_server"},{"line_number":558,"context_line":"  - all_tenants: all_tenants_query"},{"line_number":559,"context_line":"  - auto_disk_config: disk_config_query_server"},{"line_number":560,"context_line":"  - availability_zone: availability_zone_query_server"},{"line_number":561,"context_line":"  - changes-since: changes_since_server"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"f6401300_04445c95","line":558,"range":{"start_line":558,"start_character":0,"end_line":558,"end_character":34},"updated":"2020-12-03 21:49:00.000000000","message":"this too","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":true,"context_lines":[{"line_number":555,"context_line":""},{"line_number":556,"context_line":"  - access_ip_v4: access_ip_v4_query_server"},{"line_number":557,"context_line":"  - access_ip_v6: access_ip_v6_query_server"},{"line_number":558,"context_line":"  - all_tenants: all_tenants_query"},{"line_number":559,"context_line":"  - auto_disk_config: disk_config_query_server"},{"line_number":560,"context_line":"  - availability_zone: availability_zone_query_server"},{"line_number":561,"context_line":"  - changes-since: changes_since_server"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"a5ae190d_27b49379","line":558,"range":{"start_line":558,"start_character":0,"end_line":558,"end_character":34},"in_reply_to":"f6401300_04445c95","updated":"2020-12-06 04:53:55.000000000","message":"ditto.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":670,"context_line":"  - trusted_image_certificates: server_trusted_image_certificates_resp"},{"line_number":671,"context_line":"  - locked_reason: locked_reason_resp"},{"line_number":672,"context_line":""},{"line_number":673,"context_line":"**Example List Servers Detailed (2.88)**"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":".. literalinclude:: /../../doc/api_samples/servers/v2.88/servers-details-resp.json"},{"line_number":676,"context_line":"   :language: javascript"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"e8dd19ea_ba1a0533","line":673,"range":{"start_line":673,"start_character":0,"end_line":673,"end_character":40},"updated":"2020-12-03 13:50:16.000000000","message":"you might want to keep example 2.73 here and add a new one with 2.88 (similarly how 2.69 is kept when 2.73 was added)","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":true,"context_lines":[{"line_number":670,"context_line":"  - trusted_image_certificates: server_trusted_image_certificates_resp"},{"line_number":671,"context_line":"  - locked_reason: locked_reason_resp"},{"line_number":672,"context_line":""},{"line_number":673,"context_line":"**Example List Servers Detailed (2.88)**"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":".. literalinclude:: /../../doc/api_samples/servers/v2.88/servers-details-resp.json"},{"line_number":676,"context_line":"   :language: javascript"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"5c7a8566_40d53c7f","line":673,"range":{"start_line":673,"start_character":0,"end_line":673,"end_character":40},"in_reply_to":"55681322_e11fc275","updated":"2020-12-06 04:53:55.000000000","message":"Yes, gmann said why.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":670,"context_line":"  - trusted_image_certificates: server_trusted_image_certificates_resp"},{"line_number":671,"context_line":"  - locked_reason: locked_reason_resp"},{"line_number":672,"context_line":""},{"line_number":673,"context_line":"**Example List Servers Detailed (2.88)**"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":".. literalinclude:: /../../doc/api_samples/servers/v2.88/servers-details-resp.json"},{"line_number":676,"context_line":"   :language: javascript"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"0a0b1cad_23d7b02e","line":673,"range":{"start_line":673,"start_character":0,"end_line":673,"end_character":40},"in_reply_to":"5c7a8566_40d53c7f","updated":"2021-01-22 21:46:09.000000000","message":"I mean we can append which is more detailed way. you can keep 2.73 and add 2.90 also","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":670,"context_line":"  - trusted_image_certificates: server_trusted_image_certificates_resp"},{"line_number":671,"context_line":"  - locked_reason: locked_reason_resp"},{"line_number":672,"context_line":""},{"line_number":673,"context_line":"**Example List Servers Detailed (2.88)**"},{"line_number":674,"context_line":""},{"line_number":675,"context_line":".. literalinclude:: /../../doc/api_samples/servers/v2.88/servers-details-resp.json"},{"line_number":676,"context_line":"   :language: javascript"}],"source_content_type":"text/x-c++src","patch_set":5,"id":"55681322_e11fc275","line":673,"range":{"start_line":673,"start_character":0,"end_line":673,"end_character":40},"in_reply_to":"e8dd19ea_ba1a0533","updated":"2020-12-03 21:49:00.000000000","message":"we actually did mixed way, some microversion kept the latest API sample and some appended. I think appending way is more detail in api-ref so +1","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":769,"context_line":"  - OS-SRV-USG:launched_at: OS-SRV-USG:launched_at"},{"line_number":770,"context_line":"  - OS-SRV-USG:terminated_at: OS-SRV-USG:terminated_at"},{"line_number":771,"context_line":"  - status: server_status"},{"line_number":772,"context_line":"  - tenant_id: tenant_id_body"},{"line_number":773,"context_line":"  - updated: updated"},{"line_number":774,"context_line":"  - user_id: user_id"},{"line_number":775,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":11,"id":"95080685_c1a3a48b","line":772,"range":{"start_line":772,"start_character":0,"end_line":772,"end_character":29},"updated":"2021-01-22 21:46:09.000000000","message":"let\u0027s change here also as code is changing for this API also\n- https://review.opendev.org/c/openstack/nova/+/764292/11/nova/api/openstack/compute/views/servers.py#290","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":769,"context_line":"  - OS-SRV-USG:launched_at: OS-SRV-USG:launched_at"},{"line_number":770,"context_line":"  - OS-SRV-USG:terminated_at: OS-SRV-USG:terminated_at"},{"line_number":771,"context_line":"  - status: server_status"},{"line_number":772,"context_line":"  - tenant_id: tenant_id_body"},{"line_number":773,"context_line":"  - updated: updated"},{"line_number":774,"context_line":"  - user_id: user_id"},{"line_number":775,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":11,"id":"fca6bcc4_2f8cdf5a","line":772,"range":{"start_line":772,"start_character":0,"end_line":772,"end_character":29},"in_reply_to":"95080685_c1a3a48b","updated":"2021-01-26 09:04:37.000000000","message":"Done","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":872,"context_line":"  - name: server_name"},{"line_number":873,"context_line":"  - OS-DCF:diskConfig: disk_config"},{"line_number":874,"context_line":"  - status: server_status"},{"line_number":875,"context_line":"  - tenant_id: tenant_id_body"},{"line_number":876,"context_line":"  - updated: updated"},{"line_number":877,"context_line":"  - user_id: user_id"},{"line_number":878,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":11,"id":"07ea5084_fe1fad3f","line":875,"range":{"start_line":875,"start_character":0,"end_line":875,"end_character":29},"updated":"2021-01-22 21:46:09.000000000","message":"ditto.  as code is changing for this API also\n- https://review.opendev.org/c/openstack/nova/+/764292/11/nova/api/openstack/compute/views/servers.py#290\n\nand in rebuild api-ref also","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":872,"context_line":"  - name: server_name"},{"line_number":873,"context_line":"  - OS-DCF:diskConfig: disk_config"},{"line_number":874,"context_line":"  - status: server_status"},{"line_number":875,"context_line":"  - tenant_id: tenant_id_body"},{"line_number":876,"context_line":"  - updated: updated"},{"line_number":877,"context_line":"  - user_id: user_id"},{"line_number":878,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":11,"id":"0f080bb7_5282d214","line":875,"range":{"start_line":875,"start_character":0,"end_line":875,"end_character":29},"in_reply_to":"07ea5084_fe1fad3f","updated":"2021-01-26 09:04:37.000000000","message":"Done","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"8f859535d09b9abce1fb14e40b33547f901fbe56","unresolved":true,"context_lines":[{"line_number":769,"context_line":"  - OS-SRV-USG:launched_at: OS-SRV-USG:launched_at"},{"line_number":770,"context_line":"  - OS-SRV-USG:terminated_at: OS-SRV-USG:terminated_at"},{"line_number":771,"context_line":"  - status: server_status"},{"line_number":772,"context_line":"  - project_id: project_id_body"},{"line_number":773,"context_line":"  - updated: updated"},{"line_number":774,"context_line":"  - user_id: user_id"},{"line_number":775,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":12,"id":"34bdad23_a0694d90","line":772,"range":{"start_line":772,"start_character":4,"end_line":772,"end_character":31},"updated":"2021-01-25 11:40:13.000000000","message":"This also need to be kept the tenant_id for max_version 2.89 as above change.","commit_id":"90fd2c696f399fe68fbc0f27c19f1457b8638b31"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":769,"context_line":"  - OS-SRV-USG:launched_at: OS-SRV-USG:launched_at"},{"line_number":770,"context_line":"  - OS-SRV-USG:terminated_at: OS-SRV-USG:terminated_at"},{"line_number":771,"context_line":"  - status: server_status"},{"line_number":772,"context_line":"  - project_id: project_id_body"},{"line_number":773,"context_line":"  - updated: updated"},{"line_number":774,"context_line":"  - user_id: user_id"},{"line_number":775,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":12,"id":"05579371_e6b96fb6","line":772,"range":{"start_line":772,"start_character":4,"end_line":772,"end_character":31},"in_reply_to":"34bdad23_a0694d90","updated":"2021-01-26 09:04:37.000000000","message":"Done","commit_id":"90fd2c696f399fe68fbc0f27c19f1457b8638b31"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"8f859535d09b9abce1fb14e40b33547f901fbe56","unresolved":true,"context_lines":[{"line_number":872,"context_line":"  - name: server_name"},{"line_number":873,"context_line":"  - OS-DCF:diskConfig: disk_config"},{"line_number":874,"context_line":"  - status: server_status"},{"line_number":875,"context_line":"  - project_id: project_id_body"},{"line_number":876,"context_line":"  - updated: updated"},{"line_number":877,"context_line":"  - user_id: user_id"},{"line_number":878,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":12,"id":"002a61d8_8436251b","line":875,"range":{"start_line":875,"start_character":4,"end_line":875,"end_character":31},"updated":"2021-01-25 11:40:13.000000000","message":"ditto.","commit_id":"90fd2c696f399fe68fbc0f27c19f1457b8638b31"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":872,"context_line":"  - name: server_name"},{"line_number":873,"context_line":"  - OS-DCF:diskConfig: disk_config"},{"line_number":874,"context_line":"  - status: server_status"},{"line_number":875,"context_line":"  - project_id: project_id_body"},{"line_number":876,"context_line":"  - updated: updated"},{"line_number":877,"context_line":"  - user_id: user_id"},{"line_number":878,"context_line":"  - fault: fault"}],"source_content_type":"text/x-c++src","patch_set":12,"id":"212cfe99_b3de6bd7","line":875,"range":{"start_line":875,"start_character":4,"end_line":875,"end_character":31},"in_reply_to":"002a61d8_8436251b","updated":"2021-01-26 09:04:37.000000000","message":"Done","commit_id":"90fd2c696f399fe68fbc0f27c19f1457b8638b31"}],"doc/api_samples/servers/v2.87/server-get-resp.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":13,"context_line":"            ]"},{"line_number":14,"context_line":"        },"},{"line_number":15,"context_line":"        \"created\": \"2013-09-03T04:01:32Z\","},{"line_number":16,"context_line":"\t\"description\": null,"},{"line_number":17,"context_line":"        \"flavor\": {"},{"line_number":18,"context_line":"            \"disk\": 1,"},{"line_number":19,"context_line":"            \"ephemeral\": 0,"}],"source_content_type":"application/json","patch_set":6,"id":"8cd9b622_d2ac9cd5","line":16,"updated":"2020-12-07 16:24:22.000000000","message":"Is there a tab in this line?","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"            ]"},{"line_number":14,"context_line":"        },"},{"line_number":15,"context_line":"        \"created\": \"2013-09-03T04:01:32Z\","},{"line_number":16,"context_line":"\t\"description\": null,"},{"line_number":17,"context_line":"        \"flavor\": {"},{"line_number":18,"context_line":"            \"disk\": 1,"},{"line_number":19,"context_line":"            \"ephemeral\": 0,"}],"source_content_type":"application/json","patch_set":6,"id":"8b2d234e_6df93685","line":16,"in_reply_to":"8cd9b622_d2ac9cd5","updated":"2020-12-08 09:02:00.000000000","message":"Done","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":70,"context_line":"        \"OS-EXT-STS:vm_state\": \"active\","},{"line_number":71,"context_line":"        \"os-extended-volumes:volumes_attached\": ["},{"line_number":72,"context_line":"            {"},{"line_number":73,"context_line":"\t\t\"delete_on_termination\": false,    "},{"line_number":74,"context_line":"                \"id\": \"volume_id1\""},{"line_number":75,"context_line":"            },"},{"line_number":76,"context_line":"            {"}],"source_content_type":"application/json","patch_set":6,"id":"2559fdad_e1b8326d","line":73,"updated":"2020-12-07 16:24:22.000000000","message":"tab? and trailing whitespace","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        \"OS-EXT-STS:vm_state\": \"active\","},{"line_number":71,"context_line":"        \"os-extended-volumes:volumes_attached\": ["},{"line_number":72,"context_line":"            {"},{"line_number":73,"context_line":"\t\t\"delete_on_termination\": false,    "},{"line_number":74,"context_line":"                \"id\": \"volume_id1\""},{"line_number":75,"context_line":"            },"},{"line_number":76,"context_line":"            {"}],"source_content_type":"application/json","patch_set":6,"id":"7bab6884_fbde7742","line":73,"in_reply_to":"2559fdad_e1b8326d","updated":"2020-12-08 09:02:00.000000000","message":"Done","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":74,"context_line":"                \"id\": \"volume_id1\""},{"line_number":75,"context_line":"            },"},{"line_number":76,"context_line":"            {"},{"line_number":77,"context_line":"\t\t\"delete_on_termination\": false,"},{"line_number":78,"context_line":"                \"id\": \"volume_id2\""},{"line_number":79,"context_line":"            }"},{"line_number":80,"context_line":"        ],"}],"source_content_type":"application/json","patch_set":6,"id":"41dc68a1_523555cf","line":77,"updated":"2020-12-07 16:24:22.000000000","message":"tab?","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                \"id\": \"volume_id1\""},{"line_number":75,"context_line":"            },"},{"line_number":76,"context_line":"            {"},{"line_number":77,"context_line":"\t\t\"delete_on_termination\": false,"},{"line_number":78,"context_line":"                \"id\": \"volume_id2\""},{"line_number":79,"context_line":"            }"},{"line_number":80,"context_line":"        ],"}],"source_content_type":"application/json","patch_set":6,"id":"69b9a952_db226d42","line":77,"in_reply_to":"41dc68a1_523555cf","updated":"2020-12-08 09:02:00.000000000","message":"Done","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"}],"doc/api_samples/servers/v2.87/servers-details-resp.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":80,"context_line":"                    \"delete_on_termination\": false,"},{"line_number":81,"context_line":"                    \"id\": \"volume_id2\""},{"line_number":82,"context_line":"                }"},{"line_number":83,"context_line":"\t    ],"},{"line_number":84,"context_line":"            \"progress\": 0,"},{"line_number":85,"context_line":"            \"security_groups\": ["},{"line_number":86,"context_line":"                {"}],"source_content_type":"application/json","patch_set":6,"id":"d508a86b_f26dc60b","line":83,"updated":"2020-12-07 16:24:22.000000000","message":"tab?","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":false,"context_lines":[{"line_number":80,"context_line":"                    \"delete_on_termination\": false,"},{"line_number":81,"context_line":"                    \"id\": \"volume_id2\""},{"line_number":82,"context_line":"                }"},{"line_number":83,"context_line":"\t    ],"},{"line_number":84,"context_line":"            \"progress\": 0,"},{"line_number":85,"context_line":"            \"security_groups\": ["},{"line_number":86,"context_line":"                {"}],"source_content_type":"application/json","patch_set":6,"id":"46e00b60_1c08d541","line":83,"in_reply_to":"d508a86b_f26dc60b","updated":"2020-12-08 09:02:00.000000000","message":"Done","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":96,"context_line":"        }"},{"line_number":97,"context_line":"    ],"},{"line_number":98,"context_line":"    \"servers_links\": ["},{"line_number":99,"context_line":"\t{"},{"line_number":100,"context_line":"           \"href\": \"http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/servers/detail?limit\u003d1\u0026marker\u003df5dc173b-6804-445a-a6d8-c705dad5b5eb\","},{"line_number":101,"context_line":"\t   \"rel\": \"next\""},{"line_number":102,"context_line":"\t}"}],"source_content_type":"application/json","patch_set":6,"id":"ffd800e4_901d4fac","line":99,"updated":"2020-12-07 16:24:22.000000000","message":"tab?","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        }"},{"line_number":97,"context_line":"    ],"},{"line_number":98,"context_line":"    \"servers_links\": ["},{"line_number":99,"context_line":"\t{"},{"line_number":100,"context_line":"           \"href\": \"http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/servers/detail?limit\u003d1\u0026marker\u003df5dc173b-6804-445a-a6d8-c705dad5b5eb\","},{"line_number":101,"context_line":"\t   \"rel\": \"next\""},{"line_number":102,"context_line":"\t}"}],"source_content_type":"application/json","patch_set":6,"id":"f63a7d35_3b882208","line":99,"in_reply_to":"ffd800e4_901d4fac","updated":"2020-12-08 09:02:00.000000000","message":"Done","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"}],"doc/api_samples/servers/v2.88/lock-server-with-reason.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"lock\": {\"locked_reason\": \"I don\u0027t want to work\"}"},{"line_number":3,"context_line":"}"}],"source_content_type":"application/json","patch_set":5,"id":"7c09c80d_9afc2127","line":3,"updated":"2020-12-03 13:50:16.000000000","message":"why we need a new sample for lock-server? I thought that this patch is for list servers and servers/detail","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"lock\": {\"locked_reason\": \"I don\u0027t want to work\"}"},{"line_number":3,"context_line":"}"}],"source_content_type":"application/json","patch_set":5,"id":"f082353c_b1ec5506","line":3,"in_reply_to":"7c09c80d_9afc2127","updated":"2020-12-03 21:49:00.000000000","message":"only create, get sample file will be needed. create sample files needed because GET server tests create server.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"}],"doc/api_samples/servers/v2.88/server-create-req.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":17,"context_line":"        \"user_data\" : \"IyEvYmluL2Jhc2gKL2Jpbi9zdQplY2hvICJJIGFtIGluIHlvdSEiCg\u003d\u003d\","},{"line_number":18,"context_line":"        \"networks\": \"auto\""},{"line_number":19,"context_line":"    }"},{"line_number":20,"context_line":"}"}],"source_content_type":"application/json","patch_set":5,"id":"b616fc24_3bc4b5dc","line":20,"updated":"2020-12-03 13:50:16.000000000","message":"why we need this sample? it is that same as the previous sample as nothing changes in the create server API in this patch","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":17,"context_line":"        \"user_data\" : \"IyEvYmluL2Jhc2gKL2Jpbi9zdQplY2hvICJJIGFtIGluIHlvdSEiCg\u003d\u003d\","},{"line_number":18,"context_line":"        \"networks\": \"auto\""},{"line_number":19,"context_line":"    }"},{"line_number":20,"context_line":"}"}],"source_content_type":"application/json","patch_set":5,"id":"87f5a912_b2d58efe","line":20,"in_reply_to":"b616fc24_3bc4b5dc","updated":"2020-12-03 21:49:00.000000000","message":"this is needed as GET server sample tests create server via base class\u0027s _post_server() method which need sample file.\n\nhere - https://github.com/openstack/nova/blob/f0efcae6975a99044ef7052453f905f60fcecac6/nova/tests/functional/api_sample_tests/test_servers.py#L91-L93","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"}],"doc/api_samples/servers/v2.88/server-create-resp.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":19,"context_line":"            }"},{"line_number":20,"context_line":"        ]"},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":5,"id":"c05632f2_5a7eb2ba","line":22,"updated":"2020-12-03 13:50:16.000000000","message":"ditto, why we need a new sample for create server?","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":19,"context_line":"            }"},{"line_number":20,"context_line":"        ]"},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":5,"id":"f6328108_9c555adc","line":22,"in_reply_to":"c05632f2_5a7eb2ba","updated":"2020-12-03 21:49:00.000000000","message":"this is also needed due to this https://github.com/openstack/nova/blob/f0efcae6975a99044ef7052453f905f60fcecac6/nova/tests/functional/api_sample_tests/test_servers.py#L91-L93","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"}],"doc/api_samples/servers/v2.88/server-get-resp.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":80,"context_line":"        \"server_groups\": [],"},{"line_number":81,"context_line":"        \"status\": \"ACTIVE\","},{"line_number":82,"context_line":"        \"tags\": [],"},{"line_number":83,"context_line":"\t\"project_id\": \"6f70656e737461636b20342065766572\","},{"line_number":84,"context_line":"        \"trusted_image_certificates\": null,"},{"line_number":85,"context_line":"        \"updated\": \"2019-04-23T15:19:11Z\","},{"line_number":86,"context_line":"        \"user_id\": \"admin\""}],"source_content_type":"application/json","patch_set":5,"id":"f44cf7a3_ef432c05","line":83,"updated":"2020-12-03 13:50:16.000000000","message":"Is there a tab here? At least the indenting is wrong.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        \"server_groups\": [],"},{"line_number":81,"context_line":"        \"status\": \"ACTIVE\","},{"line_number":82,"context_line":"        \"tags\": [],"},{"line_number":83,"context_line":"\t\"project_id\": \"6f70656e737461636b20342065766572\","},{"line_number":84,"context_line":"        \"trusted_image_certificates\": null,"},{"line_number":85,"context_line":"        \"updated\": \"2019-04-23T15:19:11Z\","},{"line_number":86,"context_line":"        \"user_id\": \"admin\""}],"source_content_type":"application/json","patch_set":5,"id":"0c6c483a_466e5e7f","line":83,"in_reply_to":"f44cf7a3_ef432c05","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":13,"context_line":"            ]"},{"line_number":14,"context_line":"        },"},{"line_number":15,"context_line":"        \"created\": \"2013-09-03T04:01:32Z\","},{"line_number":16,"context_line":"\t\"description\": null,"},{"line_number":17,"context_line":"        \"flavor\": {"},{"line_number":18,"context_line":"            \"disk\": 1,"},{"line_number":19,"context_line":"            \"ephemeral\": 0,"}],"source_content_type":"application/json","patch_set":6,"id":"9c980cc9_79a7c90c","line":16,"updated":"2020-12-07 16:24:22.000000000","message":"tab?","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":false,"context_lines":[{"line_number":13,"context_line":"            ]"},{"line_number":14,"context_line":"        },"},{"line_number":15,"context_line":"        \"created\": \"2013-09-03T04:01:32Z\","},{"line_number":16,"context_line":"\t\"description\": null,"},{"line_number":17,"context_line":"        \"flavor\": {"},{"line_number":18,"context_line":"            \"disk\": 1,"},{"line_number":19,"context_line":"            \"ephemeral\": 0,"}],"source_content_type":"application/json","patch_set":6,"id":"49bb7fd2_9cb3cfdc","line":16,"in_reply_to":"9c980cc9_79a7c90c","updated":"2020-12-08 09:02:00.000000000","message":"Done","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        \"key_name\": null,"},{"line_number":39,"context_line":"        \"links\": ["},{"line_number":40,"context_line":"            {"},{"line_number":41,"context_line":"                \"href\": \"http://openstack.example.com/v2/6f70656e737461636b20342065766572/servers/0e44cc9c-e052-415d-afbf-469b0d384170\","},{"line_number":42,"context_line":"                \"rel\": \"self\""},{"line_number":43,"context_line":"            },"},{"line_number":44,"context_line":"            {"}],"source_content_type":"application/json","patch_set":6,"id":"a0187010_3381fc02","line":41,"range":{"start_line":41,"start_character":54,"end_line":41,"end_character":57},"updated":"2020-12-07 16:24:22.000000000","message":"hm it is changed from v2.1 to v2 between PS5 and PS6 I\u0027m wondering why. v2 is the legacy non microversioned API","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":true,"context_lines":[{"line_number":38,"context_line":"        \"key_name\": null,"},{"line_number":39,"context_line":"        \"links\": ["},{"line_number":40,"context_line":"            {"},{"line_number":41,"context_line":"                \"href\": \"http://openstack.example.com/v2/6f70656e737461636b20342065766572/servers/0e44cc9c-e052-415d-afbf-469b0d384170\","},{"line_number":42,"context_line":"                \"rel\": \"self\""},{"line_number":43,"context_line":"            },"},{"line_number":44,"context_line":"            {"}],"source_content_type":"application/json","patch_set":6,"id":"a76770d1_73a5c441","line":41,"range":{"start_line":41,"start_character":54,"end_line":41,"end_character":57},"in_reply_to":"a0187010_3381fc02","updated":"2020-12-08 09:02:00.000000000","message":"Yes, it\u0027s copied, ignored to change it, this should be v2.1.","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"}],"doc/api_samples/servers/v2.88/server-update-resp.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1fc9d1fa7cebcb61287ee4c30ff19caf5c0da182","unresolved":true,"context_lines":[{"line_number":63,"context_line":"        \"OS-EXT-SRV-ATTR:reservation_id\": \"r-t61j9da6\","},{"line_number":64,"context_line":"        \"OS-EXT-SRV-ATTR:root_device_name\": \"/dev/sda\","},{"line_number":65,"context_line":"        \"OS-EXT-SRV-ATTR:user_data\": \"IyEvYmluL2Jhc2gKL2Jpbi9zdQplY2hvICJJIGFtIGluIHlvdSEiCg\u003d\u003d\","},{"line_number":66,"context_line":"\t\"OS-EXT-SRV-ATTR:hypervisor_hostname\": \"fake-mini\","},{"line_number":67,"context_line":"        \"OS-EXT-SRV-ATTR:instance_name\": \"instance-00000001\","},{"line_number":68,"context_line":"        \"OS-EXT-STS:power_state\": 1,"},{"line_number":69,"context_line":"        \"OS-EXT-STS:task_state\": null,"}],"source_content_type":"application/json","patch_set":9,"id":"202cf142_86e85d6d","line":66,"updated":"2021-01-04 15:16:19.000000000","message":"please scan the whole change for tabs as there is still tab in this sample file. You can use grep for it\n\n  $ grep -P \u0027\\t\u0027 ./doc/api_samples/ -R","commit_id":"7deecb7bbce780297ea5e49557427b7e6d915aff"}],"doc/api_samples/servers/v2.88/servers-details-resp.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":96,"context_line":"        }"},{"line_number":97,"context_line":"    ],"},{"line_number":98,"context_line":"    \"servers_links\": ["},{"line_number":99,"context_line":"\t{"},{"line_number":100,"context_line":"           \"href\": \"http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/servers/detail?limit\u003d1\u0026marker\u003df5dc173b-6804-445a-a6d8-c705dad5b5eb\","},{"line_number":101,"context_line":"\t   \"rel\": \"next\""},{"line_number":102,"context_line":"\t}"}],"source_content_type":"application/json","patch_set":6,"id":"88de997f_4ea578d5","line":99,"updated":"2020-12-07 16:24:22.000000000","message":"tab?","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        }"},{"line_number":97,"context_line":"    ],"},{"line_number":98,"context_line":"    \"servers_links\": ["},{"line_number":99,"context_line":"\t{"},{"line_number":100,"context_line":"           \"href\": \"http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/servers/detail?limit\u003d1\u0026marker\u003df5dc173b-6804-445a-a6d8-c705dad5b5eb\","},{"line_number":101,"context_line":"\t   \"rel\": \"next\""},{"line_number":102,"context_line":"\t}"}],"source_content_type":"application/json","patch_set":6,"id":"aaabf653_bed43842","line":99,"in_reply_to":"88de997f_4ea578d5","updated":"2020-12-08 09:02:00.000000000","message":"Done","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"}],"doc/api_samples/servers/v2.89/server-create-resp.json":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75a59222e7fbae408eebde0ad7fea4deaea74f5c","unresolved":true,"context_lines":[{"line_number":19,"context_line":"            }"},{"line_number":20,"context_line":"        ]"},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":25,"id":"ca987e2b_6551d25f","line":22,"updated":"2021-06-01 11:31:39.000000000","message":"It feels unnecessary to include the server create request/response here since we don\u0027t have project/tenant ID included at any point","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"01a8c5523e4e68e31f37f2e0efd0ddfbf28d0061","unresolved":true,"context_lines":[{"line_number":19,"context_line":"            }"},{"line_number":20,"context_line":"        ]"},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":25,"id":"e0e3b665_95649672","line":22,"in_reply_to":"4eb06ab3_6d83a187","updated":"2021-06-03 23:04:32.000000000","message":"yeah, any GET server test does the POST server request for that resource so we unfortunately end up needing POST server req/resp sample. This is not perfect and we can think of optimizing it as separate effort.","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09cb450af120eaf4f11ff82795649bd2662fb911","unresolved":true,"context_lines":[{"line_number":19,"context_line":"            }"},{"line_number":20,"context_line":"        ]"},{"line_number":21,"context_line":"    }"},{"line_number":22,"context_line":"}"}],"source_content_type":"application/json","patch_set":25,"id":"4eb06ab3_6d83a187","line":22,"in_reply_to":"ca987e2b_6551d25f","updated":"2021-06-01 11:45:54.000000000","message":"I dont think so, in the functional test we should integrate the \"class ServersSampleBase\", in ServersSampleBase we shuold using these to cover some cases.","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"}],"doc/api_samples/servers/v2.89/servers-list-resp.json":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75a59222e7fbae408eebde0ad7fea4deaea74f5c","unresolved":true,"context_lines":[{"line_number":21,"context_line":"            \"rel\": \"next\""},{"line_number":22,"context_line":"        }"},{"line_number":23,"context_line":"    ]"},{"line_number":24,"context_line":"}"}],"source_content_type":"application/json","patch_set":25,"id":"94dd96f0_c9b42252","line":24,"updated":"2021-06-01 11:31:39.000000000","message":"ditto","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"}],"doc/api_samples/versions/v21-version-get-resp.json":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":19,"context_line":"            }"},{"line_number":20,"context_line":"        ],"},{"line_number":21,"context_line":"        \"status\": \"CURRENT\","},{"line_number":22,"context_line":"        \"version\": \"2.88\","},{"line_number":23,"context_line":"        \"min_version\": \"2.1\","},{"line_number":24,"context_line":"        \"updated\": \"2013-07-23T11:33:21Z\""},{"line_number":25,"context_line":"    }"}],"source_content_type":"application/json","patch_set":5,"id":"e0f82546_073a565f","line":22,"range":{"start_line":22,"start_character":7,"end_line":22,"end_character":26},"updated":"2020-12-03 21:49:00.000000000","message":"I will say to start 2.89 as 2.88 one for hypervisor API is close to merge https://review.opendev.org/c/openstack/nova/+/764040","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"}],"nova/api/openstack/api_version_request.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":236,"context_line":"             ``PUT /flavors/{flavor_id}/os-extra_specs/{id}`` APIs."},{"line_number":237,"context_line":"    * 2.87 - Adds support for rescuing boot from volume instances when the"},{"line_number":238,"context_line":"             compute host reports the COMPUTE_BFV_RESCUE capability trait."},{"line_number":239,"context_line":"    * 2.88 - Removes \u0027tenant_id\u0027."},{"line_number":240,"context_line":"\"\"\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":5,"id":"6774aab5_fb511ff6","line":239,"updated":"2020-12-03 13:50:16.000000000","message":"Replacing tenant_id with project_id would be a bit more precise.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":236,"context_line":"             ``PUT /flavors/{flavor_id}/os-extra_specs/{id}`` APIs."},{"line_number":237,"context_line":"    * 2.87 - Adds support for rescuing boot from volume instances when the"},{"line_number":238,"context_line":"             compute host reports the COMPUTE_BFV_RESCUE capability trait."},{"line_number":239,"context_line":"    * 2.88 - Removes \u0027tenant_id\u0027."},{"line_number":240,"context_line":"\"\"\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":5,"id":"7fb80181_67f3f2c0","line":239,"in_reply_to":"6774aab5_fb511ff6","updated":"2020-12-03 21:49:00.000000000","message":"yeah and keep appending the API name here where ever it change request and response","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":236,"context_line":"             ``PUT /flavors/{flavor_id}/os-extra_specs/{id}`` APIs."},{"line_number":237,"context_line":"    * 2.87 - Adds support for rescuing boot from volume instances when the"},{"line_number":238,"context_line":"             compute host reports the COMPUTE_BFV_RESCUE capability trait."},{"line_number":239,"context_line":"    * 2.88 - Removes \u0027tenant_id\u0027."},{"line_number":240,"context_line":"\"\"\""},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":5,"id":"e5cf404d_1442b9ba","line":239,"in_reply_to":"7fb80181_67f3f2c0","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":243,"context_line":"    * 2.89 - Add support for password encrypted remote console."},{"line_number":244,"context_line":"    * 2.90 - Replaces \u0027tenant_id\u0027 with \u0027project_id\u0027 in the following APIs:"},{"line_number":245,"context_line":"             ``GET /servers``, ``GET /servers/detail`` and"},{"line_number":246,"context_line":"             ``PUT /servers/{server_id}``."},{"line_number":247,"context_line":"\"\"\""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":11,"id":"5105f748_debaaeb8","line":246,"range":{"start_line":246,"start_character":41,"end_line":246,"end_character":42},"updated":"2021-01-22 21:46:09.000000000","message":"``GET/servers/{server_id}`` and ``POST /servers/{server_id}/action (rebuild)``. also as code is changing for these API also\n- https://review.opendev.org/c/openstack/nova/+/764292/11/nova/api/openstack/compute/views/servers.py#290","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":241,"context_line":"             ``/os-hypervisors/statistics`` and"},{"line_number":242,"context_line":"             ``/os-hypervisors/{hypervisor_id}/uptime`` APIs entirely."},{"line_number":243,"context_line":"    * 2.89 - Add support for password encrypted remote console."},{"line_number":244,"context_line":"    * 2.90 - Replaces \u0027tenant_id\u0027 with \u0027project_id\u0027 in the following APIs:"},{"line_number":245,"context_line":"             ``GET /servers``, ``GET /servers/detail`` and"},{"line_number":246,"context_line":"             ``PUT /servers/{server_id}``."},{"line_number":247,"context_line":"\"\"\""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":11,"id":"4977b9bc_219a9a32","line":246,"range":{"start_line":244,"start_character":13,"end_line":246,"end_character":42},"updated":"2021-01-22 21:46:09.000000000","message":"let\u0027s be very specific about request and response change \n\n    * 2.90 - Replaces \u0027tenant_id\u0027 with \u0027project_id\u0027 in the following APIs:\n             In request body/query of:\n               ``GET /servers``,\n               ``GET /servers/detail``\n             In response body of:\n               ``GET /servers/detail``\n               ``GET/servers/{server_id}``.\n               ``PUT /servers/{server_id}``.\n               ``POST /servers/{server_id}/action (rebuild)``.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8f660d7f3a782f4174837b6e43845aff6ef49e87","unresolved":true,"context_lines":[{"line_number":241,"context_line":"             ``/os-hypervisors/statistics`` and"},{"line_number":242,"context_line":"             ``/os-hypervisors/{hypervisor_id}/uptime`` APIs entirely."},{"line_number":243,"context_line":"    * 2.89 - Add support for password encrypted remote console."},{"line_number":244,"context_line":"    * 2.90 - Replaces \u0027tenant_id\u0027 with \u0027project_id\u0027 in the following APIs:"},{"line_number":245,"context_line":"             ``GET /servers``, ``GET /servers/detail`` and"},{"line_number":246,"context_line":"             ``PUT /servers/{server_id}``."},{"line_number":247,"context_line":"\"\"\""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":11,"id":"7da316b0_48a2e11e","line":246,"range":{"start_line":244,"start_character":13,"end_line":246,"end_character":42},"in_reply_to":"4977b9bc_219a9a32","updated":"2021-01-22 22:04:23.000000000","message":"I saw you are doing rebuild doc update separately. as we are going to merge all together so I am ok with code change here and doc in https://review.opendev.org/c/openstack/nova/+/766380","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":true,"context_lines":[{"line_number":243,"context_line":"    * 2.89 - Add support for password encrypted remote console."},{"line_number":244,"context_line":"    * 2.90 - Replaces \u0027tenant_id\u0027 with \u0027project_id\u0027 in the following APIs:"},{"line_number":245,"context_line":"             ``GET /servers``, ``GET /servers/detail`` and"},{"line_number":246,"context_line":"             ``PUT /servers/{server_id}``."},{"line_number":247,"context_line":"\"\"\""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":11,"id":"6e0b834b_4f8ff488","line":246,"range":{"start_line":246,"start_character":41,"end_line":246,"end_character":42},"in_reply_to":"5105f748_debaaeb8","updated":"2021-01-26 09:04:37.000000000","message":"added get server.\nrebuild in follow patch.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":241,"context_line":"             ``/os-hypervisors/statistics`` and"},{"line_number":242,"context_line":"             ``/os-hypervisors/{hypervisor_id}/uptime`` APIs entirely."},{"line_number":243,"context_line":"    * 2.89 - Add support for password encrypted remote console."},{"line_number":244,"context_line":"    * 2.90 - Replaces \u0027tenant_id\u0027 with \u0027project_id\u0027 in the following APIs:"},{"line_number":245,"context_line":"             ``GET /servers``, ``GET /servers/detail`` and"},{"line_number":246,"context_line":"             ``PUT /servers/{server_id}``."},{"line_number":247,"context_line":"\"\"\""},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":11,"id":"920e9a26_c5eb83a4","line":246,"range":{"start_line":244,"start_character":13,"end_line":246,"end_character":42},"in_reply_to":"7da316b0_48a2e11e","updated":"2021-01-26 09:04:37.000000000","message":"Done","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a50689fe6f12eb5a578dd56dcd2a6dd80df78753","unresolved":true,"context_lines":[{"line_number":247,"context_line":"               ``GET /servers/detail``"},{"line_number":248,"context_line":"             In response body of:"},{"line_number":249,"context_line":"               ``GET /servers/detail``"},{"line_number":250,"context_line":"               ``GET/servers/{server_id}``."},{"line_number":251,"context_line":"               ``PUT /servers/{server_id}``."},{"line_number":252,"context_line":"\"\"\""},{"line_number":253,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"4c046d99_70718679","line":250,"range":{"start_line":250,"start_character":14,"end_line":250,"end_character":43},"updated":"2021-02-25 00:07:54.000000000","message":"add one space here\n ``GET /servers/{server_id}``.","commit_id":"3f2212561959605c55b2d546a186406708d7f023"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"829a01a544771d719ce0f43b053a767afbb530fc","unresolved":false,"context_lines":[{"line_number":247,"context_line":"               ``GET /servers/detail``"},{"line_number":248,"context_line":"             In response body of:"},{"line_number":249,"context_line":"               ``GET /servers/detail``"},{"line_number":250,"context_line":"               ``GET/servers/{server_id}``."},{"line_number":251,"context_line":"               ``PUT /servers/{server_id}``."},{"line_number":252,"context_line":"\"\"\""},{"line_number":253,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"a7a06ad2_4368bfeb","line":250,"range":{"start_line":250,"start_character":14,"end_line":250,"end_character":43},"in_reply_to":"4c046d99_70718679","updated":"2021-03-01 06:06:59.000000000","message":"Done","commit_id":"3f2212561959605c55b2d546a186406708d7f023"}],"nova/api/openstack/compute/rest_api_version_history.rst":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":1144,"context_line":"2.88"},{"line_number":1145,"context_line":"----"},{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"Removes \u0027tenant_id\u0027 from the following APIs."},{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":"* ``GET /servers``"},{"line_number":1150,"context_line":"* ``GET /servers/detail``"}],"source_content_type":"text/x-rst","patch_set":5,"id":"52e6051d_a588412c","line":1147,"range":{"start_line":1147,"start_character":0,"end_line":1147,"end_character":21},"updated":"2020-12-03 13:50:16.000000000","message":"Replaces tenant_id with project_id in ...","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":1144,"context_line":"2.88"},{"line_number":1145,"context_line":"----"},{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"Removes \u0027tenant_id\u0027 from the following APIs."},{"line_number":1148,"context_line":""},{"line_number":1149,"context_line":"* ``GET /servers``"},{"line_number":1150,"context_line":"* ``GET /servers/detail``"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5a1c5342_dcc64f71","line":1147,"range":{"start_line":1147,"start_character":0,"end_line":1147,"end_character":21},"in_reply_to":"52e6051d_a588412c","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":"* ``GET /servers``"},{"line_number":1190,"context_line":"* ``GET /servers/detail``"},{"line_number":1191,"context_line":"* ``PUT /servers/{server_id}``"}],"source_content_type":"text/x-rst","patch_set":11,"id":"bcc84717_919e7df9","line":1191,"range":{"start_line":1191,"start_character":29,"end_line":1191,"end_character":30},"updated":"2021-01-22 21:46:09.000000000","message":"ditto https://review.opendev.org/c/openstack/nova/+/764292/11/nova/api/openstack/api_version_request.py","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":"* ``GET /servers``"},{"line_number":1190,"context_line":"* ``GET /servers/detail``"},{"line_number":1191,"context_line":"* ``PUT /servers/{server_id}``"}],"source_content_type":"text/x-rst","patch_set":11,"id":"d5d6a526_edc3662f","line":1191,"range":{"start_line":1191,"start_character":29,"end_line":1191,"end_character":30},"in_reply_to":"bcc84717_919e7df9","updated":"2021-01-26 09:04:37.000000000","message":"Done","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a50689fe6f12eb5a578dd56dcd2a6dd80df78753","unresolved":true,"context_lines":[{"line_number":1176,"context_line":""},{"line_number":1177,"context_line":"2.89"},{"line_number":1178,"context_line":"----"},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":"Adds the support to encrypt VNC by passing ``password`` in the"},{"line_number":1181,"context_line":"``POST /servers/\u003cuuid\u003e/remote-consoles`` API, which aims at providing a safer"},{"line_number":1182,"context_line":"remote console with password authentication."},{"line_number":1183,"context_line":""},{"line_number":1184,"context_line":"2.90"},{"line_number":1185,"context_line":"----"}],"source_content_type":"text/x-rst","patch_set":18,"id":"0f3de54d_ee57059b","line":1182,"range":{"start_line":1179,"start_character":0,"end_line":1182,"end_character":44},"updated":"2021-02-25 00:07:54.000000000","message":"this should change not be reflecting here, may be rebase made this change checked in in this patch?","commit_id":"3f2212561959605c55b2d546a186406708d7f023"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"829a01a544771d719ce0f43b053a767afbb530fc","unresolved":false,"context_lines":[{"line_number":1176,"context_line":""},{"line_number":1177,"context_line":"2.89"},{"line_number":1178,"context_line":"----"},{"line_number":1179,"context_line":""},{"line_number":1180,"context_line":"Adds the support to encrypt VNC by passing ``password`` in the"},{"line_number":1181,"context_line":"``POST /servers/\u003cuuid\u003e/remote-consoles`` API, which aims at providing a safer"},{"line_number":1182,"context_line":"remote console with password authentication."},{"line_number":1183,"context_line":""},{"line_number":1184,"context_line":"2.90"},{"line_number":1185,"context_line":"----"}],"source_content_type":"text/x-rst","patch_set":18,"id":"3148f300_38444b2c","line":1182,"range":{"start_line":1179,"start_character":0,"end_line":1182,"end_character":44},"in_reply_to":"0f3de54d_ee57059b","updated":"2021-03-01 06:06:59.000000000","message":"Done","commit_id":"3f2212561959605c55b2d546a186406708d7f023"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a50689fe6f12eb5a578dd56dcd2a6dd80df78753","unresolved":true,"context_lines":[{"line_number":1191,"context_line":"* ``GET /servers/detail``"},{"line_number":1192,"context_line":"In response body of:"},{"line_number":1193,"context_line":"* ``GET /servers/detail``"},{"line_number":1194,"context_line":"* ``GET/servers/{server_id}``."},{"line_number":1195,"context_line":"* ``PUT /servers/{server_id}``."}],"source_content_type":"text/x-rst","patch_set":18,"id":"3dd4aed8_7c453481","line":1194,"range":{"start_line":1194,"start_character":0,"end_line":1194,"end_character":30},"updated":"2021-02-25 00:07:54.000000000","message":"ditto","commit_id":"3f2212561959605c55b2d546a186406708d7f023"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"829a01a544771d719ce0f43b053a767afbb530fc","unresolved":false,"context_lines":[{"line_number":1191,"context_line":"* ``GET /servers/detail``"},{"line_number":1192,"context_line":"In response body of:"},{"line_number":1193,"context_line":"* ``GET /servers/detail``"},{"line_number":1194,"context_line":"* ``GET/servers/{server_id}``."},{"line_number":1195,"context_line":"* ``PUT /servers/{server_id}``."}],"source_content_type":"text/x-rst","patch_set":18,"id":"50003483_5e0bfa00","line":1194,"range":{"start_line":1194,"start_character":0,"end_line":1194,"end_character":30},"in_reply_to":"3dd4aed8_7c453481","updated":"2021-03-01 06:06:59.000000000","message":"Done","commit_id":"3f2212561959605c55b2d546a186406708d7f023"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75a59222e7fbae408eebde0ad7fea4deaea74f5c","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"2.89"},{"line_number":1182,"context_line":"----"},{"line_number":1183,"context_line":""},{"line_number":1184,"context_line":"Replaces \u0027tenant_id\u0027 with \u0027project_id\u0027 in the following APIs."},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"In request body/query of:"},{"line_number":1187,"context_line":"* ``GET /servers``,"}],"source_content_type":"text/x-rst","patch_set":25,"id":"8fc51cbb_7ea5814f","line":1184,"range":{"start_line":1184,"start_character":9,"end_line":1184,"end_character":20},"updated":"2021-06-01 11:31:39.000000000","message":"nit:\n\n  ``tenant_id`` with ``project_id``","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a531a98f14abf07fe8252f0f387fe6a033ebabb3","unresolved":false,"context_lines":[{"line_number":1181,"context_line":"2.89"},{"line_number":1182,"context_line":"----"},{"line_number":1183,"context_line":""},{"line_number":1184,"context_line":"Replaces \u0027tenant_id\u0027 with \u0027project_id\u0027 in the following APIs."},{"line_number":1185,"context_line":""},{"line_number":1186,"context_line":"In request body/query of:"},{"line_number":1187,"context_line":"* ``GET /servers``,"}],"source_content_type":"text/x-rst","patch_set":25,"id":"f36fc954_1519da96","line":1184,"range":{"start_line":1184,"start_character":9,"end_line":1184,"end_character":20},"in_reply_to":"8fc51cbb_7ea5814f","updated":"2021-06-09 09:19:17.000000000","message":"Done","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":297,"context_line":"                context.can(server_policies.SERVERS % \u0027index:get_all_tenants\u0027)"},{"line_number":298,"context_line":"            elevated \u003d context.elevated()"},{"line_number":299,"context_line":"        else:"},{"line_number":300,"context_line":"            if not api_version_request.is_supported(req, min_version\u003d\u00272.88\u0027):"},{"line_number":301,"context_line":"                # As explained in lp:#1185290, if `all_tenants` is not passed"},{"line_number":302,"context_line":"                # we must ignore the `tenant_id` search option."},{"line_number":303,"context_line":"                search_opts.pop(\u0027tenant_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"a769c1b5_db8e1c28","line":300,"updated":"2020-12-03 13:50:16.000000000","message":"could this be not true in reality? if the microversion is \u003e\u003d 88 then the request could not contain tenant_id as such request is already rejected by the schema validation code.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":297,"context_line":"                context.can(server_policies.SERVERS % \u0027index:get_all_tenants\u0027)"},{"line_number":298,"context_line":"            elevated \u003d context.elevated()"},{"line_number":299,"context_line":"        else:"},{"line_number":300,"context_line":"            if not api_version_request.is_supported(req, min_version\u003d\u00272.88\u0027):"},{"line_number":301,"context_line":"                # As explained in lp:#1185290, if `all_tenants` is not passed"},{"line_number":302,"context_line":"                # we must ignore the `tenant_id` search option."},{"line_number":303,"context_line":"                search_opts.pop(\u0027tenant_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"e5898350_9c8bdeff","line":300,"in_reply_to":"64300201_df8802be","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":297,"context_line":"                context.can(server_policies.SERVERS % \u0027index:get_all_tenants\u0027)"},{"line_number":298,"context_line":"            elevated \u003d context.elevated()"},{"line_number":299,"context_line":"        else:"},{"line_number":300,"context_line":"            if not api_version_request.is_supported(req, min_version\u003d\u00272.88\u0027):"},{"line_number":301,"context_line":"                # As explained in lp:#1185290, if `all_tenants` is not passed"},{"line_number":302,"context_line":"                # we must ignore the `tenant_id` search option."},{"line_number":303,"context_line":"                search_opts.pop(\u0027tenant_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":5,"id":"64300201_df8802be","line":300,"in_reply_to":"a769c1b5_db8e1c28","updated":"2020-12-03 21:49:00.000000000","message":"requesting other project servers is not good UX from our API and it must require all_tenants to requested. As gibi mentioned above microversion \u003e\u003d2.88 is already taken care by schema so we remove tenant_id for \u003c\u003d2.87 only.\n\nsimple if condition can be\nif api_version_request.is_supported(req, max_version\u003d\u00272.87\u0027):\n                # As explained in lp:#1185290, if `all_tenants` is not passed\n                # we must ignore the `tenant_id` search option.\n                search_opts.pop(\u0027tenant_id\u0027, None)","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1fc9d1fa7cebcb61287ee4c30ff19caf5c0da182","unresolved":true,"context_lines":[{"line_number":296,"context_line":"                context.can(server_policies.SERVERS % \u0027index:get_all_tenants\u0027)"},{"line_number":297,"context_line":"            elevated \u003d context.elevated()"},{"line_number":298,"context_line":"        else:"},{"line_number":299,"context_line":"            if api_version_request.is_supported(req, max_version\u003d\u00272.87\u0027):"},{"line_number":300,"context_line":"                # As explained in lp:#1185290, if `all_tenants` is not passed"},{"line_number":301,"context_line":"                # we must ignore the `tenant_id` search option."},{"line_number":302,"context_line":"                search_opts.pop(\u0027tenant_id\u0027, None)"},{"line_number":303,"context_line":"            if context.project_id:"}],"source_content_type":"text/x-python","patch_set":9,"id":"ad7956e0_fe6940bc","line":300,"range":{"start_line":299,"start_character":0,"end_line":300,"end_character":1},"updated":"2021-01-04 15:16:19.000000000","message":"I not fully get this change. if the request is 2.88 or newer then we don\u0027t have tenant_id search_opts to pop but pop would ignore that anyhow. So I don\u0027t think we need this conditional here. Do I miss something?","commit_id":"7deecb7bbce780297ea5e49557427b7e6d915aff"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":296,"context_line":"                context.can(server_policies.SERVERS % \u0027index:get_all_tenants\u0027)"},{"line_number":297,"context_line":"            elevated \u003d context.elevated()"},{"line_number":298,"context_line":"        else:"},{"line_number":299,"context_line":"            if api_version_request.is_supported(req, max_version\u003d\u00272.87\u0027):"},{"line_number":300,"context_line":"                # As explained in lp:#1185290, if `all_tenants` is not passed"},{"line_number":301,"context_line":"                # we must ignore the `tenant_id` search option."},{"line_number":302,"context_line":"                search_opts.pop(\u0027tenant_id\u0027, None)"},{"line_number":303,"context_line":"            if context.project_id:"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f3e11c2_e3a4174c","line":300,"range":{"start_line":299,"start_character":0,"end_line":300,"end_character":1},"in_reply_to":"079ddd7a_8389dc03","updated":"2021-01-22 21:46:09.000000000","message":"ok, we can remove as gibi explained. This was just for extra protection but schema does not allow it so it is noop.","commit_id":"7deecb7bbce780297ea5e49557427b7e6d915aff"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"88ad6fdcbf27ab4a606663841e168f34d9176a9a","unresolved":true,"context_lines":[{"line_number":296,"context_line":"                context.can(server_policies.SERVERS % \u0027index:get_all_tenants\u0027)"},{"line_number":297,"context_line":"            elevated \u003d context.elevated()"},{"line_number":298,"context_line":"        else:"},{"line_number":299,"context_line":"            if api_version_request.is_supported(req, max_version\u003d\u00272.87\u0027):"},{"line_number":300,"context_line":"                # As explained in lp:#1185290, if `all_tenants` is not passed"},{"line_number":301,"context_line":"                # we must ignore the `tenant_id` search option."},{"line_number":302,"context_line":"                search_opts.pop(\u0027tenant_id\u0027, None)"},{"line_number":303,"context_line":"            if context.project_id:"}],"source_content_type":"text/x-python","patch_set":9,"id":"079ddd7a_8389dc03","line":300,"range":{"start_line":299,"start_character":0,"end_line":300,"end_character":1},"in_reply_to":"ad7956e0_fe6940bc","updated":"2021-01-12 12:21:36.000000000","message":"Here in order to simple the if condition, suggestion by gmann https://review.opendev.org/c/openstack/nova/+/764292/5/nova/api/openstack/compute/servers.py#300","commit_id":"7deecb7bbce780297ea5e49557427b7e6d915aff"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    @wsgi.expected_errors((400, 403))"},{"line_number":120,"context_line":"    @validation.query_schema(schema_servers.query_params_v290, \u00272.90\u0027)"},{"line_number":121,"context_line":"    @validation.query_schema(schema_servers.query_params_v275, \u00272.75\u0027, \u00272.87\u0027)"},{"line_number":122,"context_line":"    @validation.query_schema(schema_servers.query_params_v273, \u00272.73\u0027, \u00272.74\u0027)"},{"line_number":123,"context_line":"    @validation.query_schema(schema_servers.query_params_v266, \u00272.66\u0027, \u00272.72\u0027)"},{"line_number":124,"context_line":"    @validation.query_schema(schema_servers.query_params_v226, \u00272.26\u0027, \u00272.65\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"e090bc94_ed27a2ad","line":121,"range":{"start_line":121,"start_character":72,"end_line":121,"end_character":76},"updated":"2021-01-22 21:46:09.000000000","message":"2.88","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    @wsgi.expected_errors((400, 403))"},{"line_number":120,"context_line":"    @validation.query_schema(schema_servers.query_params_v290, \u00272.90\u0027)"},{"line_number":121,"context_line":"    @validation.query_schema(schema_servers.query_params_v275, \u00272.75\u0027, \u00272.87\u0027)"},{"line_number":122,"context_line":"    @validation.query_schema(schema_servers.query_params_v273, \u00272.73\u0027, \u00272.74\u0027)"},{"line_number":123,"context_line":"    @validation.query_schema(schema_servers.query_params_v266, \u00272.66\u0027, \u00272.72\u0027)"},{"line_number":124,"context_line":"    @validation.query_schema(schema_servers.query_params_v226, \u00272.26\u0027, \u00272.65\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"56ba9db7_23c60c71","line":121,"range":{"start_line":121,"start_character":72,"end_line":121,"end_character":76},"in_reply_to":"e090bc94_ed27a2ad","updated":"2021-01-26 09:04:37.000000000","message":"Done","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    @wsgi.expected_errors((400, 403))"},{"line_number":137,"context_line":"    @validation.query_schema(schema_servers.query_params_v290, \u00272.90\u0027)"},{"line_number":138,"context_line":"    @validation.query_schema(schema_servers.query_params_v275, \u00272.75\u0027, \u00272.87\u0027)"},{"line_number":139,"context_line":"    @validation.query_schema(schema_servers.query_params_v273, \u00272.73\u0027, \u00272.74\u0027)"},{"line_number":140,"context_line":"    @validation.query_schema(schema_servers.query_params_v266, \u00272.66\u0027, \u00272.72\u0027)"},{"line_number":141,"context_line":"    @validation.query_schema(schema_servers.query_params_v226, \u00272.26\u0027, \u00272.65\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"6840fdae_14d94fff","line":138,"range":{"start_line":138,"start_character":72,"end_line":138,"end_character":76},"updated":"2021-01-22 21:46:09.000000000","message":"2.89","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"    @wsgi.expected_errors((400, 403))"},{"line_number":137,"context_line":"    @validation.query_schema(schema_servers.query_params_v290, \u00272.90\u0027)"},{"line_number":138,"context_line":"    @validation.query_schema(schema_servers.query_params_v275, \u00272.75\u0027, \u00272.87\u0027)"},{"line_number":139,"context_line":"    @validation.query_schema(schema_servers.query_params_v273, \u00272.73\u0027, \u00272.74\u0027)"},{"line_number":140,"context_line":"    @validation.query_schema(schema_servers.query_params_v266, \u00272.66\u0027, \u00272.72\u0027)"},{"line_number":141,"context_line":"    @validation.query_schema(schema_servers.query_params_v226, \u00272.26\u0027, \u00272.65\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"54e10f54_5d05574d","line":138,"range":{"start_line":138,"start_character":72,"end_line":138,"end_character":76},"in_reply_to":"6840fdae_14d94fff","updated":"2021-01-26 09:04:37.000000000","message":"Done","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":1287,"context_line":"                         \u0027power_state\u0027, \u0027task_state\u0027, \u0027vm_state\u0027, \u0027progress\u0027,"},{"line_number":1288,"context_line":"                         \u0027user_id\u0027,)"},{"line_number":1289,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.90\u0027):"},{"line_number":1290,"context_line":"            opt_list +\u003d (\u0027project_id\u0027,)"},{"line_number":1291,"context_line":"        return opt_list"},{"line_number":1292,"context_line":""},{"line_number":1293,"context_line":"    def _get_instance(self, context, instance_uuid):"}],"source_content_type":"text/x-python","patch_set":11,"id":"d57567f8_eb2ddc65","line":1290,"range":{"start_line":1290,"start_character":38,"end_line":1290,"end_character":39},"updated":"2021-01-22 21:46:09.000000000","message":"tenant_id was not included in allowed filter for non-admin but they could get all tenant data if \u0027get_all_tenants\u0027 permit them.  So with this change we are allowing non-admin to query with project_id and below will be behavior:\n\n1.  if request is with project_id but no \u0027all_tenants\u0027 query then this change has no impact because L303 will be overwriting search_opts[\u0027project_id\u0027] with context.project_id\n\n2. if request is with \u0027all_tenants\u0027 and project_id query and \u0027get_all_tenants\u0027 policy *does not permit* non-admin then it anyways return 403\n\n3.  if request is with \u0027all_tenants\u0027 and project_id query and  \u0027get_all_tenants\u0027 policy *permit* non-admin then this change:\nnon-admin can get only specific project\u0027s servers instead of all project\u0027s server. technically no issue in this as they can anyways get all the projects server. \n\nso overall this is not changing any behavior but is there any benefit of this? If we keep then we should have test added for this to verify that \u0027non-admin should not get other project server\u0027 if no all_tenants or policy is not permit.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0346f86b532cb599036e05e2286ccfb041c42033","unresolved":true,"context_lines":[{"line_number":1287,"context_line":"                         \u0027power_state\u0027, \u0027task_state\u0027, \u0027vm_state\u0027, \u0027progress\u0027,"},{"line_number":1288,"context_line":"                         \u0027user_id\u0027,)"},{"line_number":1289,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.90\u0027):"},{"line_number":1290,"context_line":"            opt_list +\u003d (\u0027project_id\u0027,)"},{"line_number":1291,"context_line":"        return opt_list"},{"line_number":1292,"context_line":""},{"line_number":1293,"context_line":"    def _get_instance(self, context, instance_uuid):"}],"source_content_type":"text/x-python","patch_set":11,"id":"c54fa784_51b11475","line":1290,"range":{"start_line":1290,"start_character":38,"end_line":1290,"end_character":39},"in_reply_to":"91f63a60_292f505d","updated":"2021-01-26 22:06:40.000000000","message":"yeah admin can still do --all_tenant --project_id. _get_server_search_options is only for non-admin case. may be we should rename this to _get_server_search_non_admin_options for clarity but that is not in scope of this patch.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"f0fea67408d21550e53b01236126b589e5649ede","unresolved":true,"context_lines":[{"line_number":1287,"context_line":"                         \u0027power_state\u0027, \u0027task_state\u0027, \u0027vm_state\u0027, \u0027progress\u0027,"},{"line_number":1288,"context_line":"                         \u0027user_id\u0027,)"},{"line_number":1289,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.90\u0027):"},{"line_number":1290,"context_line":"            opt_list +\u003d (\u0027project_id\u0027,)"},{"line_number":1291,"context_line":"        return opt_list"},{"line_number":1292,"context_line":""},{"line_number":1293,"context_line":"    def _get_instance(self, context, instance_uuid):"}],"source_content_type":"text/x-python","patch_set":11,"id":"9f5f1cf3_f870b961","line":1290,"range":{"start_line":1290,"start_character":38,"end_line":1290,"end_character":39},"in_reply_to":"c54fa784_51b11475","updated":"2021-01-27 00:35:22.000000000","message":"Yeah, I will add this to my list, after done of this patch, then to do this one.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"27e41733bc66fc226b6bc5dccb61ba30c909504d","unresolved":true,"context_lines":[{"line_number":1287,"context_line":"                         \u0027power_state\u0027, \u0027task_state\u0027, \u0027vm_state\u0027, \u0027progress\u0027,"},{"line_number":1288,"context_line":"                         \u0027user_id\u0027,)"},{"line_number":1289,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.90\u0027):"},{"line_number":1290,"context_line":"            opt_list +\u003d (\u0027project_id\u0027,)"},{"line_number":1291,"context_line":"        return opt_list"},{"line_number":1292,"context_line":""},{"line_number":1293,"context_line":"    def _get_instance(self, context, instance_uuid):"}],"source_content_type":"text/x-python","patch_set":11,"id":"91f63a60_292f505d","line":1290,"range":{"start_line":1290,"start_character":38,"end_line":1290,"end_character":39},"in_reply_to":"d57567f8_eb2ddc65","updated":"2021-01-25 08:45:13.000000000","message":"Here, what I consider is that the admin can get the servers with a specific project through \u0027project_id\u0027 instead of getting all of them by \u0027all_tenants\u0027, and then process them again according to\u0027project_id\u0027. But as you said above, it\u0027s not changing any behavior, processing the return results is easy for users, so we can remove this for this _get_server_search_options.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"24d2c8f7057a46f489208016f470530255a7ce91","unresolved":true,"context_lines":[{"line_number":296,"context_line":"                context.can(server_policies.SERVERS % \u0027index:get_all_tenants\u0027)"},{"line_number":297,"context_line":"            elevated \u003d context.elevated()"},{"line_number":298,"context_line":"        else:"},{"line_number":299,"context_line":"            if api_version_request.is_supported(req, max_version\u003d\u00272.89\u0027):"},{"line_number":300,"context_line":"                # As explained in lp:#1185290, if `all_tenants` is not passed"},{"line_number":301,"context_line":"                # we must ignore the `tenant_id` search option."},{"line_number":302,"context_line":"                search_opts.pop(\u0027tenant_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":14,"id":"b0f97897_b150e1e4","line":299,"range":{"start_line":299,"start_character":0,"end_line":299,"end_character":73},"updated":"2021-01-27 23:06:43.000000000","message":"this is left from previous comment, let\u0027s remove this if condition as schema take care of it.","commit_id":"6f5739d4446e02fcaf379a71ae52931c5a74de71"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"8259609d479256e8204d258873777ac220dc399b","unresolved":false,"context_lines":[{"line_number":296,"context_line":"                context.can(server_policies.SERVERS % \u0027index:get_all_tenants\u0027)"},{"line_number":297,"context_line":"            elevated \u003d context.elevated()"},{"line_number":298,"context_line":"        else:"},{"line_number":299,"context_line":"            if api_version_request.is_supported(req, max_version\u003d\u00272.89\u0027):"},{"line_number":300,"context_line":"                # As explained in lp:#1185290, if `all_tenants` is not passed"},{"line_number":301,"context_line":"                # we must ignore the `tenant_id` search option."},{"line_number":302,"context_line":"                search_opts.pop(\u0027tenant_id\u0027, None)"}],"source_content_type":"text/x-python","patch_set":14,"id":"26feb544_e4c1e43b","line":299,"range":{"start_line":299,"start_character":0,"end_line":299,"end_character":73},"in_reply_to":"b0f97897_b150e1e4","updated":"2021-02-02 13:04:56.000000000","message":"Done","commit_id":"6f5739d4446e02fcaf379a71ae52931c5a74de71"}],"nova/api/openstack/compute/views/servers.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        if server[\"server\"][\"status\"] in self._progress_statuses:"},{"line_number":284,"context_line":"            server[\"server\"][\"progress\"] \u003d instance.get(\"progress\", 0)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # In microversion 2.88, we replaced \u0027tenant_id\u0027 wtih \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.88\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"}],"source_content_type":"text/x-python","patch_set":5,"id":"a14e183a_4fc4b9fa","line":289,"range":{"start_line":285,"start_character":0,"end_line":289,"end_character":77},"updated":"2020-12-03 21:49:00.000000000","message":"this view method is used by many other APIs like list detail, show server, update, rebuild server. As we have to do this change for all those API so we need to be careful to merge this once all those API patches are up.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":true,"context_lines":[{"line_number":282,"context_line":""},{"line_number":283,"context_line":"        if server[\"server\"][\"status\"] in self._progress_statuses:"},{"line_number":284,"context_line":"            server[\"server\"][\"progress\"] \u003d instance.get(\"progress\", 0)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # In microversion 2.88, we replaced \u0027tenant_id\u0027 wtih \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.88\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"}],"source_content_type":"text/x-python","patch_set":5,"id":"c37c5a66_76dcb91f","line":289,"range":{"start_line":285,"start_character":0,"end_line":289,"end_character":77},"in_reply_to":"a14e183a_4fc4b9fa","updated":"2020-12-06 04:53:55.000000000","message":"Thanks for your reminding, added in my list.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":283,"context_line":"        if server[\"server\"][\"status\"] in self._progress_statuses:"},{"line_number":284,"context_line":"            server[\"server\"][\"progress\"] \u003d instance.get(\"progress\", 0)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # In microversion 2.88, we replaced \u0027tenant_id\u0027 wtih \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.88\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"5f30a292_0fef17e3","line":286,"updated":"2020-12-07 16:24:22.000000000","message":"nit:with","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        if server[\"server\"][\"status\"] in self._progress_statuses:"},{"line_number":284,"context_line":"            server[\"server\"][\"progress\"] \u003d instance.get(\"progress\", 0)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # In microversion 2.88, we replaced \u0027tenant_id\u0027 wtih \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.88\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"ea6f97bf_657fa3e8","line":286,"in_reply_to":"5f30a292_0fef17e3","updated":"2020-12-08 09:02:00.000000000","message":"Done","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1fc9d1fa7cebcb61287ee4c30ff19caf5c0da182","unresolved":true,"context_lines":[{"line_number":283,"context_line":"        if server[\"server\"][\"status\"] in self._progress_statuses:"},{"line_number":284,"context_line":"            server[\"server\"][\"progress\"] \u003d instance.get(\"progress\", 0)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # In microversion 2.88, we replaced \u0027tenant_id\u0027 wtih \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.88\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"a7f47d0f_9008a9fa","line":286,"in_reply_to":"ea6f97bf_657fa3e8","updated":"2021-01-04 15:16:19.000000000","message":"Sorry I referred to the \u0027wtih\u0027 string in your comment not to the \u0027In\u0027","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1fc9d1fa7cebcb61287ee4c30ff19caf5c0da182","unresolved":true,"context_lines":[{"line_number":283,"context_line":"        if server[\"server\"][\"status\"] in self._progress_statuses:"},{"line_number":284,"context_line":"            server[\"server\"][\"progress\"] \u003d instance.get(\"progress\", 0)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # With microversion 2.88, we replaced \u0027tenant_id\u0027 wtih \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.88\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"ffdd88c0_359b31ed","line":286,"range":{"start_line":286,"start_character":58,"end_line":286,"end_character":62},"updated":"2021-01-04 15:16:19.000000000","message":"with","commit_id":"7deecb7bbce780297ea5e49557427b7e6d915aff"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"88ad6fdcbf27ab4a606663841e168f34d9176a9a","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        if server[\"server\"][\"status\"] in self._progress_statuses:"},{"line_number":284,"context_line":"            server[\"server\"][\"progress\"] \u003d instance.get(\"progress\", 0)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"        # With microversion 2.88, we replaced \u0027tenant_id\u0027 wtih \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.88\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""}],"source_content_type":"text/x-python","patch_set":9,"id":"40e10915_cd360168","line":286,"range":{"start_line":286,"start_character":58,"end_line":286,"end_character":62},"in_reply_to":"ffdd88c0_359b31ed","updated":"2021-01-12 12:21:36.000000000","message":"Done","commit_id":"7deecb7bbce780297ea5e49557427b7e6d915aff"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.90\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"},{"line_number":293,"context_line":"            az \u003d avail_zone.get_instance_availability_zone(context, instance)"}],"source_content_type":"text/x-python","patch_set":11,"id":"382067c7_deefc955","line":290,"range":{"start_line":290,"start_character":0,"end_line":290,"end_character":0},"updated":"2021-01-22 21:46:09.000000000","message":"as I commented in early PS also. this view method is used in GET, PUT, REBUILD API also so this will change it in all these APIs. which is no issue as we have to change it for them also as part of this BP but we should mention all those APIs in version change doc.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8f660d7f3a782f4174837b6e43845aff6ef49e87","unresolved":true,"context_lines":[{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.90\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"},{"line_number":293,"context_line":"            az \u003d avail_zone.get_instance_availability_zone(context, instance)"}],"source_content_type":"text/x-python","patch_set":11,"id":"8ea0ba57_7b03f731","line":290,"range":{"start_line":290,"start_character":0,"end_line":290,"end_character":0},"in_reply_to":"382067c7_deefc955","updated":"2021-01-22 22:04:23.000000000","message":"doc change for rebuild is in https://review.opendev.org/c/openstack/nova/+/766380 so all good here.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.90\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"},{"line_number":293,"context_line":"            az \u003d avail_zone.get_instance_availability_zone(context, instance)"}],"source_content_type":"text/x-python","patch_set":11,"id":"888d9d71_ad818a95","line":290,"range":{"start_line":290,"start_character":0,"end_line":290,"end_character":0},"in_reply_to":"8ea0ba57_7b03f731","updated":"2021-01-26 09:04:37.000000000","message":"Ack","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75a59222e7fbae408eebde0ad7fea4deaea74f5c","unresolved":true,"context_lines":[{"line_number":286,"context_line":"        # With microversion 2.89, we replaced \u0027tenant_id\u0027 with \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"}],"source_content_type":"text/x-python","patch_set":25,"id":"960a492e_be061eaa","line":289,"updated":"2021-06-01 11:31:39.000000000","message":"rather than doing this hot swap, could we stop adding it above and instead encode something like:\n\n  # Before microversion 2.89, we use \u0027tenant_id\u0027. After, we use \u0027project_id\u0027\n  if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):\n      server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\"\n  else:\n      server[\u0027server\u0027][\u0027tenant_id\u0027] \u003d instance.get(\"project_id\") or \"\"","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"94689b1b31e0cffb04748f168c8763caff6a9d18","unresolved":true,"context_lines":[{"line_number":286,"context_line":"        # With microversion 2.89, we replaced \u0027tenant_id\u0027 with \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"}],"source_content_type":"text/x-python","patch_set":25,"id":"dd9dd93e_66e8461d","line":289,"in_reply_to":"06c6c2e3_421369c5","updated":"2021-06-29 16:35:15.000000000","message":"Yes, what gmann said. Currently you\u0027re doing:\n\n  foo \u003d {\n      \u0027bar\u0027: \u0027baz\u0027,\n      ...\n  }\n  if conditional:\n      del foo[\u0027bar\u0027]\n      foo[\u0027wow\u0027] \u003d \u0027baz\u0027\n\nI\u0027m suggesting doing:\n\n  foo \u003d {\n      ...\n  }\n  if conditional:\n      foo[\u0027wow\u0027] \u003d \u0027baz\u0027\n  else:\n      foo[\u0027bar\u0027] \u003d \u0027baz\u0027\n\nIf that makes sense?","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"31e5a4e27914b56d9c9e02f95fa3a2835700a1d3","unresolved":true,"context_lines":[{"line_number":286,"context_line":"        # With microversion 2.89, we replaced \u0027tenant_id\u0027 with \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"}],"source_content_type":"text/x-python","patch_set":25,"id":"06c6c2e3_421369c5","line":289,"in_reply_to":"8651c989_7febdcc3","updated":"2021-06-15 23:03:24.000000000","message":"stephenfin is saying instead of adding the tenant_id in L255 and then removing here, you can remove the 255 and then add the if else condition like he mentioned above.\n\nThat will be easy and clear to read.","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09cb450af120eaf4f11ff82795649bd2662fb911","unresolved":true,"context_lines":[{"line_number":286,"context_line":"        # With microversion 2.89, we replaced \u0027tenant_id\u0027 with \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"}],"source_content_type":"text/x-python","patch_set":25,"id":"f703e481_7ba002ff","line":289,"in_reply_to":"960a492e_be061eaa","updated":"2021-06-01 11:45:54.000000000","message":"After 2.89, we support project_id, whether we using openstack cli or rest API, that we can know  this, it\u0027s really need to changed as your list?","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"716b9388fb487678efdacd3ad1aa056ce2128b59","unresolved":false,"context_lines":[{"line_number":286,"context_line":"        # With microversion 2.89, we replaced \u0027tenant_id\u0027 with \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"}],"source_content_type":"text/x-python","patch_set":25,"id":"9a10f5a5_08b361a9","line":289,"in_reply_to":"dd9dd93e_66e8461d","updated":"2021-08-05 06:25:15.000000000","message":"Done","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a531a98f14abf07fe8252f0f387fe6a033ebabb3","unresolved":true,"context_lines":[{"line_number":286,"context_line":"        # With microversion 2.89, we replaced \u0027tenant_id\u0027 with \u0027project_id\u0027."},{"line_number":287,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":288,"context_line":"            del server[\u0027server\u0027][\u0027tenant_id\u0027]"},{"line_number":289,"context_line":"            server[\u0027server\u0027][\u0027project_id\u0027] \u003d instance.get(\"project_id\") or \"\""},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        context \u003d request.environ[\u0027nova.context\u0027]"},{"line_number":292,"context_line":"        if show_AZ:"}],"source_content_type":"text/x-python","patch_set":25,"id":"8651c989_7febdcc3","line":289,"in_reply_to":"f703e481_7ba002ff","updated":"2021-06-09 09:19:17.000000000","message":"This mainly removes tenant_id from server before 2.89 and set project_id for server from instance\u0027s project_id.","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"}],"nova/tests/functional/api_sample_tests/api_samples/servers/v2.88/servers-details-resp.json.tpl":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6883bffcdad7640d49ebce386f679defa60355c5","unresolved":true,"context_lines":[{"line_number":97,"context_line":"    ],"},{"line_number":98,"context_line":"    \"servers_links\": ["},{"line_number":99,"context_line":"        {"},{"line_number":100,"context_line":"\t    \"href\": \"http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/servers/detail?limit\u003d1\u0026marker\u003d%(id)s\","},{"line_number":101,"context_line":"            \"rel\": \"next\""},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    ]"}],"source_content_type":"text/x-smarty","patch_set":6,"id":"60dcf70b_8697b0fa","line":100,"updated":"2020-12-07 16:24:22.000000000","message":"tab?","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"62fcb85a1184ccba50f76ca7e2c0c3b9b99b81e6","unresolved":false,"context_lines":[{"line_number":97,"context_line":"    ],"},{"line_number":98,"context_line":"    \"servers_links\": ["},{"line_number":99,"context_line":"        {"},{"line_number":100,"context_line":"\t    \"href\": \"http://openstack.example.com/v2.1/6f70656e737461636b20342065766572/servers/detail?limit\u003d1\u0026marker\u003d%(id)s\","},{"line_number":101,"context_line":"            \"rel\": \"next\""},{"line_number":102,"context_line":"        }"},{"line_number":103,"context_line":"    ]"}],"source_content_type":"text/x-smarty","patch_set":6,"id":"1dab992c_507dc764","line":100,"in_reply_to":"60dcf70b_8697b0fa","updated":"2020-12-08 09:02:00.000000000","message":"Done","commit_id":"a4c6c647674b27deb4d24f01d88b2dcb8ff5c021"}],"nova/tests/functional/api_sample_tests/test_servers.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":656,"context_line":"        self._verify_response(\u0027server-action-rebuild-resp\u0027, subs, resp, 202)"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"class ServersSampleJson288Test(ServersSampleBase):"},{"line_number":660,"context_line":"    ADMIN_API \u003d True"},{"line_number":661,"context_line":"    microversion \u003d \u00272.88\u0027"},{"line_number":662,"context_line":"    scenarios \u003d [(\u0027v2_88\u0027, {\u0027api_major_version\u0027: \u0027v2.1\u0027})]"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ca2b1dc_02ae3478","line":659,"range":{"start_line":659,"start_character":31,"end_line":659,"end_character":48},"updated":"2020-12-03 21:49:00.000000000","message":"you can inherit it from ServersSampleJsonTest which has GET servers API tests defined there so you do not need to write test again and just have updated sample file to validate the 2.88 behavior","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":656,"context_line":"        self._verify_response(\u0027server-action-rebuild-resp\u0027, subs, resp, 202)"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"class ServersSampleJson288Test(ServersSampleBase):"},{"line_number":660,"context_line":"    ADMIN_API \u003d True"},{"line_number":661,"context_line":"    microversion \u003d \u00272.88\u0027"},{"line_number":662,"context_line":"    scenarios \u003d [(\u0027v2_88\u0027, {\u0027api_major_version\u0027: \u0027v2.1\u0027})]"}],"source_content_type":"text/x-python","patch_set":5,"id":"58ab6f30_5f3367db","line":659,"range":{"start_line":659,"start_character":31,"end_line":659,"end_character":48},"in_reply_to":"1ca2b1dc_02ae3478","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":658,"context_line":""},{"line_number":659,"context_line":"class ServersSampleJson288Test(ServersSampleBase):"},{"line_number":660,"context_line":"    ADMIN_API \u003d True"},{"line_number":661,"context_line":"    microversion \u003d \u00272.88\u0027"},{"line_number":662,"context_line":"    scenarios \u003d [(\u0027v2_88\u0027, {\u0027api_major_version\u0027: \u0027v2.1\u0027})]"},{"line_number":663,"context_line":""},{"line_number":664,"context_line":"    availability_zones \u003d [\u0027nova\u0027]"},{"line_number":665,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"286e25dd_6c63df7b","line":662,"range":{"start_line":661,"start_character":0,"end_line":662,"end_character":58},"updated":"2020-12-03 21:49:00.000000000","message":"also you can add immediate previous microversion test also to make sure until 2.87  do not regress.\n\nclass ServersSampleJson287Test(ServersSampleJsonTest):\n    ADMIN_API \u003d True\n    microversion \u003d \u00272.87\u0027\n    scenarios \u003d [(\u0027v2_87\u0027, {\u0027api_major_version\u0027: \u0027v2.1\u0027})]\n\n^^ this way base class GET server test will run with existing sample files and make sure no regression.","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":658,"context_line":""},{"line_number":659,"context_line":"class ServersSampleJson288Test(ServersSampleBase):"},{"line_number":660,"context_line":"    ADMIN_API \u003d True"},{"line_number":661,"context_line":"    microversion \u003d \u00272.88\u0027"},{"line_number":662,"context_line":"    scenarios \u003d [(\u0027v2_88\u0027, {\u0027api_major_version\u0027: \u0027v2.1\u0027})]"},{"line_number":663,"context_line":""},{"line_number":664,"context_line":"    availability_zones \u003d [\u0027nova\u0027]"},{"line_number":665,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"2f53568a_873c8744","line":662,"range":{"start_line":661,"start_character":0,"end_line":662,"end_character":58},"in_reply_to":"286e25dd_6c63df7b","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":666,"context_line":"    def test_servers_details(self):"},{"line_number":667,"context_line":"        uuid \u003d self._post_server()"},{"line_number":668,"context_line":"        reason \u003d \"I don\u0027t want to work\""},{"line_number":669,"context_line":"        self._do_post(\u0027servers/%s/action\u0027 % uuid,"},{"line_number":670,"context_line":"                      \u0027lock-server-with-reason\u0027,"},{"line_number":671,"context_line":"                      {\"locked_reason\": reason})"},{"line_number":672,"context_line":"        response \u003d self._do_get(\u0027servers/detail\u0027)"},{"line_number":673,"context_line":"        subs \u003d {\u0027id\u0027: uuid}"},{"line_number":674,"context_line":"        self._verify_response(\u0027servers-details-resp\u0027, subs, response, 200)"}],"source_content_type":"text/x-python","patch_set":5,"id":"09bffffa_d571039c","line":671,"range":{"start_line":669,"start_character":8,"end_line":671,"end_character":48},"updated":"2020-12-03 13:50:16.000000000","message":"Why do we do this lock action?","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":true,"context_lines":[{"line_number":666,"context_line":"    def test_servers_details(self):"},{"line_number":667,"context_line":"        uuid \u003d self._post_server()"},{"line_number":668,"context_line":"        reason \u003d \"I don\u0027t want to work\""},{"line_number":669,"context_line":"        self._do_post(\u0027servers/%s/action\u0027 % uuid,"},{"line_number":670,"context_line":"                      \u0027lock-server-with-reason\u0027,"},{"line_number":671,"context_line":"                      {\"locked_reason\": reason})"},{"line_number":672,"context_line":"        response \u003d self._do_get(\u0027servers/detail\u0027)"},{"line_number":673,"context_line":"        subs \u003d {\u0027id\u0027: uuid}"},{"line_number":674,"context_line":"        self._verify_response(\u0027servers-details-resp\u0027, subs, response, 200)"}],"source_content_type":"text/x-python","patch_set":5,"id":"8d73a013_09819ac4","line":671,"range":{"start_line":669,"start_character":8,"end_line":671,"end_character":48},"in_reply_to":"09bffffa_d571039c","updated":"2020-12-06 04:53:55.000000000","message":"no, removed","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e159bf0cf43a88fc1aa37298d24b34e168f472cd","unresolved":true,"context_lines":[{"line_number":676,"context_line":"    def test_server_get(self):"},{"line_number":677,"context_line":"        uuid \u003d self._post_server()"},{"line_number":678,"context_line":"        reason \u003d \"I don\u0027t want to work\""},{"line_number":679,"context_line":"        self._do_post(\u0027servers/%s/action\u0027 % uuid,"},{"line_number":680,"context_line":"                      \u0027lock-server-with-reason\u0027,"},{"line_number":681,"context_line":"                      {\"locked_reason\": reason})"},{"line_number":682,"context_line":"        response \u003d self._do_get(\u0027servers/%s\u0027 % uuid)"},{"line_number":683,"context_line":"        subs \u003d {\u0027id\u0027: uuid}"},{"line_number":684,"context_line":"        self._verify_response(\u0027server-get-resp\u0027, subs, response, 200)"}],"source_content_type":"text/x-python","patch_set":5,"id":"54980f58_be7fc1b9","line":681,"range":{"start_line":679,"start_character":8,"end_line":681,"end_character":48},"updated":"2020-12-03 13:50:16.000000000","message":"ditto","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":676,"context_line":"    def test_server_get(self):"},{"line_number":677,"context_line":"        uuid \u003d self._post_server()"},{"line_number":678,"context_line":"        reason \u003d \"I don\u0027t want to work\""},{"line_number":679,"context_line":"        self._do_post(\u0027servers/%s/action\u0027 % uuid,"},{"line_number":680,"context_line":"                      \u0027lock-server-with-reason\u0027,"},{"line_number":681,"context_line":"                      {\"locked_reason\": reason})"},{"line_number":682,"context_line":"        response \u003d self._do_get(\u0027servers/%s\u0027 % uuid)"},{"line_number":683,"context_line":"        subs \u003d {\u0027id\u0027: uuid}"},{"line_number":684,"context_line":"        self._verify_response(\u0027server-get-resp\u0027, subs, response, 200)"}],"source_content_type":"text/x-python","patch_set":5,"id":"abdcc941_9919a02e","line":681,"range":{"start_line":679,"start_character":8,"end_line":681,"end_character":48},"in_reply_to":"54980f58_be7fc1b9","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":656,"context_line":"        self._verify_response(\u0027server-action-rebuild-resp\u0027, subs, resp, 202)"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"class ServersSampleJson289Test(ServersSampleJsonTest):"},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"    ADMIN_API \u003d True"},{"line_number":662,"context_line":"    microversion \u003d \u00272.89\u0027"},{"line_number":663,"context_line":"    scenarios \u003d [(\u0027v2_89\u0027, {\u0027api_major_version\u0027: \u0027v2.1\u0027})]"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"class ServersSampleJson290Test(ServersSampleJsonTest):"}],"source_content_type":"text/x-python","patch_set":11,"id":"8ded1f9b_1d566093","line":663,"range":{"start_line":659,"start_character":0,"end_line":663,"end_character":58},"updated":"2021-01-22 21:46:09.000000000","message":"i read gibi mention here if we really need this or not and I agree, we can verify the previous microversion behavior in unit test itself no need for functional test and unnecessary sample files. I think I mean to/should give this comment for unit tests, but somehow i wrote here, my bad and apology for making you rework in this.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":656,"context_line":"        self._verify_response(\u0027server-action-rebuild-resp\u0027, subs, resp, 202)"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"class ServersSampleJson289Test(ServersSampleJsonTest):"},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"    ADMIN_API \u003d True"},{"line_number":662,"context_line":"    microversion \u003d \u00272.89\u0027"},{"line_number":663,"context_line":"    scenarios \u003d [(\u0027v2_89\u0027, {\u0027api_major_version\u0027: \u0027v2.1\u0027})]"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"class ServersSampleJson290Test(ServersSampleJsonTest):"}],"source_content_type":"text/x-python","patch_set":11,"id":"f46e78ba_bbe3e5b3","line":663,"range":{"start_line":659,"start_character":0,"end_line":663,"end_character":58},"in_reply_to":"8ded1f9b_1d566093","updated":"2021-01-26 09:04:37.000000000","message":"Ack","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"24d2c8f7057a46f489208016f470530255a7ce91","unresolved":true,"context_lines":[{"line_number":656,"context_line":"        self._verify_response(\u0027server-action-rebuild-resp\u0027, subs, resp, 202)"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"class ServersSampleJson289Test(ServersSampleJsonTest):"},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"    ADMIN_API \u003d True"},{"line_number":662,"context_line":"    microversion \u003d \u00272.89\u0027"},{"line_number":663,"context_line":"    scenarios \u003d [(\u0027v2_89\u0027, {\u0027api_major_version\u0027: \u0027v2.1\u0027})]"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"class ServersSampleJson290Test(ServersSampleJsonTest):"}],"source_content_type":"text/x-python","patch_set":14,"id":"07b379bf_0d87c3fd","line":663,"range":{"start_line":659,"start_character":0,"end_line":663,"end_character":58},"updated":"2021-01-27 23:06:43.000000000","message":"As commented previously, let\u0027s remove this protection test as it is covered in unit tests. also remove sample files in doc/api_samples/servers/v2.89/ folder.","commit_id":"6f5739d4446e02fcaf379a71ae52931c5a74de71"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"8259609d479256e8204d258873777ac220dc399b","unresolved":false,"context_lines":[{"line_number":656,"context_line":"        self._verify_response(\u0027server-action-rebuild-resp\u0027, subs, resp, 202)"},{"line_number":657,"context_line":""},{"line_number":658,"context_line":""},{"line_number":659,"context_line":"class ServersSampleJson289Test(ServersSampleJsonTest):"},{"line_number":660,"context_line":""},{"line_number":661,"context_line":"    ADMIN_API \u003d True"},{"line_number":662,"context_line":"    microversion \u003d \u00272.89\u0027"},{"line_number":663,"context_line":"    scenarios \u003d [(\u0027v2_89\u0027, {\u0027api_major_version\u0027: \u0027v2.1\u0027})]"},{"line_number":664,"context_line":""},{"line_number":665,"context_line":""},{"line_number":666,"context_line":"class ServersSampleJson290Test(ServersSampleJsonTest):"}],"source_content_type":"text/x-python","patch_set":14,"id":"83109de8_dd0bf3e8","line":663,"range":{"start_line":659,"start_character":0,"end_line":663,"end_character":58},"in_reply_to":"07b379bf_0d87c3fd","updated":"2021-02-02 13:04:56.000000000","message":"Done","commit_id":"6f5739d4446e02fcaf379a71ae52931c5a74de71"}],"nova/tests/unit/api/openstack/compute/test_servers.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"fb10773de3ee0028cb1be9924609479f114d9be8","unresolved":true,"context_lines":[{"line_number":2886,"context_line":"                          self.controller.detail,"},{"line_number":2887,"context_line":"                          req)"},{"line_number":2888,"context_line":""},{"line_number":2889,"context_line":""},{"line_number":2890,"context_line":"class ServersControllerDeleteTest(ControllerTest):"},{"line_number":2891,"context_line":""},{"line_number":2892,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"61824e93_2eb0c8c6","line":2889,"range":{"start_line":2889,"start_character":0,"end_line":2889,"end_character":0},"updated":"2020-12-03 21:49:00.000000000","message":"also add response field tests also to explicitly check that no tenant_id in response for \u003d\u003e2.88 and it is present until 2.87","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"328101d76899cb69f0acdeb0e0e6dd240d94bb19","unresolved":false,"context_lines":[{"line_number":2886,"context_line":"                          self.controller.detail,"},{"line_number":2887,"context_line":"                          req)"},{"line_number":2888,"context_line":""},{"line_number":2889,"context_line":""},{"line_number":2890,"context_line":"class ServersControllerDeleteTest(ControllerTest):"},{"line_number":2891,"context_line":""},{"line_number":2892,"context_line":"    def setUp(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"669ad9c4_ae1934a6","line":2889,"range":{"start_line":2889,"start_character":0,"end_line":2889,"end_character":0},"in_reply_to":"61824e93_2eb0c8c6","updated":"2020-12-06 04:53:55.000000000","message":"Done","commit_id":"2b21297fd061ff932dbe27f16ef31f4486bacead"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":2885,"context_line":"                          self.controller.detail,"},{"line_number":2886,"context_line":"                          req)"},{"line_number":2887,"context_line":""},{"line_number":2888,"context_line":"    def test_get_servers_detail_with_tenant_id(self):"},{"line_number":2889,"context_line":"        def fake_get_all(context, search_opts\u003dNone,"},{"line_number":2890,"context_line":"                         limit\u003dNone, marker\u003dNone,"},{"line_number":2891,"context_line":"                         expected_attrs\u003dNone, sort_keys\u003dNone, sort_dirs\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"a8f9218c_2d4444b9","line":2888,"range":{"start_line":2888,"start_character":45,"end_line":2888,"end_character":46},"updated":"2021-01-22 21:46:09.000000000","message":"with_old_version","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":false,"context_lines":[{"line_number":2885,"context_line":"                          self.controller.detail,"},{"line_number":2886,"context_line":"                          req)"},{"line_number":2887,"context_line":""},{"line_number":2888,"context_line":"    def test_get_servers_detail_with_tenant_id(self):"},{"line_number":2889,"context_line":"        def fake_get_all(context, search_opts\u003dNone,"},{"line_number":2890,"context_line":"                         limit\u003dNone, marker\u003dNone,"},{"line_number":2891,"context_line":"                         expected_attrs\u003dNone, sort_keys\u003dNone, sort_dirs\u003dNone):"}],"source_content_type":"text/x-python","patch_set":11,"id":"55fb026f_2fc3e799","line":2888,"range":{"start_line":2888,"start_character":45,"end_line":2888,"end_character":46},"in_reply_to":"a8f9218c_2d4444b9","updated":"2021-01-26 09:04:37.000000000","message":"Done","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":2967,"context_line":"        res_dict \u003d self.controller.update(req, FAKE_UUID, body\u003dbody)"},{"line_number":2968,"context_line":"        self.assertNotIn(\u0027tenant_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":2969,"context_line":"        self.assertIn(\u0027project_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":2970,"context_line":""},{"line_number":2971,"context_line":""},{"line_number":2972,"context_line":"class ServersControllerDeleteTest(ControllerTest):"},{"line_number":2973,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"2b307be3_51e81f5c","line":2970,"range":{"start_line":2970,"start_character":0,"end_line":2970,"end_character":0},"updated":"2021-01-22 21:46:09.000000000","message":"please add test for show and rebuild server also","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":true,"context_lines":[{"line_number":2967,"context_line":"        res_dict \u003d self.controller.update(req, FAKE_UUID, body\u003dbody)"},{"line_number":2968,"context_line":"        self.assertNotIn(\u0027tenant_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":2969,"context_line":"        self.assertIn(\u0027project_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":2970,"context_line":""},{"line_number":2971,"context_line":""},{"line_number":2972,"context_line":"class ServersControllerDeleteTest(ControllerTest):"},{"line_number":2973,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"314bb856_6670db66","line":2970,"range":{"start_line":2970,"start_character":0,"end_line":2970,"end_character":0},"in_reply_to":"2b307be3_51e81f5c","updated":"2021-01-26 09:04:37.000000000","message":"added show test.\nrebuild server is in rebuild https://review.opendev.org/c/openstack/nova/+/766380/7 patch.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"8f859535d09b9abce1fb14e40b33547f901fbe56","unresolved":true,"context_lines":[{"line_number":2967,"context_line":"        res_dict \u003d self.controller.update(req, FAKE_UUID, body\u003dbody)"},{"line_number":2968,"context_line":"        self.assertNotIn(\u0027tenant_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":2969,"context_line":"        self.assertIn(\u0027project_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":2970,"context_line":""},{"line_number":2971,"context_line":""},{"line_number":2972,"context_line":"class ServersControllerDeleteTest(ControllerTest):"},{"line_number":2973,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"bf0a0b7c_db9a32e3","line":2970,"range":{"start_line":2970,"start_character":0,"end_line":2970,"end_character":0},"in_reply_to":"2b307be3_51e81f5c","updated":"2021-01-25 11:40:13.000000000","message":"rebuild test case will be covered in the rebuild patch https://review.opendev.org/c/openstack/nova/+/766380","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"24d2c8f7057a46f489208016f470530255a7ce91","unresolved":true,"context_lines":[{"line_number":3007,"context_line":"        self.mock_get.side_effect \u003d fake_get"},{"line_number":3008,"context_line":""},{"line_number":3009,"context_line":"        res_dict \u003d self.controller.show(req, FAKE_UUID)"},{"line_number":3010,"context_line":""},{"line_number":3011,"context_line":"        self.assertIn(\u0027project_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":3012,"context_line":""},{"line_number":3013,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"527571b8_6fd249b7","line":3010,"range":{"start_line":3010,"start_character":0,"end_line":3010,"end_character":0},"updated":"2021-01-27 23:06:43.000000000","message":"let\u0027s assert for tenant_id also\n\n        self.assertNotIn(\u0027tenant_id\u0027, res_dict[\u0027server\u0027])","commit_id":"6f5739d4446e02fcaf379a71ae52931c5a74de71"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"8259609d479256e8204d258873777ac220dc399b","unresolved":false,"context_lines":[{"line_number":3007,"context_line":"        self.mock_get.side_effect \u003d fake_get"},{"line_number":3008,"context_line":""},{"line_number":3009,"context_line":"        res_dict \u003d self.controller.show(req, FAKE_UUID)"},{"line_number":3010,"context_line":""},{"line_number":3011,"context_line":"        self.assertIn(\u0027project_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":3012,"context_line":""},{"line_number":3013,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"0d49202e_ce5bc387","line":3010,"range":{"start_line":3010,"start_character":0,"end_line":3010,"end_character":0},"in_reply_to":"527571b8_6fd249b7","updated":"2021-02-02 13:04:56.000000000","message":"Done","commit_id":"6f5739d4446e02fcaf379a71ae52931c5a74de71"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"9ddbf9e6e1c63b6014e9e53aed34c0c42f9dfd4d","unresolved":true,"context_lines":[{"line_number":2990,"context_line":""},{"line_number":2991,"context_line":"        res_dict \u003d self.controller.show(req, FAKE_UUID)"},{"line_number":2992,"context_line":""},{"line_number":2993,"context_line":"        self.assertIn(\u0027tenant_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":2994,"context_line":""},{"line_number":2995,"context_line":"    def test_get_server_with_project_id(self):"},{"line_number":2996,"context_line":"        req \u003d fakes.HTTPRequest.blank(self.path_with_id % FAKE_UUID,"}],"source_content_type":"text/x-python","patch_set":24,"id":"049f7d14_e8ebb5f2","line":2993,"range":{"start_line":2993,"start_character":53,"end_line":2993,"end_character":54},"updated":"2021-05-24 21:13:23.000000000","message":"while reviewing other patches in this series, I found we can added below assert also and in this patch itself\n\nself.assertNotIn(\u0027project_id\u0027, res_dict[\u0027server\u0027])","commit_id":"2efb43d97e8c0650e9a7da8e84f0e84e56d3b7b9"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"3926323aa2636ace8e3ca94aff66aff0f10b8128","unresolved":false,"context_lines":[{"line_number":2990,"context_line":""},{"line_number":2991,"context_line":"        res_dict \u003d self.controller.show(req, FAKE_UUID)"},{"line_number":2992,"context_line":""},{"line_number":2993,"context_line":"        self.assertIn(\u0027tenant_id\u0027, res_dict[\u0027server\u0027])"},{"line_number":2994,"context_line":""},{"line_number":2995,"context_line":"    def test_get_server_with_project_id(self):"},{"line_number":2996,"context_line":"        req \u003d fakes.HTTPRequest.blank(self.path_with_id % FAKE_UUID,"}],"source_content_type":"text/x-python","patch_set":24,"id":"d110d376_4185002f","line":2993,"range":{"start_line":2993,"start_character":53,"end_line":2993,"end_character":54},"in_reply_to":"049f7d14_e8ebb5f2","updated":"2021-05-28 01:40:03.000000000","message":"Done","commit_id":"2efb43d97e8c0650e9a7da8e84f0e84e56d3b7b9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75a59222e7fbae408eebde0ad7fea4deaea74f5c","unresolved":true,"context_lines":[{"line_number":2877,"context_line":"            use_admin_context\u003dTrue, version\u003dself.wsgi_api_version)"},{"line_number":2878,"context_line":"        self.controller.index(req)"},{"line_number":2879,"context_line":""},{"line_number":2880,"context_line":"    @mock.patch(\u0027nova.api.openstack.compute.views.servers.ViewBuilder.detail\u0027)"},{"line_number":2881,"context_line":"    def test_get_servers_by_tenant_id_with_detail_old_version(self,"},{"line_number":2882,"context_line":"            mock_detail):"},{"line_number":2883,"context_line":"        req \u003d self.req(self.path_detail_with_query % \u0027tenant_id\u003dfake_project\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"017f0c95_130c7196","line":2880,"updated":"2021-06-01 11:31:39.000000000","message":"You\u0027re stubbing pretty much the whole functionality here, so I don\u0027t think this is all that useful. Could you drop this mock and only mock what you actually need?","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a531a98f14abf07fe8252f0f387fe6a033ebabb3","unresolved":false,"context_lines":[{"line_number":2877,"context_line":"            use_admin_context\u003dTrue, version\u003dself.wsgi_api_version)"},{"line_number":2878,"context_line":"        self.controller.index(req)"},{"line_number":2879,"context_line":""},{"line_number":2880,"context_line":"    @mock.patch(\u0027nova.api.openstack.compute.views.servers.ViewBuilder.detail\u0027)"},{"line_number":2881,"context_line":"    def test_get_servers_by_tenant_id_with_detail_old_version(self,"},{"line_number":2882,"context_line":"            mock_detail):"},{"line_number":2883,"context_line":"        req \u003d self.req(self.path_detail_with_query % \u0027tenant_id\u003dfake_project\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"5d6079f8_e783eac4","line":2880,"in_reply_to":"017f0c95_130c7196","updated":"2021-06-09 09:19:17.000000000","message":"Done","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"}],"nova/tests/unit/api/openstack/fakes.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"5680a7ea029c52d90019be294294c607ccaac98e","unresolved":true,"context_lines":[{"line_number":419,"context_line":"                                                      limit\u003dlimit,"},{"line_number":420,"context_line":"                                                      marker\u003dmarker)"},{"line_number":421,"context_line":"        expected \u003d [\u0027metadata\u0027, \u0027system_metadata\u0027, \u0027flavor\u0027,"},{"line_number":422,"context_line":"                    \u0027info_cache\u0027, \u0027security_groups\u0027, \u0027tags\u0027]"},{"line_number":423,"context_line":"        return base.obj_make_list(context, objects.InstanceList(),"},{"line_number":424,"context_line":"                                  objects.Instance, db_insts,"},{"line_number":425,"context_line":"                                  expected_attrs\u003dexpected)"}],"source_content_type":"text/x-python","patch_set":29,"id":"ca92a585_2bc59863","line":422,"range":{"start_line":422,"start_character":59,"end_line":422,"end_character":60},"updated":"2021-08-10 21:23:29.000000000","message":"this seems unrelated change, may be due to rebase or so?","commit_id":"99cd1c589516b75f2e3125247761b74885a79069"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"187c9ac85b5ef95ff95a7a3709c086ac8ce81d1e","unresolved":true,"context_lines":[{"line_number":419,"context_line":"                                                      limit\u003dlimit,"},{"line_number":420,"context_line":"                                                      marker\u003dmarker)"},{"line_number":421,"context_line":"        expected \u003d [\u0027metadata\u0027, \u0027system_metadata\u0027, \u0027flavor\u0027,"},{"line_number":422,"context_line":"                    \u0027info_cache\u0027, \u0027security_groups\u0027, \u0027tags\u0027]"},{"line_number":423,"context_line":"        return base.obj_make_list(context, objects.InstanceList(),"},{"line_number":424,"context_line":"                                  objects.Instance, db_insts,"},{"line_number":425,"context_line":"                                  expected_attrs\u003dexpected)"}],"source_content_type":"text/x-python","patch_set":29,"id":"de4c977d_f8fd58ed","line":422,"range":{"start_line":422,"start_character":59,"end_line":422,"end_character":60},"in_reply_to":"ca92a585_2bc59863","updated":"2021-08-11 00:52:48.000000000","message":"beacause of reabsed, restored.","commit_id":"99cd1c589516b75f2e3125247761b74885a79069"}],"releasenotes/notes/bp-remove-tenant-id-dd0193d587a00d30.yaml":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2eec54a0e3e98afb2086354ad0f8730e22b2d0da","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    - ``GET /servers (List Servers)``"},{"line_number":8,"context_line":"    - ``GET /servers/detail (List Server Detailed)``"},{"line_number":9,"context_line":"    - ``PUT /servers/{server_id} (Update Server)``"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"d2524501_64b37521","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":1},"updated":"2021-01-22 21:46:09.000000000","message":"ditto SHOW and rebuild server also","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"a3b0c975694e3c1bb97eb63b96744a93aecc9452","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    - ``GET /servers (List Servers)``"},{"line_number":8,"context_line":"    - ``GET /servers/detail (List Server Detailed)``"},{"line_number":9,"context_line":"    - ``PUT /servers/{server_id} (Update Server)``"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"d97ff11d_76b44bc3","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":1},"in_reply_to":"d2524501_64b37521","updated":"2021-01-26 09:04:37.000000000","message":"added show api.\nrebuild server putted in follow patch.","commit_id":"d66d94d9a3e19948c5033ad211008c56cea96b35"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"24d2c8f7057a46f489208016f470530255a7ce91","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In microversion 2.90, replaced ``tenant_id`` with ``project_id`` in"},{"line_number":5,"context_line":"    following APIs:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    - ``GET /servers (List Servers)``"},{"line_number":8,"context_line":"    - ``GET /servers/detail (List Server Detailed)``"},{"line_number":9,"context_line":"    - ``PUT /servers/{server_id} (Update Server)``"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"4c5d53a1_d2f07d8f","line":9,"range":{"start_line":6,"start_character":0,"end_line":9,"end_character":50},"updated":"2021-01-27 23:06:43.000000000","message":"let\u0027s mention same way as in https://review.opendev.org/c/openstack/nova/+/764292/14/nova/api/openstack/api_version_request.py\n\nso that it will not be confusing that GET /servers response also changed.","commit_id":"6f5739d4446e02fcaf379a71ae52931c5a74de71"},{"author":{"_account_id":31412,"name":"Wenping Song","email":"songwenping@inspur.com","username":"songwenping"},"change_message_id":"8259609d479256e8204d258873777ac220dc399b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In microversion 2.90, replaced ``tenant_id`` with ``project_id`` in"},{"line_number":5,"context_line":"    following APIs:"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    - ``GET /servers (List Servers)``"},{"line_number":8,"context_line":"    - ``GET /servers/detail (List Server Detailed)``"},{"line_number":9,"context_line":"    - ``PUT /servers/{server_id} (Update Server)``"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"d4f85b6e_de7497be","line":9,"range":{"start_line":6,"start_character":0,"end_line":9,"end_character":50},"in_reply_to":"4c5d53a1_d2f07d8f","updated":"2021-02-02 13:04:56.000000000","message":"Done","commit_id":"6f5739d4446e02fcaf379a71ae52931c5a74de71"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a50689fe6f12eb5a578dd56dcd2a6dd80df78753","unresolved":true,"context_lines":[{"line_number":9,"context_line":"      - ``GET /servers/detail``"},{"line_number":10,"context_line":"    In response body of:"},{"line_number":11,"context_line":"      - ``GET /servers/detail``"},{"line_number":12,"context_line":"      - ``GET/servers/{server_id}``."},{"line_number":13,"context_line":"      - ``PUT /servers/{server_id}``"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"6ea55ce8_d37ced99","line":12,"range":{"start_line":12,"start_character":9,"end_line":12,"end_character":36},"updated":"2021-02-25 00:07:54.000000000","message":"ditto","commit_id":"3f2212561959605c55b2d546a186406708d7f023"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"829a01a544771d719ce0f43b053a767afbb530fc","unresolved":false,"context_lines":[{"line_number":9,"context_line":"      - ``GET /servers/detail``"},{"line_number":10,"context_line":"    In response body of:"},{"line_number":11,"context_line":"      - ``GET /servers/detail``"},{"line_number":12,"context_line":"      - ``GET/servers/{server_id}``."},{"line_number":13,"context_line":"      - ``PUT /servers/{server_id}``"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"a34e0a72_0e3482e0","line":12,"range":{"start_line":12,"start_character":9,"end_line":12,"end_character":36},"in_reply_to":"6ea55ce8_d37ced99","updated":"2021-03-01 06:06:59.000000000","message":"Done","commit_id":"3f2212561959605c55b2d546a186406708d7f023"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75a59222e7fbae408eebde0ad7fea4deaea74f5c","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    In request body/query of:"},{"line_number":8,"context_line":"      - ``GET /servers``,"},{"line_number":9,"context_line":"      - ``GET /servers/detail``"},{"line_number":10,"context_line":"    In response body of:"},{"line_number":11,"context_line":"      - ``GET /servers/detail``"},{"line_number":12,"context_line":"      - ``GET /servers/{server_id}``."}],"source_content_type":"text/x-yaml","patch_set":25,"id":"125396b9_856e40da","line":9,"updated":"2021-06-01 11:31:39.000000000","message":"You need a newline before and after the bullet points for them to render. They also need to be indented at the same level as the lines before, i.e.\n\n  In request body/query of:\n\n  - ``GET /servers``\n  - ``GET /servers/detail``\n\n  In response body of:\n\n  - ``GET /servers/detail``\n  - ``GET /servers/{server_id}``\n  - ``PUT /servers/{server_id}``","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"09cb450af120eaf4f11ff82795649bd2662fb911","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    In request body/query of:"},{"line_number":8,"context_line":"      - ``GET /servers``,"},{"line_number":9,"context_line":"      - ``GET /servers/detail``"},{"line_number":10,"context_line":"    In response body of:"},{"line_number":11,"context_line":"      - ``GET /servers/detail``"},{"line_number":12,"context_line":"      - ``GET /servers/{server_id}``."}],"source_content_type":"text/x-yaml","patch_set":25,"id":"963d2326_a61bf149","line":9,"in_reply_to":"125396b9_856e40da","updated":"2021-06-01 11:45:54.000000000","message":"Sorry, it\u0027s looks good to me, there are some patches rebeased on this patch, if we changed it, there all need to be resolve conflict when I want to update each patch. And this looks like a dispensable nits.","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"31e5a4e27914b56d9c9e02f95fa3a2835700a1d3","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"    In request body/query of:"},{"line_number":8,"context_line":"      - ``GET /servers``,"},{"line_number":9,"context_line":"      - ``GET /servers/detail``"},{"line_number":10,"context_line":"    In response body of:"},{"line_number":11,"context_line":"      - ``GET /servers/detail``"},{"line_number":12,"context_line":"      - ``GET /servers/{server_id}``."}],"source_content_type":"text/x-yaml","patch_set":25,"id":"9d339d79_109203f1","line":9,"in_reply_to":"963d2326_a61bf149","updated":"2021-06-15 23:03:24.000000000","message":"as you need to do change in view then let\u0027s do this change also.\n\nsorry about lot of rebase in this series, I will review these on priority.","commit_id":"4c1dd9d003c72431d323f32ced7e8571b86fd6e4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"94689b1b31e0cffb04748f168c8763caff6a9d18","unresolved":true,"context_lines":[{"line_number":9,"context_line":"      - ``GET /servers/detail``"},{"line_number":10,"context_line":"    In response body of:"},{"line_number":11,"context_line":"      - ``GET /servers/detail``"},{"line_number":12,"context_line":"      - ``GET /servers/{server_id}``."},{"line_number":13,"context_line":"      - ``PUT /servers/{server_id}``"}],"source_content_type":"text/x-yaml","patch_set":28,"id":"50535caf_74970d54","line":12,"range":{"start_line":12,"start_character":36,"end_line":12,"end_character":37},"updated":"2021-06-29 16:35:15.000000000","message":"can you drop this","commit_id":"fb4e2b5f5b12a53d9852eda56c963fdf414268c6"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"716b9388fb487678efdacd3ad1aa056ce2128b59","unresolved":false,"context_lines":[{"line_number":9,"context_line":"      - ``GET /servers/detail``"},{"line_number":10,"context_line":"    In response body of:"},{"line_number":11,"context_line":"      - ``GET /servers/detail``"},{"line_number":12,"context_line":"      - ``GET /servers/{server_id}``."},{"line_number":13,"context_line":"      - ``PUT /servers/{server_id}``"}],"source_content_type":"text/x-yaml","patch_set":28,"id":"1fcf2145_06aed851","line":12,"range":{"start_line":12,"start_character":36,"end_line":12,"end_character":37},"in_reply_to":"50535caf_74970d54","updated":"2021-08-05 06:25:15.000000000","message":"Done","commit_id":"fb4e2b5f5b12a53d9852eda56c963fdf414268c6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"94689b1b31e0cffb04748f168c8763caff6a9d18","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    In response body of:"},{"line_number":11,"context_line":"      - ``GET /servers/detail``"},{"line_number":12,"context_line":"      - ``GET /servers/{server_id}``."},{"line_number":13,"context_line":"      - ``PUT /servers/{server_id}``"}],"source_content_type":"text/x-yaml","patch_set":28,"id":"d541412a_b2a853cc","line":13,"updated":"2021-06-29 16:35:15.000000000","message":"This still needs a newline before the bullet points","commit_id":"fb4e2b5f5b12a53d9852eda56c963fdf414268c6"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"716b9388fb487678efdacd3ad1aa056ce2128b59","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    In response body of:"},{"line_number":11,"context_line":"      - ``GET /servers/detail``"},{"line_number":12,"context_line":"      - ``GET /servers/{server_id}``."},{"line_number":13,"context_line":"      - ``PUT /servers/{server_id}``"}],"source_content_type":"text/x-yaml","patch_set":28,"id":"3c9fe9a4_707a45ef","line":13,"in_reply_to":"d541412a_b2a853cc","updated":"2021-08-05 06:25:15.000000000","message":"Done","commit_id":"fb4e2b5f5b12a53d9852eda56c963fdf414268c6"}]}
