)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"5f7c090c7113cd63e190cf01751b49cee2d72310","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5ae7b389_5e772ce4","updated":"2025-06-05 20:24:08.000000000","message":"@smooney@redhat.com hello, if possible, please find time for review this.","commit_id":"689d7fd1f9ead4102905b6ef57dbb50aa2d0edab"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"1618d05fd83262564d98bf4ac19c46d3dc6f7639","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b67dfa4f_d994de8c","updated":"2025-04-26 12:11:54.000000000","message":"recheck","commit_id":"689d7fd1f9ead4102905b6ef57dbb50aa2d0edab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7b4ffa236a34d37619e0fc449fe6894802cd12e6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"2633377b_db45ba2b","updated":"2025-08-12 10:36:49.000000000","message":"-2 mainliy to highlight that all api changes always requrie an approved spec which this does not have.\n\nin general im not sure this is something we woudl want to add.\n\nyou can already group by rack usign host aggreates and you can encode the rack in teh fqdn is you want to as well. that is what many do today.\n\nits actully why nova started supportign fqdns for the host and hypervior hostname in the first place to enable operator to encode the toplogy.\n\nim not agaisnt havign an alternitive wasy to do this posisble even allowign flexablity similar to crushmaps in cpeh where you can define a heirachy of grouping and then use that for affinity.anti affinity or other scheduleing decsion but if we were to do that we would need wider agreement on the usecase we want ot enable.\n\n\nso -2 for lack of following the comunity feature process in this case the lack fo an approved nova spec, -1 in genreal as if we were to add this feature i think we would want ti to be more genericily useful.\n\ni left some comment inline but i also do not see any code that ever set this filed.\nwe do no tallow db acckess form the virt driver or driver specific db fileds.\n\nsome general guidace, when we make changes like this we general do it in 4 commits\n1 for the object chnages\n1 for the db changes\n1 for the driver/compute manager changes\n1 final change for the api.\n\nrelease notes and docs should be in the final change unless your adding config options in which case the docs related to the config options go with the change that adds them.\n\nim not opposed to dicsussing this butim not seeing a explaition for why you want to do this or how it will be used so as it stand i dont think this is aligned with the project goals.  you can explain that in a ptg session, in a spec or via other means llike irc,gerrit ro the mailing list but before maiking this type of change you need to build concenus that it shoudl be done.\n\nother things we woudl ask for in the space are 1 what policy rules will be applied to the new files, (as it woudl have host specifci info its inapproate to expsoe to non admins) 2 there would need to be tempest testing and update to the openapi scemas for the api, 3 you will need to modify the openstack sdk and openstack client for the new microverison.\n\nwe woudl want to see progress on all of the above before the api change could actully merge.","commit_id":"71cedd06a01749e4621f23bbdd14341134719b1c"},{"author":{"_account_id":37968,"name":"Thomas Rotsaert","display_name":"Thomas ROTSAERT","email":"th.rotsaert@gmail.com","username":"thomasrts","status":"IT Engineer at OVHcloud \u0026 Independant Web/Native developer"},"change_message_id":"817c1dcb9801c6abcd4d8664012298379e7dcf8f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"08e508f0_97b9e34b","updated":"2025-08-12 08:31:41.000000000","message":"recheck","commit_id":"71cedd06a01749e4621f23bbdd14341134719b1c"}],"doc/api_samples/os-hypervisors/v2.101/hypervisors-detail-resp.json":[{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"44213be0ceedb210023503589794cfd95b8c78e8","unresolved":true,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"hypervisors\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"host_ip\": \"192.168.1.135\","}],"source_content_type":"application/json","patch_set":2,"id":"71c30e36_3aaf0561","line":1,"updated":"2025-06-09 13:45:56.000000000","message":"Do you have any hint on where in the doc this is used?\nI\u0027d like to review the result of this in doc","commit_id":"689d7fd1f9ead4102905b6ef57dbb50aa2d0edab"},{"author":{"_account_id":37968,"name":"Thomas Rotsaert","display_name":"Thomas ROTSAERT","email":"th.rotsaert@gmail.com","username":"thomasrts","status":"IT Engineer at OVHcloud \u0026 Independant Web/Native developer"},"change_message_id":"fed7da3edb8f91b3746d7562f299eff5ca0d49d0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"hypervisors\": ["},{"line_number":3,"context_line":"        {"},{"line_number":4,"context_line":"            \"host_ip\": \"192.168.1.135\","}],"source_content_type":"application/json","patch_set":2,"id":"f913f47c_9da30fb6","line":1,"in_reply_to":"71c30e36_3aaf0561","updated":"2025-08-11 13:34:58.000000000","message":"Done","commit_id":"689d7fd1f9ead4102905b6ef57dbb50aa2d0edab"}],"nova/api/openstack/compute/hypervisors.py":[{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"44213be0ceedb210023503589794cfd95b8c78e8","unresolved":true,"context_lines":[{"line_number":116,"context_line":"        # The 2.101 microversion also *added* the \u0027hypervisor_rack\u0027 field to"},{"line_number":117,"context_line":"        # the response"},{"line_number":118,"context_line":"        if detail and api_version_request.is_supported("},{"line_number":119,"context_line":"            req, min_version\u003d\u00272.101\u0027,"},{"line_number":120,"context_line":"        ):"},{"line_number":121,"context_line":"            hyp_dict[\u0027hypervisor_rack\u0027] \u003d ("},{"line_number":122,"context_line":"                getattr(hypervisor, \u0027hypervisor_rack\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"67226d70_8513a569","line":119,"updated":"2025-06-09 13:45:56.000000000","message":"You will also need to patch the file in:\n`./nova/api/openstack/compute/rest_api_version_history.rst`","commit_id":"689d7fd1f9ead4102905b6ef57dbb50aa2d0edab"},{"author":{"_account_id":37968,"name":"Thomas Rotsaert","display_name":"Thomas ROTSAERT","email":"th.rotsaert@gmail.com","username":"thomasrts","status":"IT Engineer at OVHcloud \u0026 Independant Web/Native developer"},"change_message_id":"fed7da3edb8f91b3746d7562f299eff5ca0d49d0","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        # The 2.101 microversion also *added* the \u0027hypervisor_rack\u0027 field to"},{"line_number":117,"context_line":"        # the response"},{"line_number":118,"context_line":"        if detail and api_version_request.is_supported("},{"line_number":119,"context_line":"            req, min_version\u003d\u00272.101\u0027,"},{"line_number":120,"context_line":"        ):"},{"line_number":121,"context_line":"            hyp_dict[\u0027hypervisor_rack\u0027] \u003d ("},{"line_number":122,"context_line":"                getattr(hypervisor, \u0027hypervisor_rack\u0027))"}],"source_content_type":"text/x-python","patch_set":2,"id":"1ea61828_064c2841","line":119,"in_reply_to":"67226d70_8513a569","updated":"2025-08-11 13:34:58.000000000","message":"Done","commit_id":"689d7fd1f9ead4102905b6ef57dbb50aa2d0edab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7b4ffa236a34d37619e0fc449fe6894802cd12e6","unresolved":true,"context_lines":[{"line_number":119,"context_line":"            req, min_version\u003d\u00272.101\u0027,"},{"line_number":120,"context_line":"        ):"},{"line_number":121,"context_line":"            hyp_dict[\u0027hypervisor_rack\u0027] \u003d ("},{"line_number":122,"context_line":"                getattr(hypervisor, \u0027hypervisor_rack\u0027))"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        if servers:"},{"line_number":125,"context_line":"            hyp_dict[\u0027servers\u0027] \u003d ["}],"source_content_type":"text/x-python","patch_set":3,"id":"a289153f_c62bdbf6","line":122,"updated":"2025-08-12 10:36:49.000000000","message":"getattr is generally consdier a codesmell\n\nwe do not use it if it can be avoided in nova.\n\nthis is also mising any kin of policy enfoceemtn in this patch.\n\nthis is not information that is allowed to be provided to non admins.","commit_id":"71cedd06a01749e4621f23bbdd14341134719b1c"}],"nova/db/main/migrations/versions/2db8162d3233_add_hypervisor_rack_field_to_compute_.py":[{"author":{"_account_id":11583,"name":"Arnaud Morin","email":"arnaud.morin@gmail.com","username":"arnaudmorin"},"change_message_id":"44213be0ceedb210023503589794cfd95b8c78e8","unresolved":true,"context_lines":[{"line_number":34,"context_line":"                  sa.Column(\u0027hypervisor_rack\u0027,"},{"line_number":35,"context_line":"                            sa.String(length\u003d255), nullable\u003dTrue))"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    op.add_column(\u0027shadow_compute_nodes\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027hypervisor_rack\u0027,"},{"line_number":39,"context_line":"                            sa.String(length\u003d255), nullable\u003dTrue))"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a23db651_8b4ce463","line":37,"updated":"2025-06-09 13:45:56.000000000","message":"I am wondering if this one should also be in the `def downgrade`?\nNot sure here, just asking","commit_id":"689d7fd1f9ead4102905b6ef57dbb50aa2d0edab"},{"author":{"_account_id":37968,"name":"Thomas Rotsaert","display_name":"Thomas ROTSAERT","email":"th.rotsaert@gmail.com","username":"thomasrts","status":"IT Engineer at OVHcloud \u0026 Independant Web/Native developer"},"change_message_id":"fed7da3edb8f91b3746d7562f299eff5ca0d49d0","unresolved":false,"context_lines":[{"line_number":34,"context_line":"                  sa.Column(\u0027hypervisor_rack\u0027,"},{"line_number":35,"context_line":"                            sa.String(length\u003d255), nullable\u003dTrue))"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    op.add_column(\u0027shadow_compute_nodes\u0027,"},{"line_number":38,"context_line":"                  sa.Column(\u0027hypervisor_rack\u0027,"},{"line_number":39,"context_line":"                            sa.String(length\u003d255), nullable\u003dTrue))"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"5acb85f2_e345f50b","line":37,"in_reply_to":"a23db651_8b4ce463","updated":"2025-08-11 13:34:58.000000000","message":"Done","commit_id":"689d7fd1f9ead4102905b6ef57dbb50aa2d0edab"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7b4ffa236a34d37619e0fc449fe6894802cd12e6","unresolved":true,"context_lines":[{"line_number":41,"context_line":"    # ### end Alembic commands ###"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"def downgrade():"},{"line_number":45,"context_line":"    op.drop_column(\u0027compute_nodes\u0027, \u0027hypervisor_rack\u0027)"},{"line_number":46,"context_line":"    op.drop_column(\u0027shadow_compute_nodes\u0027, \u0027hypervisor_rack\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"26f8cdbd_411fc65b","line":44,"updated":"2025-08-12 10:36:49.000000000","message":"nova and openstack in general does not support db downgrades\nso they shoudl never be added \nhttps://opendev.org/openstack/openstack-specs/src/commit/70a7c6d7ddf1e00e5d22ed09f239e73566632f9d/specs/no-downward-sql-migration.rst\nnova completed that goal in \nhttps://review.opendev.org/c/openstack/nova/+/175010","commit_id":"71cedd06a01749e4621f23bbdd14341134719b1c"}]}
