)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"38b28c057ed90b5179234c8e185cf53570ae6351","unresolved":true,"context_lines":[{"line_number":14,"context_line":"migration with kernel variant drivers."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Partially-Implements: blueprint migrate-vfio-devices-using-kernel-variant-drivers"},{"line_number":17,"context_line":"Depends-On: https://review.opendev.org/c/openstack/nova/+/938405"},{"line_number":18,"context_line":"Change-Id: I1c8e5709640abedb332d96c2c1f5268fa239d9a1"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"c5979cb9_0025f10b","line":17,"updated":"2025-02-19 11:21:42.000000000","message":"this is not needed given you based your series on top of that patch but meh.","commit_id":"e1bfed7129129fcdedc09978ed389afda6bfefee"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"38b28c057ed90b5179234c8e185cf53570ae6351","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"233771ed_1c9408d7","updated":"2025-02-19 11:21:42.000000000","message":"for the moment +1 until I review the series","commit_id":"e1bfed7129129fcdedc09978ed389afda6bfefee"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9819f49af84703a4d3cd43aa884626c43ecb8410","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7c1231bb_dbfc4954","updated":"2025-02-24 11:55:48.000000000","message":"Seems reasonable on its own. I need to see this in action in the subsequent patches to decide if it is what we want.\nI have one comment request (possible to handle in a follow up)","commit_id":"cfecd8dc54b76546a52da00ace36ab167e9c2448"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c2aaa2847bde4fcefc1012471acfdb4340bf1d9d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"034b8283_676e69e3","updated":"2025-02-27 18:58:04.000000000","message":"its a pretty soft -1 but im not entirly conviced we shoud do this.\n\nvifs was added to the generig LiveMigrationData because of the  multiple port binding api which in pincipal is common to all virt driver but this is a libvirt specific feature and shoudl be done at the libvirt level IMO\n\nim open to being convinced otherwise","commit_id":"3fcb764ceb144e9c592851ff7b4dd54e53e11880"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1d5bc48a4b1e90467c10da9b7113dd455a556a25","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c5922154_13c83253","in_reply_to":"034b8283_676e69e3","updated":"2025-02-28 09:50:11.000000000","message":"the data added here is virt driver agnostic, it is generated on the compute/manager level not on the virt/driver level. So I think this data can be used the same way for other virt drivers in the future too.","commit_id":"3fcb764ceb144e9c592851ff7b4dd54e53e11880"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1a74ef545fad891996fcefc66b3cdf2a6019fa96","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ba3fe889_fa492bb5","in_reply_to":"418344a9_05c2d9b0","updated":"2025-03-03 11:37:39.000000000","message":"in the context of the spec we are often imprecies in the class names we use\n\nso your right tha tit say \" LiveMigrateData object\"  but generlaly sicne this is a libvirt specific spec i would have expect that to really mean the libvirt specific one.\n\nthe reason im helistent is precisly because \"the data added here is virt driver agnostic\"is only half true.\n\nwe have now deleted the hyperv dirver which was the only other driver to suprot pci passhtough.\n\nwhile pci addresses are part of the pci spec and are fundamentally part fo the hardware data transfer layer and are not related to the operating system or hypervisor, not all hypervisors expose them\n\nin partcalar in hyperv they were hidden in the past and you refenced devices via a opque handel that was a GUID/UUID and the hyperv driver internally created fake pci address to plug into the generic pci manager code.\n\nwith the removal of hyperv libvirt is the only virt driver to supprot pci passthough so i was suggeing putting this in the libvirt specific class rather then the base one.\n\nwe can proceed with this i guess but we need to keep in mind that this may need to be hypervior specific eventually.\n\nwe do not need to change the datatype as its still a string mapping form source to dest device identifier.\n\ntaht is the context around my orgianl comment","commit_id":"3fcb764ceb144e9c592851ff7b4dd54e53e11880"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0bf02a0d5801858f568bdcd2e93f0885dc39a1d2","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a092dd8c_b0f77974","in_reply_to":"ba3fe889_fa492bb5","updated":"2025-03-03 11:48:04.000000000","message":"\u003e in partcalar in hyperv they were hidden in the past and you refenced devices via a opque handel that was a GUID/UUID and the hyperv driver internally created fake pci address to plug into the generic pci manager code.\n\nThis exactly shows my point that the data in the PCI tracker is the virt driver agnostic data. And the virt drivers needs to translate them to anything that is driver specific.\n\n\u003e with the removal of hyperv libvirt is the only virt driver to supprot pci passthough so i was suggeing putting this in the libvirt specific class rather then the base one.\n\n\u003e we can proceed with this i guess but we need to keep in mind that this may need to be hypervior specific eventually.\n\nThe only way this data to become virt driver specific if the PCI tracker becomes virt driver specific. I don\u0027t think we want to go that way. \n\n* Today we track inventories and allocations in the nova DB (and in Placement) by PCI devices\n* The mapping added here is between PCI devices on different computes based on PCI address pairs. \n\nSo I\u0027m pretty sure that we won\u0027t blow up nova\u0027s and placement\u0027s data model and start tracking PCI devices by other than their PCI address. And as an extension of that I\u0027m pretty sure we won\u0027t make this data virt driver specific.","commit_id":"3fcb764ceb144e9c592851ff7b4dd54e53e11880"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"7214e95b0491bf0de7d911efef0580dcd5825223","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"418344a9_05c2d9b0","in_reply_to":"c5922154_13c83253","updated":"2025-03-03 09:52:33.000000000","message":"It is also aligned with what we have written in the spec.","commit_id":"3fcb764ceb144e9c592851ff7b4dd54e53e11880"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"88304506679fe4f3e7d4ec5fb3acf43bbe094b52","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"26779694_f53ab520","updated":"2025-03-04 18:05:47.000000000","message":"Sean said yesterday in our gmeet call that his comments here are not a blocker. For me the series looks landeable so I\u0027m approving this now.","commit_id":"07f54bfced6a931f1085eb31dedbc88292a67b96"}],"nova/objects/migrate_data.py":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"38b28c057ed90b5179234c8e185cf53570ae6351","unresolved":true,"context_lines":[{"line_number":171,"context_line":"        # default for the config option may change in the future"},{"line_number":172,"context_line":"        \u0027wait_for_vif_plugged\u0027: fields.BooleanField(),"},{"line_number":173,"context_line":"        \u0027vifs\u0027: fields.ListOfObjectsField(\u0027VIFMigrateData\u0027),"},{"line_number":174,"context_line":"        \u0027pci_dev_map_src_dst\u0027: fields.DictOfStringsField(),"},{"line_number":175,"context_line":"    }"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9a54f5a6_eb5749c5","line":174,"updated":"2025-02-19 11:21:42.000000000","message":"we don\u0027t really know the enveloppe for the dict, but I guess this is for mapping source UUIDs with target ones.","commit_id":"e1bfed7129129fcdedc09978ed389afda6bfefee"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"116e36b496455e8627704a325d538c6340e2ad5c","unresolved":true,"context_lines":[{"line_number":171,"context_line":"        # default for the config option may change in the future"},{"line_number":172,"context_line":"        \u0027wait_for_vif_plugged\u0027: fields.BooleanField(),"},{"line_number":173,"context_line":"        \u0027vifs\u0027: fields.ListOfObjectsField(\u0027VIFMigrateData\u0027),"},{"line_number":174,"context_line":"        \u0027pci_dev_map_src_dst\u0027: fields.DictOfStringsField(),"},{"line_number":175,"context_line":"    }"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"b5cc3b7d_8978b422","line":174,"in_reply_to":"2a32e094_b8335b35","updated":"2025-02-27 10:15:19.000000000","message":"Cool, thanks for that note","commit_id":"e1bfed7129129fcdedc09978ed389afda6bfefee"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"5f10e0c405dc76183f4fc3f2b622dcaf7047d9d6","unresolved":true,"context_lines":[{"line_number":171,"context_line":"        # default for the config option may change in the future"},{"line_number":172,"context_line":"        \u0027wait_for_vif_plugged\u0027: fields.BooleanField(),"},{"line_number":173,"context_line":"        \u0027vifs\u0027: fields.ListOfObjectsField(\u0027VIFMigrateData\u0027),"},{"line_number":174,"context_line":"        \u0027pci_dev_map_src_dst\u0027: fields.DictOfStringsField(),"},{"line_number":175,"context_line":"    }"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"2a32e094_b8335b35","line":174,"in_reply_to":"4bda81f4_144f5290","updated":"2025-02-26 06:39:14.000000000","message":"The dict will be like:\n```\n    + pci src address\n    |                 + pci dst address\n    |                 |\n    v                 v \n\"0000:25:00.4\":\"0000:2b:00.4\"\n```","commit_id":"e1bfed7129129fcdedc09978ed389afda6bfefee"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9819f49af84703a4d3cd43aa884626c43ecb8410","unresolved":true,"context_lines":[{"line_number":171,"context_line":"        # default for the config option may change in the future"},{"line_number":172,"context_line":"        \u0027wait_for_vif_plugged\u0027: fields.BooleanField(),"},{"line_number":173,"context_line":"        \u0027vifs\u0027: fields.ListOfObjectsField(\u0027VIFMigrateData\u0027),"},{"line_number":174,"context_line":"        \u0027pci_dev_map_src_dst\u0027: fields.DictOfStringsField(),"},{"line_number":175,"context_line":"    }"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"4bda81f4_144f5290","line":174,"in_reply_to":"9a54f5a6_eb5749c5","updated":"2025-02-24 11:55:48.000000000","message":"commit message says PCI addresses instead of UUIDs. Lets clarify it here in a comment.","commit_id":"e1bfed7129129fcdedc09978ed389afda6bfefee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c2aaa2847bde4fcefc1012471acfdb4340bf1d9d","unresolved":true,"context_lines":[{"line_number":171,"context_line":"        # default for the config option may change in the future"},{"line_number":172,"context_line":"        \u0027wait_for_vif_plugged\u0027: fields.BooleanField(),"},{"line_number":173,"context_line":"        \u0027vifs\u0027: fields.ListOfObjectsField(\u0027VIFMigrateData\u0027),"},{"line_number":174,"context_line":"        \u0027pci_dev_map_src_dst\u0027: fields.DictOfStringsField(),"},{"line_number":175,"context_line":"    }"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da09b002_338d805d","line":174,"in_reply_to":"b5cc3b7d_8978b422","updated":"2025-02-27 18:58:04.000000000","message":"right we dont have uuid really to do the correation its pic adress to pci adres\n\nfor vifs it was different as we had neutron port uuids\nhowever this fild shoudl relaly only be added to LibvirtLiveMigrateData\n\nif this is added to LiveMigrateData we cannot nessiarly assume it pci adress just because that can be virt dirver speicic.\n\nhyperv uses uuids in it api even though internally there are pci addresses.","commit_id":"e1bfed7129129fcdedc09978ed389afda6bfefee"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0bf02a0d5801858f568bdcd2e93f0885dc39a1d2","unresolved":true,"context_lines":[{"line_number":171,"context_line":"        # default for the config option may change in the future"},{"line_number":172,"context_line":"        \u0027wait_for_vif_plugged\u0027: fields.BooleanField(),"},{"line_number":173,"context_line":"        \u0027vifs\u0027: fields.ListOfObjectsField(\u0027VIFMigrateData\u0027),"},{"line_number":174,"context_line":"        \u0027pci_dev_map_src_dst\u0027: fields.DictOfStringsField(),"},{"line_number":175,"context_line":"    }"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"f4b14ae4_74e54f61","line":174,"in_reply_to":"da09b002_338d805d","updated":"2025-03-03 11:48:04.000000000","message":"\u003e if this is added to LiveMigrateData we cannot nessiarly assume it pci adress just because that can be virt dirver speicic.\n\nThe PCI tracker is global for all the virt drivers and it works by PCI devices. So I\u0027m sure this data consists of PCI addresses pairs regardless of the driver used.","commit_id":"e1bfed7129129fcdedc09978ed389afda6bfefee"}]}
