)]}'
{"api-ref/source/parameters.yaml":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ca38e90f8fae4270a3ad65fb427cd8fcdfe7d618","unresolved":true,"context_lines":[{"line_number":738,"context_line":"    Filter the server list result by the host name of server."},{"line_number":739,"context_line":""},{"line_number":740,"context_line":"    This parameter is only valid when specified by administrators."},{"line_number":741,"context_line":"    If non-admin users specify this parameter, it is ignored."},{"line_number":742,"context_line":"  in: query"},{"line_number":743,"context_line":"  required: false"},{"line_number":744,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5a188b89_0716f8bd","line":741,"updated":"2021-08-19 11:32:18.000000000","message":"We might want to change this too","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"31626b6896a3af3bac5e920aba94d2ea6f40b826","unresolved":false,"context_lines":[{"line_number":738,"context_line":"    Filter the server list result by the host name of server."},{"line_number":739,"context_line":""},{"line_number":740,"context_line":"    This parameter is only valid when specified by administrators."},{"line_number":741,"context_line":"    If non-admin users specify this parameter, it is ignored."},{"line_number":742,"context_line":"  in: query"},{"line_number":743,"context_line":"  required: false"},{"line_number":744,"context_line":"  type: string"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"d4515eb8_1624ab51","line":741,"in_reply_to":"5a188b89_0716f8bd","updated":"2021-08-19 17:06:36.000000000","message":"Ah, good point. Done.","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ca38e90f8fae4270a3ad65fb427cd8fcdfe7d618","unresolved":true,"context_lines":[{"line_number":6356,"context_line":"  description: |"},{"line_number":6357,"context_line":"    The hostname of the instance reported in the metadata service."},{"line_number":6358,"context_line":"    This parameter only appears in responses for administrators until"},{"line_number":6359,"context_line":"    microversion 2.89, after which it is shown for all users."},{"line_number":6360,"context_line":""},{"line_number":6361,"context_line":"    .. note::"},{"line_number":6362,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"f230e5a0_33b31469","line":6359,"updated":"2021-08-19 11:32:18.000000000","message":"I\u0027m not sure this is reflected in the implementation too","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"677f6132f2c2d5f74d03573a75f8b8ee0db591bf","unresolved":false,"context_lines":[{"line_number":6356,"context_line":"  description: |"},{"line_number":6357,"context_line":"    The hostname of the instance reported in the metadata service."},{"line_number":6358,"context_line":"    This parameter only appears in responses for administrators until"},{"line_number":6359,"context_line":"    microversion 2.89, after which it is shown for all users."},{"line_number":6360,"context_line":""},{"line_number":6361,"context_line":"    .. note::"},{"line_number":6362,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"609c14ca_36870686","line":6359,"in_reply_to":"ab0c5992_a40df308","updated":"2021-08-30 12:09:45.000000000","message":"thank. The API ref now (ps13) looks good","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"31626b6896a3af3bac5e920aba94d2ea6f40b826","unresolved":false,"context_lines":[{"line_number":6356,"context_line":"  description: |"},{"line_number":6357,"context_line":"    The hostname of the instance reported in the metadata service."},{"line_number":6358,"context_line":"    This parameter only appears in responses for administrators until"},{"line_number":6359,"context_line":"    microversion 2.89, after which it is shown for all users."},{"line_number":6360,"context_line":""},{"line_number":6361,"context_line":"    .. note::"},{"line_number":6362,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":9,"id":"ab0c5992_a40df308","line":6359,"in_reply_to":"f230e5a0_33b31469","updated":"2021-08-19 17:06:36.000000000","message":"It should be? The \u0027_action_rebuild\u0027 function uses [1] the \u0027ViewBuild.show\u0027 method from \u0027nova.api.openstack.compute.view.servers\u0027 [2] just like the \u0027show\u0027 function does [3].\n\nI added a test to prove this though.\n\nLater: ah, I think I get the confusion. We\u0027re returning the hostname in the *response*. We don\u0027t allow you to modify it as part of the *request* (at least in this patchset). There\u0027s no reason we shouldn\u0027t do this though so I\u0027ve added it.\n\n[1] https://github.com/openstack/nova/blob/c7dd85394/nova/api/openstack/compute/servers.py#L1248-L1264\n[2] https://github.com/openstack/nova/blob/c7dd85394/nova/api/openstack/compute/views/servers.py#L74-L93\n[3] https://github.com/openstack/nova/blob/c7dd85394/nova/api/openstack/compute/servers.py#L465-L467","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"}],"api-ref/source/servers.inc":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ca38e90f8fae4270a3ad65fb427cd8fcdfe7d618","unresolved":true,"context_lines":[{"line_number":403,"context_line":"  - security_groups: security_groups"},{"line_number":404,"context_line":"  - user_data: user_data"},{"line_number":405,"context_line":"  - description: server_description"},{"line_number":406,"context_line":"  - hostname: server_hostname_req"},{"line_number":407,"context_line":"  - tags: server_tags_create"},{"line_number":408,"context_line":"  - trusted_image_certificates: server_trusted_image_certificates_create_req"},{"line_number":409,"context_line":"  - host: server_host_create"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"f8d40260_d734c46a","line":406,"updated":"2021-08-19 11:32:18.000000000","message":"For some reason I don\u0027t see this appearing in the generated api ref","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"677f6132f2c2d5f74d03573a75f8b8ee0db591bf","unresolved":false,"context_lines":[{"line_number":403,"context_line":"  - security_groups: security_groups"},{"line_number":404,"context_line":"  - user_data: user_data"},{"line_number":405,"context_line":"  - description: server_description"},{"line_number":406,"context_line":"  - hostname: server_hostname_req"},{"line_number":407,"context_line":"  - tags: server_tags_create"},{"line_number":408,"context_line":"  - trusted_image_certificates: server_trusted_image_certificates_create_req"},{"line_number":409,"context_line":"  - host: server_host_create"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"d5bec3c3_94376566","line":406,"in_reply_to":"f8d40260_d734c46a","updated":"2021-08-30 12:09:45.000000000","message":"now it is there","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ca38e90f8fae4270a3ad65fb427cd8fcdfe7d618","unresolved":true,"context_lines":[{"line_number":442,"context_line":""},{"line_number":443,"context_line":".. literalinclude:: ../../doc/api_samples/servers/v2.74/server-create-req-with-host-and-node.json"},{"line_number":444,"context_line":"   :language: javascript"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"Response"},{"line_number":447,"context_line":"--------"},{"line_number":448,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":9,"id":"60b67bae_d14c4feb","line":445,"updated":"2021-08-19 11:32:18.000000000","message":"would be nice to have a new example with hostname provided","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"31626b6896a3af3bac5e920aba94d2ea6f40b826","unresolved":false,"context_lines":[{"line_number":442,"context_line":""},{"line_number":443,"context_line":".. literalinclude:: ../../doc/api_samples/servers/v2.74/server-create-req-with-host-and-node.json"},{"line_number":444,"context_line":"   :language: javascript"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"Response"},{"line_number":447,"context_line":"--------"},{"line_number":448,"context_line":""}],"source_content_type":"text/x-c++src","patch_set":9,"id":"6c94c3cd_e17e0661","line":445,"in_reply_to":"60b67bae_d14c4feb","updated":"2021-08-19 17:06:36.000000000","message":"Done","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ca38e90f8fae4270a3ad65fb427cd8fcdfe7d618","unresolved":true,"context_lines":[{"line_number":565,"context_line":"  - description: description_query_server"},{"line_number":566,"context_line":"  - flavor: flavor_query"},{"line_number":567,"context_line":"  - host: host_query_server"},{"line_number":568,"context_line":"  - hostname: hostname_query_server"},{"line_number":569,"context_line":"  - image: image_query"},{"line_number":570,"context_line":"  - ip: ip_query"},{"line_number":571,"context_line":"  - ip6: ip6_query"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"fd68e190_bd08fa99","line":568,"updated":"2021-08-19 11:32:18.000000000","message":"I\u0027m not sure we discussed it in the spec or not but there is this filter that allows _admins_ to filter instances by hostname. I think we should extend this to the end user as well now.","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"677f6132f2c2d5f74d03573a75f8b8ee0db591bf","unresolved":false,"context_lines":[{"line_number":565,"context_line":"  - description: description_query_server"},{"line_number":566,"context_line":"  - flavor: flavor_query"},{"line_number":567,"context_line":"  - host: host_query_server"},{"line_number":568,"context_line":"  - hostname: hostname_query_server"},{"line_number":569,"context_line":"  - image: image_query"},{"line_number":570,"context_line":"  - ip: ip_query"},{"line_number":571,"context_line":"  - ip6: ip6_query"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"466c95de_00cd2cbb","line":568,"in_reply_to":"0d52b7cc_0869b3fd","updated":"2021-08-30 12:09:45.000000000","message":"thank you","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"31626b6896a3af3bac5e920aba94d2ea6f40b826","unresolved":false,"context_lines":[{"line_number":565,"context_line":"  - description: description_query_server"},{"line_number":566,"context_line":"  - flavor: flavor_query"},{"line_number":567,"context_line":"  - host: host_query_server"},{"line_number":568,"context_line":"  - hostname: hostname_query_server"},{"line_number":569,"context_line":"  - image: image_query"},{"line_number":570,"context_line":"  - ip: ip_query"},{"line_number":571,"context_line":"  - ip6: ip6_query"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"0d52b7cc_0869b3fd","line":568,"in_reply_to":"fd68e190_bd08fa99","updated":"2021-08-19 17:06:36.000000000","message":"Done","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"}],"doc/api_samples/flavor-manage/v2.89/flavor-create-post-req.json":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8cf913a6744b07e1e4232f198867202d44f58546","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"flavor\": {"},{"line_number":3,"context_line":"        \"name\": \"test_flavor\","},{"line_number":4,"context_line":"        \"ram\": 1024,"}],"source_content_type":"application/json","patch_set":6,"id":"927acb3c_703fb694","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":1},"updated":"2021-08-06 17:31:04.000000000","message":"let\u0027s not change the flavor APIs for hostname change proposal, comment in https://review.opendev.org/c/openstack/nova/+/803756/1","commit_id":"8636b3987b3f5098a98f98d8122c364f8cf67267"}],"doc/api_samples/servers/v2.89/server-create-req.json":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8cf913a6744b07e1e4232f198867202d44f58546","unresolved":true,"context_lines":[{"line_number":25,"context_line":"    \"scheduler_hints\": {"},{"line_number":26,"context_line":"        \"same_host\": \"48e6a9f6-30af-47e0-bc04-acaed113bb4e\""},{"line_number":27,"context_line":"    }"},{"line_number":28,"context_line":"}"}],"source_content_type":"application/json","patch_set":6,"id":"160ff4e6_30c05dc0","line":28,"range":{"start_line":28,"start_character":0,"end_line":28,"end_character":1},"updated":"2021-08-06 17:31:04.000000000","message":"no hostname passing here? this sample json does not seem to match with test template in https://review.opendev.org/c/openstack/nova/+/778550/6/nova/tests/functional/api_sample_tests/api_samples/servers/v2.89/server-create-req.json.tpl","commit_id":"8636b3987b3f5098a98f98d8122c364f8cf67267"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ca38e90f8fae4270a3ad65fb427cd8fcdfe7d618","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"03c649fc_253b1577","line":30,"updated":"2021-08-19 11:32:18.000000000","message":"I think we should add the hostname here as well","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"31626b6896a3af3bac5e920aba94d2ea6f40b826","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"e84a091c_e6e541ee","line":30,"in_reply_to":"03c649fc_253b1577","updated":"2021-08-19 17:06:36.000000000","message":"Done","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"}],"doc/api_samples/servers/v2.89/server-create-resp.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ca38e90f8fae4270a3ad65fb427cd8fcdfe7d618","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"2d52f647_1ba40c83","line":23,"updated":"2021-08-19 11:32:18.000000000","message":"and here","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"31626b6896a3af3bac5e920aba94d2ea6f40b826","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"79f6893b_c5c30b1e","line":23,"in_reply_to":"2d52f647_1ba40c83","updated":"2021-08-19 17:06:36.000000000","message":"You won\u0027t get it from this response even if you\u0027re an admin. Do we want to add it? I\u0027m not sure if it\u0027s necessarily worth it. If we do, we\u0027ll have to add the \u0027OS-EXT-SRV-ATTR:hostname\u0027 version, of course, to align with the \u0027GET /servers\u0027 response\n\n[1] https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/views/servers.py#L74-L93","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"}],"doc/api_samples/servers/v2.90/server-create-resp.json":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"677f6132f2c2d5f74d03573a75f8b8ee0db591bf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"087bf367_325cb65e","line":23,"in_reply_to":"79f6893b_c5c30b1e","updated":"2021-08-30 12:09:45.000000000","message":"My mistake. No need to add it to the create rsp.","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"}],"nova/api/openstack/api_version_request.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8cf913a6744b07e1e4232f198867202d44f58546","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 requesting a specific hostname when creating or"},{"line_number":244,"context_line":"             updating an instance. Remove legacy extension prefixes from a"},{"line_number":245,"context_line":"             number of server and flavor-related requests and responses."},{"line_number":246,"context_line":"\"\"\""},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":6,"id":"af235075_78545921","line":245,"range":{"start_line":244,"start_character":35,"end_line":245,"end_character":72},"updated":"2021-08-06 17:31:04.000000000","message":"this is some extra things to change from what you proposed in spec, i comment about it in https://review.opendev.org/c/openstack/nova/+/803756/1","commit_id":"8636b3987b3f5098a98f98d8122c364f8cf67267"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"983a080ef865225f8870ef0d2573a9688d2d1dcd","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 requesting a specific hostname when creating or"},{"line_number":244,"context_line":"             updating an instance."},{"line_number":245,"context_line":"\"\"\""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":10,"id":"ec6d53d0_bd6790dc","line":244,"range":{"start_line":244,"start_character":22,"end_line":244,"end_character":25},"updated":"2021-08-19 19:53:28.000000000","message":"as you are updating the rebuild request also, \n\n..or rebuilding an instance.","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9cc5b2ab32ab05a32f9370882fd149720ffe1e52","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 requesting a specific hostname when creating or"},{"line_number":244,"context_line":"             updating an instance."},{"line_number":245,"context_line":"\"\"\""},{"line_number":246,"context_line":""},{"line_number":247,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":10,"id":"af9f07a1_4842d1cd","line":244,"range":{"start_line":244,"start_character":22,"end_line":244,"end_character":25},"in_reply_to":"ec6d53d0_bd6790dc","updated":"2021-08-20 09:27:21.000000000","message":"Done","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f406282af628a369e6417cb1e8bbcaf00ce153fa","unresolved":true,"context_lines":[{"line_number":244,"context_line":"             responses of ``GET  /servers/{server_id}/os-volume_attachments``"},{"line_number":245,"context_line":"             and ``GET /servers/{server_id}/os-volume_attachments/{volume_id}``"},{"line_number":246,"context_line":"    * 2.90 - Add support for requesting a specific hostname when creating,"},{"line_number":247,"context_line":"             updating or rebuilding an instance."},{"line_number":248,"context_line":"\"\"\""},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":12,"id":"e84bd29e_5db4a2e6","line":247,"range":{"start_line":247,"start_character":47,"end_line":247,"end_character":48},"updated":"2021-08-25 16:06:33.000000000","message":"we can mention also that \u0027OS-EXT-SRV-ATTR:hostname\u0027 can be seen by all the users without requiring any change API policy.","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"481b131d3fc061297a1d96774dee170db6aa2789","unresolved":false,"context_lines":[{"line_number":244,"context_line":"             responses of ``GET  /servers/{server_id}/os-volume_attachments``"},{"line_number":245,"context_line":"             and ``GET /servers/{server_id}/os-volume_attachments/{volume_id}``"},{"line_number":246,"context_line":"    * 2.90 - Add support for requesting a specific hostname when creating,"},{"line_number":247,"context_line":"             updating or rebuilding an instance."},{"line_number":248,"context_line":"\"\"\""},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"# The minimum and maximum versions of the API supported"}],"source_content_type":"text/x-python","patch_set":12,"id":"5737ef90_51736fa4","line":247,"range":{"start_line":247,"start_character":47,"end_line":247,"end_character":48},"in_reply_to":"e84bd29e_5db4a2e6","updated":"2021-08-26 10:00:27.000000000","message":"Done","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"}],"nova/api/openstack/compute/rest_api_version_history.rst":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8cf913a6744b07e1e4232f198867202d44f58546","unresolved":true,"context_lines":[{"line_number":1185,"context_line":"parameter, allowing users to configure a hostname when creating the instance."},{"line_number":1186,"context_line":"When specified, this will replace the auto-generated hostname based on the"},{"line_number":1187,"context_line":"display name."},{"line_number":1188,"context_line":""},{"line_number":1189,"context_line":"In addition, the legacy extension prefixes for a number of fields have been"},{"line_number":1190,"context_line":"removed. The affected APIs are:"},{"line_number":1191,"context_line":""},{"line_number":1192,"context_line":"- ``POST /servers``, ``GET /servers``"},{"line_number":1193,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f23d712_07dd1080","line":1190,"range":{"start_line":1188,"start_character":0,"end_line":1190,"end_character":31},"updated":"2021-08-06 17:31:04.000000000","message":"ditto, https://review.opendev.org/c/openstack/nova/+/803756/1","commit_id":"8636b3987b3f5098a98f98d8122c364f8cf67267"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8cf913a6744b07e1e4232f198867202d44f58546","unresolved":true,"context_lines":[{"line_number":1222,"context_line":""},{"line_number":1223,"context_line":"The ``hostname`` field for all server responses is now visible to all users."},{"line_number":1224,"context_line":"Previously this was an admin-only field by default."},{"line_number":1225,"context_line":""},{"line_number":1226,"context_line":"Finally, the ``OS-DCF:diskConfig`` field used in both requests and responses"},{"line_number":1227,"context_line":"for the ``/servers`` API has been removed. It was a no-op for all in-tree virt"},{"line_number":1228,"context_line":"drivers."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ab7e6afb_1bd7d080","line":1228,"range":{"start_line":1225,"start_character":0,"end_line":1228,"end_character":8},"updated":"2021-08-06 17:31:04.000000000","message":"ditto","commit_id":"8636b3987b3f5098a98f98d8122c364f8cf67267"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"983a080ef865225f8870ef0d2573a9688d2d1dcd","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":"The ``POST /servers`` and ``PUT /servers/{id}`` APIs now accept a ``hostname``"},{"line_number":1185,"context_line":"parameter, allowing users to configure a hostname when creating the instance."},{"line_number":1186,"context_line":"When specified, this will replace the auto-generated hostname based on the"},{"line_number":1187,"context_line":"display name."}],"source_content_type":"text/x-rst","patch_set":10,"id":"75088c46_75e5f6cf","line":1184,"range":{"start_line":1184,"start_character":48,"end_line":1184,"end_character":53},"updated":"2021-08-19 19:53:28.000000000","message":"also for rebuild server API also","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9cc5b2ab32ab05a32f9370882fd149720ffe1e52","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":"The ``POST /servers`` and ``PUT /servers/{id}`` APIs now accept a ``hostname``"},{"line_number":1185,"context_line":"parameter, allowing users to configure a hostname when creating the instance."},{"line_number":1186,"context_line":"When specified, this will replace the auto-generated hostname based on the"},{"line_number":1187,"context_line":"display name."}],"source_content_type":"text/x-rst","patch_set":10,"id":"3fb7dae6_7e990f5d","line":1184,"range":{"start_line":1184,"start_character":48,"end_line":1184,"end_character":53},"in_reply_to":"75088c46_75e5f6cf","updated":"2021-08-20 09:27:21.000000000","message":"Done","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"983a080ef865225f8870ef0d2573a9688d2d1dcd","unresolved":true,"context_lines":[{"line_number":1188,"context_line":"            api_version_request.is_supported(req, min_version\u003d\u00272.89\u0027) and"},{"line_number":1189,"context_line":"            \u0027hostname\u0027 in rebuild_dict"},{"line_number":1190,"context_line":"        ):"},{"line_number":1191,"context_line":"            kwargs[\u0027hostname\u0027] \u003d rebuild_dict[\u0027hostname\u0027]"},{"line_number":1192,"context_line":""},{"line_number":1193,"context_line":"        for request_attribute, instance_attribute in attr_map.items():"},{"line_number":1194,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"980b37a1_40f61ad4","line":1191,"updated":"2021-08-19 19:53:28.000000000","message":"+1 on accepting it in rebuild request too. \n\nBut can you please update the spec documentation also to include the rebuild API. spec current talk about POST and PUT API only - https://specs.openstack.org/openstack/nova-specs/specs/xena/approved/configurable-instance-hostnames.html","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9cc5b2ab32ab05a32f9370882fd149720ffe1e52","unresolved":false,"context_lines":[{"line_number":1188,"context_line":"            api_version_request.is_supported(req, min_version\u003d\u00272.89\u0027) and"},{"line_number":1189,"context_line":"            \u0027hostname\u0027 in rebuild_dict"},{"line_number":1190,"context_line":"        ):"},{"line_number":1191,"context_line":"            kwargs[\u0027hostname\u0027] \u003d rebuild_dict[\u0027hostname\u0027]"},{"line_number":1192,"context_line":""},{"line_number":1193,"context_line":"        for request_attribute, instance_attribute in attr_map.items():"},{"line_number":1194,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":10,"id":"449274b0_af63740f","line":1191,"in_reply_to":"980b37a1_40f61ad4","updated":"2021-08-20 09:27:21.000000000","message":"Done","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"}],"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":"8cf913a6744b07e1e4232f198867202d44f58546","unresolved":true,"context_lines":[{"line_number":370,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":371,"context_line":"            # API 2.89 made this field visible to non-admins, but we only show"},{"line_number":372,"context_line":"            # it if it\u0027s not already added"},{"line_number":373,"context_line":"            if not show_extended_attr:"},{"line_number":374,"context_line":"                server[\u0027server\u0027][\u0027hostname\u0027] \u003d instance.hostname"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        if show_server_groups:"}],"source_content_type":"text/x-python","patch_set":6,"id":"194975f8_b5498a34","line":373,"updated":"2021-08-06 17:31:04.000000000","message":"so as propose in spec, we need to remove the OS-EXT-SRV-ATTR:hostname for \u003e 2.89 microversion.","commit_id":"8636b3987b3f5098a98f98d8122c364f8cf67267"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8cf913a6744b07e1e4232f198867202d44f58546","unresolved":true,"context_lines":[{"line_number":370,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":371,"context_line":"            # API 2.89 made this field visible to non-admins, but we only show"},{"line_number":372,"context_line":"            # it if it\u0027s not already added"},{"line_number":373,"context_line":"            if not show_extended_attr:"},{"line_number":374,"context_line":"                server[\u0027server\u0027][\u0027hostname\u0027] \u003d instance.hostname"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"        if show_server_groups:"}],"source_content_type":"text/x-python","patch_set":6,"id":"33845c47_9e90909b","line":373,"range":{"start_line":373,"start_character":12,"end_line":373,"end_character":38},"updated":"2021-08-06 17:31:04.000000000","message":"this is None for list servers response also so we end up adding hostname for GET /servers (not details) API response also (in L380).\n\nas existing policy by default is SYSTEM_ADMIN either we need to add a new policy for this parameter to allow for non admin also or no policy at all for this field as we are exposing it for all the user so anyone allow to do GET /server (Show and list detail) can get this field without any other protection.\n\nBut again question is if users(say non-admin) did not pass the hostname in request then it is ok to return the instance.hostname to them?","commit_id":"8636b3987b3f5098a98f98d8122c364f8cf67267"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8cf913a6744b07e1e4232f198867202d44f58546","unresolved":true,"context_lines":[{"line_number":713,"context_line":"                if attr \u003d\u003d \u0027name\u0027:"},{"line_number":714,"context_line":"                    key \u003d \u0027OS-EXT-SRV-ATTR:instance_name\u0027"},{"line_number":715,"context_line":"                elif attr \u003d\u003d \u0027node\u0027:"},{"line_number":716,"context_line":"                    key \u003d \u0027OS-EXT-SRV-ATTR:hypervisor_hostname\u0027"},{"line_number":717,"context_line":"                else:"},{"line_number":718,"context_line":"                    key \u003d f\u0027OS-EXT-SRV-ATTR:{attr}\u0027"},{"line_number":719,"context_line":"                server[\u0027server\u0027][key] \u003d getattr(instance, attr)"}],"source_content_type":"text/x-python","patch_set":6,"id":"c71684e0_b1b1e20b","line":716,"range":{"start_line":716,"start_character":62,"end_line":716,"end_character":63},"updated":"2021-08-06 17:31:04.000000000","message":"here we can rename the OS-EXT-SRV-ATTR:hostname  to hostname\n\n              elif attr \u003d\u003d \u0027hostname\u0027 and api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):\n                  key \u003d \u0027hostname\u0027","commit_id":"8636b3987b3f5098a98f98d8122c364f8cf67267"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"983a080ef865225f8870ef0d2573a9688d2d1dcd","unresolved":true,"context_lines":[{"line_number":411,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":412,"context_line":"            # API 2.89 made this field visible to non-admins, but we only show"},{"line_number":413,"context_line":"            # it if it\u0027s not already added"},{"line_number":414,"context_line":"            if not show_extended_attr:"},{"line_number":415,"context_line":"                server[\"server\"][\"OS-EXT-SRV-ATTR:hostname\"] \u003d \\"},{"line_number":416,"context_line":"                    instance.hostname"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"ef76678c_ed659da9","line":414,"range":{"start_line":414,"start_character":0,"end_line":414,"end_character":38},"updated":"2021-08-19 19:53:28.000000000","message":"this is little tricky now.\n\n1. show_extended_attr is always false for List servers (non detail) response. so this condition will always add hostname in list server (non detail) response too.\n\n2. For Show. PUT, Rebuild and List detail API response, show_extended_attr was evaluated by policy[1] and making policy checks microversion based is not good (as you know policy changes are not microversion-ed).\n\nAs we want to return hostname in Show. PUT, Rebuild and List detail API for all users then we can just return it without any policy check (so for older microversion also we will remove the policy check for hostname field. which is how we enforce policies. If needed we can do that by deprecating the policy for this field in this cycle and remove in next cycle).\n\n\n[1] https://github.com/openstack/nova/blob/745c8ee274a4fa4732bd04cfc3004daf8aaf3aff/nova/policies/extended_server_attributes.py#L27","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"6b61b8c8c3cd3e827d955b375e2fd4a4e3ffccbe","unresolved":true,"context_lines":[{"line_number":411,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":412,"context_line":"            # API 2.89 made this field visible to non-admins, but we only show"},{"line_number":413,"context_line":"            # it if it\u0027s not already added"},{"line_number":414,"context_line":"            if not show_extended_attr:"},{"line_number":415,"context_line":"                server[\"server\"][\"OS-EXT-SRV-ATTR:hostname\"] \u003d \\"},{"line_number":416,"context_line":"                    instance.hostname"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5ee9602d_bd1873bc","line":414,"range":{"start_line":414,"start_character":0,"end_line":414,"end_character":38},"in_reply_to":"33e42e28_421bc6fb","updated":"2021-08-25 14:25:28.000000000","message":"\u003eOnce we hit 2.90 (previously 2.89, but lyarwood got the 2.89 microversion) then it\u0027s no longer controlled via policy. If we don\u0027t   \u003edo this, then users will suddenly start seeing \u0027OS-EXT-SRV-ATTR:hostname\u0027 in responses for microversions 2.3 - 2.89 (or 2.75 - \u003e2.89 for update and rebuild) once we deprecate the policy.\n\nThis end up policy checks controlled by microversion which is what we do not do right. As proposed in spec, we want hostname to be shown to all users(not controlled by policy) this means we want to remove the policy checks for all the old or new microversion. Means any non-admin will be able to see this for \u003e2.3(for GET, \u003e2.75 for Put/Rebuild) also. This is how we change the policy (if we remove policy or add/modify policy it is done for old microversion too). \n\nI think you are confusing it because policy change is proposed along with API change spec. But that can be done separately even later then spec change.\n\nAs this is policy change (leaving API change apart), I am saying we should do it \u0027without microversion control\u0027 and \u0027with deprecation phase\u0027","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f406282af628a369e6417cb1e8bbcaf00ce153fa","unresolved":true,"context_lines":[{"line_number":411,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":412,"context_line":"            # API 2.89 made this field visible to non-admins, but we only show"},{"line_number":413,"context_line":"            # it if it\u0027s not already added"},{"line_number":414,"context_line":"            if not show_extended_attr:"},{"line_number":415,"context_line":"                server[\"server\"][\"OS-EXT-SRV-ATTR:hostname\"] \u003d \\"},{"line_number":416,"context_line":"                    instance.hostname"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"6b0b667b_eed0f74f","line":414,"range":{"start_line":414,"start_character":0,"end_line":414,"end_character":38},"in_reply_to":"5ee9602d_bd1873bc","updated":"2021-08-25 16:06:33.000000000","message":"we discussed it on IRC too and i am convinced to do this way so that end user can use the API change done in 2.90 completely.  along with this we can deprecate the policy in this and remove from next cycle so that we do not need to control the ``OS-EXT-SRV-ATTR:hostname`` field with policy for all the microversion it was added in.","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"be860da3632cdd492a471327dbf2a20b511ecfbf","unresolved":true,"context_lines":[{"line_number":411,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":412,"context_line":"            # API 2.89 made this field visible to non-admins, but we only show"},{"line_number":413,"context_line":"            # it if it\u0027s not already added"},{"line_number":414,"context_line":"            if not show_extended_attr:"},{"line_number":415,"context_line":"                server[\"server\"][\"OS-EXT-SRV-ATTR:hostname\"] \u003d \\"},{"line_number":416,"context_line":"                    instance.hostname"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"33e42e28_421bc6fb","line":414,"range":{"start_line":414,"start_character":0,"end_line":414,"end_character":38},"in_reply_to":"8cf05532_aa3ce105","updated":"2021-08-25 12:29:54.000000000","message":"I\u0027m not 100% sure I got the whole issue. We remove a policy check from hostname in 2.90 as we want to show that to everybody going forward but keep it in \u003c2.90 as we don\u0027t want to break old behavior. \n\nI guess we can look at it from two equally valid perspective:\na) it is microversion change: no deprecation period is needed as old microversions are still supported\nb) it is a policy default change: no microversion bump is needed, but it needs a deprecation period\n\nFor me a) seems to be the simpler process to follow right now.","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ff9c27fda88fa9ecd40a1bb19b11bd8a37fdd7a7","unresolved":true,"context_lines":[{"line_number":411,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":412,"context_line":"            # API 2.89 made this field visible to non-admins, but we only show"},{"line_number":413,"context_line":"            # it if it\u0027s not already added"},{"line_number":414,"context_line":"            if not show_extended_attr:"},{"line_number":415,"context_line":"                server[\"server\"][\"OS-EXT-SRV-ATTR:hostname\"] \u003d \\"},{"line_number":416,"context_line":"                    instance.hostname"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"b5e3e592_4d096506","line":414,"range":{"start_line":414,"start_character":0,"end_line":414,"end_character":38},"in_reply_to":"a55565dd_3eaf9a2b","updated":"2021-08-20 19:02:13.000000000","message":"please ignore my 1st point. list (non-detail) response does not call Show() method so no issue for list response.\n\non 2nd point. yes we need to remove the 2.89 condition as we are just removing the policy checks for hostname attribute. But I prefer to remove the policy check with deprecation phase.\n\nIn this microversion:\n---------\n1.  we can just leave this file unchanged (mean keep returning hostname only for admin by default even non-admin able to pass it in request for \u003e\u003d2.89 microversion)\n2. Add deprecation in policy in this cycle.\n\nThis way we will saying to user- \"you can pass the hostname to set on instance but you will not see it in response if current policy does not allow you but we are deprecating the policy and in next nova version you can see it always\".\n\n---------\n\nIn next cycle:\n-----------\n1. Remove it from policy and change this file to return hostname for non-admin case also.\n2. But we need to handle the previous microversion check where this attribute was added. Because this Show() view method is used for Show/List-detail and PUT/Rebuild API response microversion are different:\n\n- 2.3 added in for SHOW and List Detail API response\n- 2.75 added in PUT and Rebuild API response (currently it is handled by show_extended_attr arg only[1][2])\n\nwe can add a new kwargs to handle the above different micorversion in different API:\n- Removing hostname from L326\n- add a new kwargs show_hostname\u003dTrue by default(for SHOW and List Details APIs):\n- PUT and Rebuild will pass it as per 2.75 microversion check[1][2]\n \nAnd we can have condition in show() method like below:\n\nif show_hostname and api_version_request.is_supported(request, min_version\u003d\u00272.3\u0027):\n    server[\"server\"][\"OS-EXT-SRV-ATTR:hostname\"] \u003d \\\n                        instance.hostname\n(\n- for Show/List-detail: show_hostname is True by default so we add it for \u003e\u003d2.3 only\n- for PUT/Rebuild: show_hostname will be passed as True only for \u003e\u003d2.75 so 2nd condition of \u003e\u003d2.3 is always valid.\n)\n\n[1] https://github.com/openstack/nova/blob/691f24b8a58c3234de09dfe614655b9c98b51b39/nova/api/openstack/compute/servers.py#L920-L933\n[2] https://github.com/openstack/nova/blob/691f24b8a58c3234de09dfe614655b9c98b51b39/nova/api/openstack/compute/servers.py#L1235-L1247\n\n-------------","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac707a36d4f7057463ec2d09b9a9c50f32dbba8e","unresolved":true,"context_lines":[{"line_number":411,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":412,"context_line":"            # API 2.89 made this field visible to non-admins, but we only show"},{"line_number":413,"context_line":"            # it if it\u0027s not already added"},{"line_number":414,"context_line":"            if not show_extended_attr:"},{"line_number":415,"context_line":"                server[\"server\"][\"OS-EXT-SRV-ATTR:hostname\"] \u003d \\"},{"line_number":416,"context_line":"                    instance.hostname"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"8cf05532_aa3ce105","line":414,"range":{"start_line":414,"start_character":0,"end_line":414,"end_character":38},"in_reply_to":"b5e3e592_4d096506","updated":"2021-08-25 09:59:00.000000000","message":"I\u0027ve thought about this a lot and I still don\u0027t like it 😄 I think we\u0027re conflating two things here.\n\n- The *policy* is used to configure whether extended server attributes are returned in responses for non-admins or not.\n- The *microversion* is changing the definition of the \u0027hostname\u0027 attribute from an extended server attribute to a standard (i.e. not extended) server attribute (unfortunately it will still retain the \u0027OS-EXT-SRV-ATTR\u0027 prefix, but that\u0027s for other reasons).\n\nThese are two separate things. This attribute is still an \"extended\" attribute in previous microversions, meaning it makes sense for this to continue to be controlled via policy. Once we hit 2.90 (previously 2.89, but lyarwood got the 2.89 microversion) then it\u0027s no longer controlled via policy. If we don\u0027t do this, then users will suddenly start seeing \u0027OS-EXT-SRV-ATTR:hostname\u0027 in responses for microversions 2.3 - 2.89 (or 2.75 - 2.89 for update and rebuild) once we deprecate the policy. That is not what we want. As a result, I think we should keep this as I\u0027ve done it.\n\nwdyt?","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9cc5b2ab32ab05a32f9370882fd149720ffe1e52","unresolved":true,"context_lines":[{"line_number":411,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.89\u0027):"},{"line_number":412,"context_line":"            # API 2.89 made this field visible to non-admins, but we only show"},{"line_number":413,"context_line":"            # it if it\u0027s not already added"},{"line_number":414,"context_line":"            if not show_extended_attr:"},{"line_number":415,"context_line":"                server[\"server\"][\"OS-EXT-SRV-ATTR:hostname\"] \u003d \\"},{"line_number":416,"context_line":"                    instance.hostname"},{"line_number":417,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"a55565dd_3eaf9a2b","line":414,"range":{"start_line":414,"start_character":0,"end_line":414,"end_character":38},"in_reply_to":"ef76678c_ed659da9","updated":"2021-08-20 09:27:21.000000000","message":"I\u0027m not entirely sure what you\u0027re asking for here. I think you\u0027re saying that I shouldn\u0027t have the \"is microversion 2.89\" check here and instead always add the \u0027hostname\u0027 attribute for everything except the list servers (non-detail) response. Is that correct?","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f406282af628a369e6417cb1e8bbcaf00ce153fa","unresolved":true,"context_lines":[{"line_number":407,"context_line":"            if instance.trusted_certs:"},{"line_number":408,"context_line":"                trusted_certs \u003d instance.trusted_certs.ids"},{"line_number":409,"context_line":"            server[\"server\"][\"trusted_image_certificates\"] \u003d trusted_certs"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.90\u0027):"},{"line_number":412,"context_line":"            # API 2.90 made this field visible to non-admins, but we only show"},{"line_number":413,"context_line":"            # it if it\u0027s not already added"}],"source_content_type":"text/x-python","patch_set":12,"id":"51e23bec_8c21abf8","line":410,"range":{"start_line":410,"start_character":0,"end_line":410,"end_character":0},"updated":"2021-08-25 16:06:33.000000000","message":"can you add a TODO here about to remove the OS-EXT-SRV-ATTR:hostname policy checks and then we can remove the 2.90 version condition.","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"481b131d3fc061297a1d96774dee170db6aa2789","unresolved":false,"context_lines":[{"line_number":407,"context_line":"            if instance.trusted_certs:"},{"line_number":408,"context_line":"                trusted_certs \u003d instance.trusted_certs.ids"},{"line_number":409,"context_line":"            server[\"server\"][\"trusted_image_certificates\"] \u003d trusted_certs"},{"line_number":410,"context_line":""},{"line_number":411,"context_line":"        if api_version_request.is_supported(request, min_version\u003d\u00272.90\u0027):"},{"line_number":412,"context_line":"            # API 2.90 made this field visible to non-admins, but we only show"},{"line_number":413,"context_line":"            # it if it\u0027s not already added"}],"source_content_type":"text/x-python","patch_set":12,"id":"c553f193_ae48aeed","line":410,"range":{"start_line":410,"start_character":0,"end_line":410,"end_character":0},"in_reply_to":"51e23bec_8c21abf8","updated":"2021-08-26 10:00:27.000000000","message":"Done in a follow-up, because I\u0027m still not entirely sure this is the correct approach to follow. I understand that microversions and policy and two separate things that shouldn\u0027t be conflated. However, I think what I said previously makes sense and the microversion is changing the *type* of attribute that \u0027OS-EXT-SRV-ATTR:hostname\u0027 is. This \"type\" is unchanged for previous microversions, meaning the policy should stay, IMO.\n\nWe can debate that a little more on the follow-up patch.","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"}],"nova/api/validation/parameter_types.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cbd25f0fca6fbd704f69932f8279913c20508d1f","unresolved":true,"context_lines":[{"line_number":245,"context_line":"    \u0027pattern\u0027: \u0027^[0-9]*$\u0027, \u0027minimum\u0027: 0, \u0027minLength\u0027: 1"},{"line_number":246,"context_line":"}"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":"# A host-specific or leaf label."},{"line_number":249,"context_line":"#"},{"line_number":250,"context_line":"# This is based on the specifications from two RFCs, RFCC 952 and RFC 1123."},{"line_number":251,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":13,"id":"09456a17_1236fd1c","line":248,"updated":"2021-08-31 13:01:37.000000000","message":"+1","commit_id":"c2bedc12206e3d9b9f02a103dd4606c534fc4730"}],"nova/policies/extended_server_attributes.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"983a080ef865225f8870ef0d2573a9688d2d1dcd","unresolved":true,"context_lines":[{"line_number":33,"context_line":"- ``OS-EXT-SRV-ATTR:instance_name``"},{"line_number":34,"context_line":"- ``OS-EXT-SRV-ATTR:reservation_id`` (since microversion 2.3)"},{"line_number":35,"context_line":"- ``OS-EXT-SRV-ATTR:launch_index`` (since microversion 2.3)"},{"line_number":36,"context_line":"- ``OS-EXT-SRV-ATTR:hostname`` (from microversion 2.3 to 2.88)"},{"line_number":37,"context_line":"- ``OS-EXT-SRV-ATTR:kernel_id`` (since microversion 2.3)"},{"line_number":38,"context_line":"- ``OS-EXT-SRV-ATTR:ramdisk_id`` (since microversion 2.3)"},{"line_number":39,"context_line":"- ``OS-EXT-SRV-ATTR:root_device_name`` (since microversion 2.3)"}],"source_content_type":"text/x-python","patch_set":10,"id":"05c9487b_4a89b8f4","line":36,"range":{"start_line":36,"start_character":31,"end_line":36,"end_character":61},"updated":"2021-08-19 19:53:28.000000000","message":"Actually this \u0027from microversion\u0027 is for when these attribute are added not from when policy is enforced. Both are same time but policy enforcement alone is not microvesion based.","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9cc5b2ab32ab05a32f9370882fd149720ffe1e52","unresolved":false,"context_lines":[{"line_number":33,"context_line":"- ``OS-EXT-SRV-ATTR:instance_name``"},{"line_number":34,"context_line":"- ``OS-EXT-SRV-ATTR:reservation_id`` (since microversion 2.3)"},{"line_number":35,"context_line":"- ``OS-EXT-SRV-ATTR:launch_index`` (since microversion 2.3)"},{"line_number":36,"context_line":"- ``OS-EXT-SRV-ATTR:hostname`` (from microversion 2.3 to 2.88)"},{"line_number":37,"context_line":"- ``OS-EXT-SRV-ATTR:kernel_id`` (since microversion 2.3)"},{"line_number":38,"context_line":"- ``OS-EXT-SRV-ATTR:ramdisk_id`` (since microversion 2.3)"},{"line_number":39,"context_line":"- ``OS-EXT-SRV-ATTR:root_device_name`` (since microversion 2.3)"}],"source_content_type":"text/x-python","patch_set":10,"id":"04bf9cd8_98e57683","line":36,"range":{"start_line":36,"start_character":31,"end_line":36,"end_character":61},"in_reply_to":"05c9487b_4a89b8f4","updated":"2021-08-20 09:27:21.000000000","message":"Good point. Done","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"983a080ef865225f8870ef0d2573a9688d2d1dcd","unresolved":true,"context_lines":[{"line_number":43,"context_line":"and ``POST /servers/{server_id}/action (rebuild)`` API responses which are"},{"line_number":44,"context_line":"also controlled by this policy rule, like the ``GET /servers*`` APIs."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Microversion 2.89 made the ``OS-EXT-SRV-ATTR:hostname`` attribute available to"},{"line_number":47,"context_line":"all users, so this policy has no effect on that field for microversions 2.89"},{"line_number":48,"context_line":"and greater."},{"line_number":49,"context_line":"\"\"\","},{"line_number":50,"context_line":"        operations\u003d["},{"line_number":51,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":10,"id":"74b48a20_fd171741","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":12},"updated":"2021-08-19 19:53:28.000000000","message":"we should not map policy checks to microversions, instead we should deprecate and remove this field from this policy.","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"9cc5b2ab32ab05a32f9370882fd149720ffe1e52","unresolved":true,"context_lines":[{"line_number":43,"context_line":"and ``POST /servers/{server_id}/action (rebuild)`` API responses which are"},{"line_number":44,"context_line":"also controlled by this policy rule, like the ``GET /servers*`` APIs."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Microversion 2.89 made the ``OS-EXT-SRV-ATTR:hostname`` attribute available to"},{"line_number":47,"context_line":"all users, so this policy has no effect on that field for microversions 2.89"},{"line_number":48,"context_line":"and greater."},{"line_number":49,"context_line":"\"\"\","},{"line_number":50,"context_line":"        operations\u003d["},{"line_number":51,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":10,"id":"073ecbed_14ee71e6","line":48,"range":{"start_line":46,"start_character":0,"end_line":48,"end_character":12},"in_reply_to":"74b48a20_fd171741","updated":"2021-08-20 09:27:21.000000000","message":"Good point also. I\u0027ve left this unresolved until I\u0027m sure about what you\u0027d like me to do here.","commit_id":"615840f88760be9c473576200dfd6dbc052f4efa"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f406282af628a369e6417cb1e8bbcaf00ce153fa","unresolved":true,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Microversion 2.90 made the ``OS-EXT-SRV-ATTR:hostname`` attribute available to"},{"line_number":47,"context_line":"all users, so this policy has no effect on that field for microversions 2.90"},{"line_number":48,"context_line":"and greater."},{"line_number":49,"context_line":"\"\"\","},{"line_number":50,"context_line":"        operations\u003d["},{"line_number":51,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":12,"id":"232d1315_7cf48fdf","line":48,"range":{"start_line":48,"start_character":11,"end_line":48,"end_character":12},"updated":"2021-08-25 16:06:33.000000000","message":"also, can you add a Deprecation note also for ``OS-EXT-SRV-ATTR:hostname`` attribute so that we can remove it from policy completely in next cycle.","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"481b131d3fc061297a1d96774dee170db6aa2789","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Microversion 2.90 made the ``OS-EXT-SRV-ATTR:hostname`` attribute available to"},{"line_number":47,"context_line":"all users, so this policy has no effect on that field for microversions 2.90"},{"line_number":48,"context_line":"and greater."},{"line_number":49,"context_line":"\"\"\","},{"line_number":50,"context_line":"        operations\u003d["},{"line_number":51,"context_line":"            {"}],"source_content_type":"text/x-python","patch_set":12,"id":"050e7b7b_a5836d59","line":48,"range":{"start_line":48,"start_character":11,"end_line":48,"end_character":12},"in_reply_to":"232d1315_7cf48fdf","updated":"2021-08-26 10:00:27.000000000","message":"Done in a follow-up","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"}],"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":"f406282af628a369e6417cb1e8bbcaf00ce153fa","unresolved":true,"context_lines":[{"line_number":3871,"context_line":"        # ...so instead we check the call to the API itself"},{"line_number":3872,"context_line":"        self.mock_rebuild.assert_called_once()"},{"line_number":3873,"context_line":"        self.assertIn(\u0027hostname\u0027, self.mock_rebuild.call_args[0][1])"},{"line_number":3874,"context_line":""},{"line_number":3875,"context_line":""},{"line_number":3876,"context_line":"class _ServersControllerUpdateTest(ControllerTest):"},{"line_number":3877,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"ec92ab71_68c55282","line":3874,"range":{"start_line":3874,"start_character":0,"end_line":3874,"end_character":0},"updated":"2021-08-25 16:06:33.000000000","message":"we can also check \"OS-EXT-SRV-ATTR:hostname\" is present and with request value in response.","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"525fc8c1ac4809172eb86987ddb54618a430fb77","unresolved":false,"context_lines":[{"line_number":3871,"context_line":"        # ...so instead we check the call to the API itself"},{"line_number":3872,"context_line":"        self.mock_rebuild.assert_called_once()"},{"line_number":3873,"context_line":"        self.assertIn(\u0027hostname\u0027, self.mock_rebuild.call_args[0][1])"},{"line_number":3874,"context_line":""},{"line_number":3875,"context_line":""},{"line_number":3876,"context_line":"class _ServersControllerUpdateTest(ControllerTest):"},{"line_number":3877,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"a70a80ef_02dedc91","line":3874,"range":{"start_line":3874,"start_character":0,"end_line":3874,"end_character":0},"in_reply_to":"0ee1d7aa_2c7cccc1","updated":"2021-08-31 12:23:03.000000000","message":"Ah, okay, done","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"eff9ed4f20954e26a2b2ea1240f00b105106b8d7","unresolved":false,"context_lines":[{"line_number":3871,"context_line":"        # ...so instead we check the call to the API itself"},{"line_number":3872,"context_line":"        self.mock_rebuild.assert_called_once()"},{"line_number":3873,"context_line":"        self.assertIn(\u0027hostname\u0027, self.mock_rebuild.call_args[0][1])"},{"line_number":3874,"context_line":""},{"line_number":3875,"context_line":""},{"line_number":3876,"context_line":"class _ServersControllerUpdateTest(ControllerTest):"},{"line_number":3877,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"0ee1d7aa_2c7cccc1","line":3874,"range":{"start_line":3874,"start_character":0,"end_line":3874,"end_character":0},"in_reply_to":"e5d54fad_0601895f","updated":"2021-08-26 14:53:32.000000000","message":"That is fine to stub get call from DB but here at least we can verify the changes done in server View file and make sure it does return it for non-admin with \u003e2.89","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"481b131d3fc061297a1d96774dee170db6aa2789","unresolved":false,"context_lines":[{"line_number":3871,"context_line":"        # ...so instead we check the call to the API itself"},{"line_number":3872,"context_line":"        self.mock_rebuild.assert_called_once()"},{"line_number":3873,"context_line":"        self.assertIn(\u0027hostname\u0027, self.mock_rebuild.call_args[0][1])"},{"line_number":3874,"context_line":""},{"line_number":3875,"context_line":""},{"line_number":3876,"context_line":"class _ServersControllerUpdateTest(ControllerTest):"},{"line_number":3877,"context_line":""}],"source_content_type":"text/x-python","patch_set":12,"id":"e5d54fad_0601895f","line":3874,"range":{"start_line":3874,"start_character":0,"end_line":3874,"end_character":0},"in_reply_to":"ec92ab71_68c55282","updated":"2021-08-26 10:00:27.000000000","message":"We can\u0027t. See my note above about the underling call being a cast. We\u0027d have to stub out the get call, which means we wouldn\u0027t be testing what we passed in","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f406282af628a369e6417cb1e8bbcaf00ce153fa","unresolved":true,"context_lines":[{"line_number":3872,"context_line":"        self.mock_rebuild.assert_called_once()"},{"line_number":3873,"context_line":"        self.assertIn(\u0027hostname\u0027, self.mock_rebuild.call_args[0][1])"},{"line_number":3874,"context_line":""},{"line_number":3875,"context_line":""},{"line_number":3876,"context_line":"class _ServersControllerUpdateTest(ControllerTest):"},{"line_number":3877,"context_line":""},{"line_number":3878,"context_line":"    microversion \u003d None"}],"source_content_type":"text/x-python","patch_set":12,"id":"4edf8751_4f7e296b","line":3875,"range":{"start_line":3875,"start_character":0,"end_line":3875,"end_character":0},"updated":"2021-08-25 16:06:33.000000000","message":"can you add a test to show that with older microversion 2.89, hostname in request is 404.","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"481b131d3fc061297a1d96774dee170db6aa2789","unresolved":false,"context_lines":[{"line_number":3872,"context_line":"        self.mock_rebuild.assert_called_once()"},{"line_number":3873,"context_line":"        self.assertIn(\u0027hostname\u0027, self.mock_rebuild.call_args[0][1])"},{"line_number":3874,"context_line":""},{"line_number":3875,"context_line":""},{"line_number":3876,"context_line":"class _ServersControllerUpdateTest(ControllerTest):"},{"line_number":3877,"context_line":""},{"line_number":3878,"context_line":"    microversion \u003d None"}],"source_content_type":"text/x-python","patch_set":12,"id":"2aa18617_6d48288b","line":3875,"range":{"start_line":3875,"start_character":0,"end_line":3875,"end_character":0},"in_reply_to":"4edf8751_4f7e296b","updated":"2021-08-26 10:00:27.000000000","message":"Done","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f406282af628a369e6417cb1e8bbcaf00ce153fa","unresolved":true,"context_lines":[{"line_number":4094,"context_line":"        self.assertEqual(res_dict[\u0027server\u0027][\u0027id\u0027], FAKE_UUID)"},{"line_number":4095,"context_line":"        self.assertEqual("},{"line_number":4096,"context_line":"            res_dict[\u0027server\u0027][\"OS-EXT-SRV-ATTR:hostname\"], \u0027my-hostname\u0027)"},{"line_number":4097,"context_line":""},{"line_number":4098,"context_line":"    def test_update_server_with_hostname__too_long(self):"},{"line_number":4099,"context_line":"        body \u003d {\u0027server\u0027: {\u0027hostname\u0027: \u0027a\u0027 * 64}}"},{"line_number":4100,"context_line":"        req \u003d self._get_request(body)"}],"source_content_type":"text/x-python","patch_set":12,"id":"0207ab11_d5ef4b16","line":4097,"range":{"start_line":4097,"start_character":0,"end_line":4097,"end_character":0},"updated":"2021-08-25 16:06:33.000000000","message":"can you add a test to show that with older microversion 2.89, hostname in request is 404.","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"481b131d3fc061297a1d96774dee170db6aa2789","unresolved":false,"context_lines":[{"line_number":4094,"context_line":"        self.assertEqual(res_dict[\u0027server\u0027][\u0027id\u0027], FAKE_UUID)"},{"line_number":4095,"context_line":"        self.assertEqual("},{"line_number":4096,"context_line":"            res_dict[\u0027server\u0027][\"OS-EXT-SRV-ATTR:hostname\"], \u0027my-hostname\u0027)"},{"line_number":4097,"context_line":""},{"line_number":4098,"context_line":"    def test_update_server_with_hostname__too_long(self):"},{"line_number":4099,"context_line":"        body \u003d {\u0027server\u0027: {\u0027hostname\u0027: \u0027a\u0027 * 64}}"},{"line_number":4100,"context_line":"        req \u003d self._get_request(body)"}],"source_content_type":"text/x-python","patch_set":12,"id":"8a45b8c8_6acd6136","line":4097,"range":{"start_line":4097,"start_character":0,"end_line":4097,"end_character":0},"in_reply_to":"0207ab11_d5ef4b16","updated":"2021-08-26 10:00:27.000000000","message":"Done","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"}],"releasenotes/notes/microversion-2-89-59fb6d4ec420b9f4.yaml":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ca38e90f8fae4270a3ad65fb427cd8fcdfe7d618","unresolved":true,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    The 2.89 microversion has been added. This microversion allows users to"},{"line_number":5,"context_line":"    specify a requested hostname to be configured for the instance metadata"},{"line_number":6,"context_line":"    when creating an instance (``POST /servers``) or updating one"},{"line_number":7,"context_line":"    (``PUT /servers/{id}``). When specified, this hostname replaces the"},{"line_number":8,"context_line":"    hostname that nova auto-generates from the instance display name."},{"line_number":9,"context_line":"    As with the auto-generated hostnames, a service such as ``cloud-init``"},{"line_number":10,"context_line":"    can automatically configure the hostname in the guest OS using this"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"5839336e_3ad57e39","line":7,"range":{"start_line":6,"start_character":30,"end_line":7,"end_character":28},"updated":"2021-08-19 11:32:18.000000000","message":"Do we added this to rebuild too?","commit_id":"e9cb9b498517973ad6381bb5649e10af732404ce"}],"releasenotes/notes/microversion-2-90-59fb6d4ec420b9f4.yaml":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f406282af628a369e6417cb1e8bbcaf00ce153fa","unresolved":true,"context_lines":[{"line_number":11,"context_line":"    ``cloud-init`` can automatically configure the hostname in the guest OS"},{"line_number":12,"context_line":"    using this information retrieved from the metadata service."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    In addition, the ``OS-EXT-SRV-ATTR:hostname`` field is now returned for"},{"line_number":15,"context_line":"    all users. Previously this was restricted to admin users."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"9e46c7ce_323f65e4","line":14,"range":{"start_line":14,"start_character":17,"end_line":14,"end_character":21},"updated":"2021-08-25 16:06:33.000000000","message":"In addition, 2.90 microversion onwards the..","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"481b131d3fc061297a1d96774dee170db6aa2789","unresolved":false,"context_lines":[{"line_number":11,"context_line":"    ``cloud-init`` can automatically configure the hostname in the guest OS"},{"line_number":12,"context_line":"    using this information retrieved from the metadata service."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    In addition, the ``OS-EXT-SRV-ATTR:hostname`` field is now returned for"},{"line_number":15,"context_line":"    all users. Previously this was restricted to admin users."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"362d1605_8ef0aae2","line":14,"range":{"start_line":14,"start_character":17,"end_line":14,"end_character":21},"in_reply_to":"9e46c7ce_323f65e4","updated":"2021-08-26 10:00:27.000000000","message":"Done","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f406282af628a369e6417cb1e8bbcaf00ce153fa","unresolved":true,"context_lines":[{"line_number":12,"context_line":"    using this information retrieved from the metadata service."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    In addition, the ``OS-EXT-SRV-ATTR:hostname`` field is now returned for"},{"line_number":15,"context_line":"    all users. Previously this was restricted to admin users."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"a90bf199_4034919c","line":15,"range":{"start_line":15,"start_character":60,"end_line":15,"end_character":61},"updated":"2021-08-25 16:06:33.000000000","message":"also can you add the deprecation section also to deprecate the ``OS-EXT-SRV-ATTR:hostname`` field policy and to be removed in next release.","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"481b131d3fc061297a1d96774dee170db6aa2789","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    using this information retrieved from the metadata service."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    In addition, the ``OS-EXT-SRV-ATTR:hostname`` field is now returned for"},{"line_number":15,"context_line":"    all users. Previously this was restricted to admin users."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"9443317c_775774e4","line":15,"range":{"start_line":15,"start_character":60,"end_line":15,"end_character":61},"in_reply_to":"a90bf199_4034919c","updated":"2021-08-26 10:00:27.000000000","message":"Done in a follow-up","commit_id":"6bf8ae68ef26323d58f68f73670733f710766254"}]}
