)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ab320ddf875b88b3786c7b2862ef71a4af4b8355","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ad7e172f_9f193f2c","updated":"2022-04-20 10:56:33.000000000","message":"A small unit test would be nice to have to help getting the intended logic. Also I have one question about that logic inline. :)","commit_id":"8b7e92ebcad9c3c33be2b5eb631822afbd093c7d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d7bc4aca5878f249fdaedcd84a548ad98824fd23","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8e582a59_17a7f291","updated":"2022-05-06 11:52:02.000000000","message":"Agreed with gibi\u0027s comments. I\u0027d like to see a test here. I\u0027d also like to see the legacy API using this, since adding code without a caller isn\u0027t generally a great idea (especially when it\u0027s simple like this)","commit_id":"8b7e92ebcad9c3c33be2b5eb631822afbd093c7d"}],"nova/virt/libvirt/host.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d7bc4aca5878f249fdaedcd84a548ad98824fd23","unresolved":true,"context_lines":[{"line_number":765,"context_line":"        # big and it can cause subunit parsing to fail (see bug 1813147)."},{"line_number":766,"context_line":"        LOG.info(\"Libvirt host capabilities %s\", xmlstr)"},{"line_number":767,"context_line":""},{"line_number":768,"context_line":"    def _get_hypervisor_info(self, caps):"},{"line_number":769,"context_line":"        \"\"\"This helper fetches the inputs to be supplied to the libvirt"},{"line_number":770,"context_line":"        APIs, baselineHypervisorCPU() and compareHypervisorCPU()."},{"line_number":771,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"17e24859_734512d6","line":768,"updated":"2022-05-06 11:52:02.000000000","message":"Type hints would be super. I think you want:\n\n  def _get_hypervisor_info(\n      self,\n      caps: vconfig.LibvirtConfigCaps,\n  ) -\u003e ty.Tuple[ty.Optional[str], str, ty.Optional[str], str]:\n      \"\"\"Fetch info about the machine and arch to be used for guests.\n\n      :params caps: The host capabilities.\n      :returns: A tuple containing the emulator binary path, the guest architecture,\n          the machine type and the virt type.\n      \"\"\"","commit_id":"8b7e92ebcad9c3c33be2b5eb631822afbd093c7d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ab320ddf875b88b3786c7b2862ef71a4af4b8355","unresolved":true,"context_lines":[{"line_number":774,"context_line":"        arch \u003d caps.host.cpu.arch"},{"line_number":775,"context_line":"        virt_type \u003d CONF.libvirt.virt_type"},{"line_number":776,"context_line":"        for guest in caps.guests:"},{"line_number":777,"context_line":"            if guest.arch \u003d\u003d arch:"},{"line_number":778,"context_line":"                machine_type \u003d libvirt_utils.get_default_machine_type(arch)"},{"line_number":779,"context_line":"                domain \u003d guest.domains.get(virt_type, guest.default_domain)"},{"line_number":780,"context_line":"                emulator_bin \u003d domain.emulator"}],"source_content_type":"text/x-python","patch_set":1,"id":"9ac4ea4e_18f88cb9","line":777,"range":{"start_line":777,"start_character":15,"end_line":777,"end_character":34},"updated":"2022-04-20 10:56:33.000000000","message":"Does it mean that we search for the first non emulated arch the hypervisor supports","commit_id":"8b7e92ebcad9c3c33be2b5eb631822afbd093c7d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d7bc4aca5878f249fdaedcd84a548ad98824fd23","unresolved":true,"context_lines":[{"line_number":774,"context_line":"        arch \u003d caps.host.cpu.arch"},{"line_number":775,"context_line":"        virt_type \u003d CONF.libvirt.virt_type"},{"line_number":776,"context_line":"        for guest in caps.guests:"},{"line_number":777,"context_line":"            if guest.arch \u003d\u003d arch:"},{"line_number":778,"context_line":"                machine_type \u003d libvirt_utils.get_default_machine_type(arch)"},{"line_number":779,"context_line":"                domain \u003d guest.domains.get(virt_type, guest.default_domain)"},{"line_number":780,"context_line":"                emulator_bin \u003d domain.emulator"}],"source_content_type":"text/x-python","patch_set":1,"id":"a8772f5d_11446454","line":777,"range":{"start_line":777,"start_character":15,"end_line":777,"end_character":34},"in_reply_to":"9ac4ea4e_18f88cb9","updated":"2022-05-06 11:52:02.000000000","message":"It looks like it. We should call this out if so.","commit_id":"8b7e92ebcad9c3c33be2b5eb631822afbd093c7d"}]}
