)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"394e6224db13b8eae7399a6b77e3f7a87e6cd3d3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e6cb25bc_c5668083","updated":"2025-11-13 12:28:14.000000000","message":"I agree with the need to catch the calls before init_driver. However the original contract is not on the specific libvirt driver level but on the virt.driver interface level. The init_driver defined as\n\n\u003e Initialize anything that is necessary for the driver to function,\n\u003e including catching up with currently running VM\u0027s on the given host.\n\nhttps://github.com/openstack/nova/blob/b7d50570c7a79a38b0db6476ccb3c662b237f69b/nova/virt/driver.py#L360\n\nSo it feels like we should catch this on the interface level an not on the libvirt specific implementation level. However I understand that is lot more complicated.","commit_id":"39b1c09520837d9a0c2229ace24661a49776b1b0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3e56949517aa83b0484628530d8bd07042da6ea5","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ed4f3261_31e15cfa","in_reply_to":"2d48c8aa_5daf90fa","updated":"2025-11-13 15:07:25.000000000","message":"So I accept this direction. We need to do a bunch of unit test fixing though. :/","commit_id":"39b1c09520837d9a0c2229ace24661a49776b1b0"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"cc706d25a1d3be321ff269f5f3c20c8268dde1d1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"2d48c8aa_5daf90fa","in_reply_to":"e6cb25bc_c5668083","updated":"2025-11-13 15:05:36.000000000","message":"I run a trial with that idea and it is indeed complicated. We use NotImplementedError in the interface function defs to signal either that\n* the function must be implemented by every implementation of the interface\n* the function is optional and the caller when see the exception can do some fallback on the higher level, like rebuild that is not implemented by the libvirt driver but the compute manager falls back to delete / create when sees the exception.\n\nSo we cannot expect that in case of the mandatory functions the virt.driver level function will be called via super and can do the check if the driver is initialized or not as the implementation will not call super to avoid the NotImplementedException form the interface.","commit_id":"39b1c09520837d9a0c2229ace24661a49776b1b0"}]}
