)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ff6eb47807cc182bef0e987f79d13b5dfac5c317","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f8f7ddf3_1191afd9","updated":"2026-06-02 17:21:59.000000000","message":"@rene.ribaud@gmail.com we talked about this bug in the triage session i belive last week just an fyi","commit_id":"7038f57811e089181367ac9123d29ddacebc2bf2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cf679db335d41ab7f4f1fff727b67df31b95cbee","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"75a5faf8_5b35d3d0","updated":"2026-06-02 17:20:42.000000000","message":"we ideally woudl have a repoducer test using the fake diver and libvirt driver that in a functional regession test to show that this is incorrectly find instnace that shoudl not be updated.\n\ni have an example fo that here for a slightly diffent usecase.","commit_id":"7038f57811e089181367ac9123d29ddacebc2bf2"},{"author":{"_account_id":32447,"name":"dalekseev","email":"dalekseev@itkey.com","username":"dalekseev"},"change_message_id":"c938a0bd3cea796dcec699e3854cb201c0ee1407","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"90b5f5d3_3efd1583","in_reply_to":"75a5faf8_5b35d3d0","updated":"2026-06-04 14:43:03.000000000","message":"Acknowledged","commit_id":"7038f57811e089181367ac9123d29ddacebc2bf2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cceb17ec1516d2375fe5c0a48cb1521640eabbe1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"97846a2c_2ee3f741","updated":"2026-06-03 11:28:49.000000000","message":"this looks much more correct but the functional test failre test_hw_machine_type_config_update_workflow is real and need to be fixed","commit_id":"01def76c3e3c1210c3815c8b7c2cb869dd827047"},{"author":{"_account_id":32447,"name":"dalekseev","email":"dalekseev@itkey.com","username":"dalekseev"},"change_message_id":"c938a0bd3cea796dcec699e3854cb201c0ee1407","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"159f2048_bc12401e","in_reply_to":"97846a2c_2ee3f741","updated":"2026-06-04 14:43:03.000000000","message":"Done","commit_id":"01def76c3e3c1210c3815c8b7c2cb869dd827047"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"656027b4364b3f0204b2e69462effa4e06927f54","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0546cbb3_618c2bef","updated":"2026-06-04 12:53:19.000000000","message":"it would still be nice to have a seperate functional regression test for this but i think we can proceed without it\n\nif we ever need that fucntion to be remotable in the future we can make that change then.\n\nwithout the object verison change this is also more backportable.","commit_id":"98955a9e1cf61fe8649eacabbc85ac4abd6632ee"}],"nova/objects/instance.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cceb17ec1516d2375fe5c0a48cb1521640eabbe1","unresolved":true,"context_lines":[{"line_number":1397,"context_line":"    # Version 2.5: Add get_uuids_by_host_and_node()"},{"line_number":1398,"context_line":"    # Version 2.6: Add get_uuids_by_hosts()"},{"line_number":1399,"context_line":"    # Version 2.7: Add get_all_by_hypervisor_type()"},{"line_number":1400,"context_line":"    VERSION \u003d \u00272.7\u0027"},{"line_number":1401,"context_line":""},{"line_number":1402,"context_line":"    fields \u003d {"},{"line_number":1403,"context_line":"        \u0027objects\u0027: fields.ListOfObjectsField(\u0027Instance\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"38927add_301b6d88","line":1400,"updated":"2026-06-03 11:28:49.000000000","message":"this is correct its just a littel unfortunet\n\nwe generally do not backport object version change upstream or downstream because the only safe way to do that is if you do not skip any and if you upgrade the contoler services first\n\nwe do not supprot running newer computes then the conductors/api version but this may mean this is a master only fix.\n\nwe can see what other think but whenever we add a remotable method to an object we do need to bump the version\n\n\nsince this is only really called form nova-manage and nova-status we may be ok to consier backporting this upstream but just wanted to highlight that.","commit_id":"01def76c3e3c1210c3815c8b7c2cb869dd827047"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"656027b4364b3f0204b2e69462effa4e06927f54","unresolved":false,"context_lines":[{"line_number":1397,"context_line":"    # Version 2.5: Add get_uuids_by_host_and_node()"},{"line_number":1398,"context_line":"    # Version 2.6: Add get_uuids_by_hosts()"},{"line_number":1399,"context_line":"    # Version 2.7: Add get_all_by_hypervisor_type()"},{"line_number":1400,"context_line":"    VERSION \u003d \u00272.7\u0027"},{"line_number":1401,"context_line":""},{"line_number":1402,"context_line":"    fields \u003d {"},{"line_number":1403,"context_line":"        \u0027objects\u0027: fields.ListOfObjectsField(\u0027Instance\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"c52653de_9d364690","line":1400,"in_reply_to":"227d1724_475f58f0","updated":"2026-06-04 12:53:19.000000000","message":"i was going to say no but you are right since this is only used by nova-status and nova-manage and since they both have direct db access you totally can.","commit_id":"01def76c3e3c1210c3815c8b7c2cb869dd827047"},{"author":{"_account_id":32447,"name":"dalekseev","email":"dalekseev@itkey.com","username":"dalekseev"},"change_message_id":"e52491cc2a80e9a55d477f62a379b0cb7229f09d","unresolved":true,"context_lines":[{"line_number":1397,"context_line":"    # Version 2.5: Add get_uuids_by_host_and_node()"},{"line_number":1398,"context_line":"    # Version 2.6: Add get_uuids_by_hosts()"},{"line_number":1399,"context_line":"    # Version 2.7: Add get_all_by_hypervisor_type()"},{"line_number":1400,"context_line":"    VERSION \u003d \u00272.7\u0027"},{"line_number":1401,"context_line":""},{"line_number":1402,"context_line":"    fields \u003d {"},{"line_number":1403,"context_line":"        \u0027objects\u0027: fields.ListOfObjectsField(\u0027Instance\u0027),"}],"source_content_type":"text/x-python","patch_set":2,"id":"227d1724_475f58f0","line":1400,"in_reply_to":"38927add_301b6d88","updated":"2026-06-04 11:53:59.000000000","message":"may I just switch `InstanceList.get_all_by_hypervisor_type` to be plain classmethod, not remotable_classmethod?\n\nit is only used by nova-status/nova-manage anyway, but this way I can keep the patch small without caring about backport conflicts.\n\nsorry, I am not a real developer, just an ops-engineer who wants upgrades to go smooth :)","commit_id":"01def76c3e3c1210c3815c8b7c2cb869dd827047"}],"nova/virt/libvirt/machine_type_utils.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cf679db335d41ab7f4f1fff727b67df31b95cbee","unresolved":true,"context_lines":[{"line_number":206,"context_line":"    if instance.compute_id is not None:"},{"line_number":207,"context_line":"        return instance.compute_id in ironic_compute_ids"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    return (instance.host, instance.node) in ironic_host_nodes"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"def _get_instances_without_mtype("}],"source_content_type":"text/x-python","patch_set":1,"id":"d81a8087_dc76283e","line":209,"updated":"2026-06-02 17:20:42.000000000","message":"this is not correct.\n\nthe libvirt driver should not be getting all the ironic compute nodes and filtering those out.\n\nit shoudl not have awareness fo other virt drivers and specicalcase them like this\n\nthe only hypervior type that the libvirt driver supprot that also supprot instance with the ablity to have a machine type is obj_fields.HVType.QEMU\n\n\nso we shoudl instead restrict the _get_instances_without_mtype fucntion to only instance where the compute node has obj_fields.HVType.QEMU\n\nfiltering out ironic instnace is error prone as it ignores the fact that this function shoudl nto consdier zvm or vmware instances.","commit_id":"7038f57811e089181367ac9123d29ddacebc2bf2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cceb17ec1516d2375fe5c0a48cb1521640eabbe1","unresolved":false,"context_lines":[{"line_number":206,"context_line":"    if instance.compute_id is not None:"},{"line_number":207,"context_line":"        return instance.compute_id in ironic_compute_ids"},{"line_number":208,"context_line":""},{"line_number":209,"context_line":"    return (instance.host, instance.node) in ironic_host_nodes"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"def _get_instances_without_mtype("}],"source_content_type":"text/x-python","patch_set":1,"id":"5ceb866a_794ce648","line":209,"in_reply_to":"d81a8087_dc76283e","updated":"2026-06-03 11:28:49.000000000","message":"Acknowledged","commit_id":"7038f57811e089181367ac9123d29ddacebc2bf2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cf679db335d41ab7f4f1fff727b67df31b95cbee","unresolved":true,"context_lines":[{"line_number":217,"context_line":"    :param meta: \u0027sqlalchemy.MetaData\u0027 pointing to a given cell DB"},{"line_number":218,"context_line":"    :returns: A list of Instance objects or an empty list"},{"line_number":219,"context_line":"    \"\"\""},{"line_number":220,"context_line":"    instances \u003d objects.InstanceList.get_all("},{"line_number":221,"context_line":"        context, expected_attrs\u003d[\u0027system_metadata\u0027])"},{"line_number":222,"context_line":"    ironic_compute_ids, ironic_host_nodes \u003d ("},{"line_number":223,"context_line":"        _get_ironic_compute_node_ids_and_host_nodes(context))"},{"line_number":224,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"e9755fd3_727df7fa","line":221,"range":{"start_line":220,"start_character":4,"end_line":221,"end_character":52},"updated":"2026-06-02 17:20:42.000000000","message":"the correct fix in my opipion would bve to add a new funciton to the Isntancelist object\n\nget_all_by_hypervior_type\n\nand add a new db query to make this effeictn like this \n\nhttps://github.com/openstack/nova/blob/master/nova/db/main/api.py#L2106-L2136\n\nso add a new query that will get all instnace by there computes nodes hypervior type as a signel effiecnt join within a cell and filter to just the qemu type\n\nbut virt type qemu and kvm have tehs asme hypervioer type.","commit_id":"7038f57811e089181367ac9123d29ddacebc2bf2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cceb17ec1516d2375fe5c0a48cb1521640eabbe1","unresolved":false,"context_lines":[{"line_number":217,"context_line":"    :param meta: \u0027sqlalchemy.MetaData\u0027 pointing to a given cell DB"},{"line_number":218,"context_line":"    :returns: A list of Instance objects or an empty list"},{"line_number":219,"context_line":"    \"\"\""},{"line_number":220,"context_line":"    instances \u003d objects.InstanceList.get_all("},{"line_number":221,"context_line":"        context, expected_attrs\u003d[\u0027system_metadata\u0027])"},{"line_number":222,"context_line":"    ironic_compute_ids, ironic_host_nodes \u003d ("},{"line_number":223,"context_line":"        _get_ironic_compute_node_ids_and_host_nodes(context))"},{"line_number":224,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"c25878f6_5f9774e2","line":221,"range":{"start_line":220,"start_character":4,"end_line":221,"end_character":52},"in_reply_to":"e9755fd3_727df7fa","updated":"2026-06-03 11:28:49.000000000","message":"Done","commit_id":"7038f57811e089181367ac9123d29ddacebc2bf2"}]}
