)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"69525c6b619477ee27a1105c5c9e0b799840018c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"6b40f73c_f6ac63f3","updated":"2023-01-12 13:28:30.000000000","message":"And on CPU extra flags: we\u0027re not touching here at all.  They are handled in a different method: _get_guest_cpu_model_config().\n\nHope that answers.","commit_id":"807761f573c0de2c93de604495405b85c3904055"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"71aecfacb346ed1b1f914f7d3011522bc32fb963","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fc0a8e83_6ef5d677","updated":"2023-01-12 12:42:42.000000000","message":"This looks like a drop in replacement now. Much cleaner than the previous replacement trial. Would be nice to get some real life testing of this but otherwise I have nothing against this.","commit_id":"807761f573c0de2c93de604495405b85c3904055"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6e4c535cb2ce07ba59dfed2402af55f80eee36cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"330549a8_8d3487e2","updated":"2023-01-13 08:36:47.000000000","message":"Looks OK to me. ","commit_id":"85978679ed3eda76a7ca2e4748f1b287361bb241"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3b6baa7f93f1d885e1a6d2d9dced3f6e864e59ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f74eadc7_710430c0","updated":"2023-01-19 14:00:44.000000000","message":"OK, lets move this top of https://review.opendev.org/c/openstack/nova/+/870794 then I will approve it","commit_id":"85978679ed3eda76a7ca2e4748f1b287361bb241"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"709b78e6353dc8b683ce488b36dfa038e1d652d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"37e584f6_aa7492c4","updated":"2023-01-19 14:00:28.000000000","message":"Thanks for the reviews.  I\u0027m going to rebase this on top of this patch\n\nhttps://review.opendev.org/c/openstack/nova/+/870794 -- libvirt: At start-up allow skiping compareCPU() with a workaround\n","commit_id":"85978679ed3eda76a7ca2e4748f1b287361bb241"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"5f6de3db8c8089da8f8136b97bb2abdf0db14dda","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"8379fa23_61f1c1ab","updated":"2023-01-13 14:16:53.000000000","message":"recheck (unrelated failures in nova-live-migration, nova-multi-cell, nova-ovs-hybrid-plug, and nova-grenade-multinode jobs)","commit_id":"85978679ed3eda76a7ca2e4748f1b287361bb241"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"97c51cdb01cbb04de537fc7f999319224ba823f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"ef5d1ded_9581f0b4","updated":"2023-01-13 09:22:17.000000000","message":"recheck bug#1943184 (pcp is unreliable); and \u0027nova-ceph-multistore\u0027 job fails due to unrelated failure in test_attach_scsi_disk_with_config_drive","commit_id":"85978679ed3eda76a7ca2e4748f1b287361bb241"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"facc2d44731fbc470f300c27d0ac59215f40760c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"d116f476_3e227a23","in_reply_to":"f74eadc7_710430c0","updated":"2023-01-19 14:24:27.000000000","message":"Done in v5; thank you.","commit_id":"85978679ed3eda76a7ca2e4748f1b287361bb241"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"63e9f2c0f7a4eaa02dd2955f1a090edc9b863751","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"8ba43303_a4adc3b2","updated":"2023-01-19 14:33:06.000000000","message":"LGTM. thanks","commit_id":"00de6fd853ba4c826bd3e5d8148cd79fcbae36a4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"821bde656f1ff1a05a6d2bc9388c810eb6884aa5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"7c76ef50_15f33a0a","updated":"2023-01-24 11:52:55.000000000","message":"I would have certainly voted -1 but since it\u0027s already ready to go and that is not prone of bug I guess we are good.\n\nWe can certainly have a patch to fix it.","commit_id":"468b03e0ee4a917ae26106f6e57081bcd9e7a65b"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"42f9ef219ac0a009ca3837686d06a9ca6f5a6e43","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"b0a527ee_12932b4a","updated":"2023-01-26 13:53:26.000000000","message":"recheck (unrelated issue in tempest-integrated-compute)","commit_id":"468b03e0ee4a917ae26106f6e57081bcd9e7a65b"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"8d60732c605ad26fb46cfc429bd65a936c85f1e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"dca72606_0162c9f0","updated":"2023-01-25 10:29:32.000000000","message":"recheck (unrelated time out in \"tempest-integrated-compute\")","commit_id":"468b03e0ee4a917ae26106f6e57081bcd9e7a65b"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ae302ea7729109e03307f6c85aaa3cbbdc8b68e9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"5771feb2_e9ad5f08","updated":"2023-01-26 09:34:47.000000000","message":"recheck are the we trying to boot a guest with too small flavor?\n\nhttps://storage.bhs.cloud.ovh.net/v1/AUTH_dcaab5e32b234d56b626f72581e3644c/zuul_opendev_logs_d03/869950/9/check/tempest-integrated-compute-ubuntu-focal/d034376/testr_results.html\n\n[   14.344513] RIP: 0010:__kmalloc_node+0x1ad/0x320\n[   14.345222] Code: f2 48 8b 75 c8 50 e8 e2 75 b6 00 4d 8b 1f 58 4d 85 db 75 d6 e9 6c ff ff ff 41 8b 5f 20 49 8b 3f 48 8d 4a 01 4c 89 f0 4c 01 f3 \u003c48\u003e 33 1b 49 33 9f 70 01 00 00 65 48 0f c7 0f 0f 94 c0 84 c0 0f 84\n[   14.346378] RSP: 0018:ffffaa09401b78d0 EFLAGS: 00000202\n[   14.346837] RAX: 278548bf3fde9c2a RBX: 278548bf3fde9c2a RCX: 0000000000002c0f\n[   14.347280] RDX: 0000000000002c0e RSI: 0000000000000cc0 RDI: 000000000002f040\n[   14.347755] RBP: ffffaa09401b7910 R08: ffff98160b02f040 R09: ffff98160ac01c40\n[   14.348215] R10: 0000000000000000 R11: ffff981606a575ac R12: 0000000000000cc0\n[   14.348659] R13: 0000000000000008 R14: 278548bf3fde9c2a R15: ffff98160ac01c40\n[   14.349265] FS:  00007fc2813156a0(0000) GS:ffff98160b000000(0000) knlGS:0000000000000000\n[   14.349789] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[   14.350186] CR2: 00000000009a9918 CR3: 000000000619a000 CR4: 00000000000006f0\n[   14.351691] Call Trace:\n[   14.352936]  ? alloc_cpumask_var_node+0x1f/0x30\n[   14.353771]  alloc_cpumask_var_node+0x1f/0x30\n[   14.354352]  alloc_cpumask_var+0xe/0x10\n[   14.354686]  vp_find_vqs_msix+0xf4/0x460\n[   14.355117]  vp_find_vqs+0x39/0x190\n[   14.355395]  vp_modern_find_vqs+0x1b/0x80\n[   14.356186]  probe_common+0x11a/0x180 [virtio_rng]\n[   14.356554]  ? vp_set_status+0x23/0x30\n[   14.366587]  ? virtrng_scan+0x30/0x30 [virtio_rng]\n[   14.373449]  virtrng_probe+0xe/0x10 [virtio_rng]\n[   14.382122]  virtio_dev_probe+0x157/0x1f0\n[   14.389933]  really_probe+0xf5/0x3e0\n[   14.396078]  driver_probe_device+0x11b/0x130\n[   14.403147]  device_driver_attach+0x58/0x60","commit_id":"468b03e0ee4a917ae26106f6e57081bcd9e7a65b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"46355d0d57b01193f733c2a472af40613e65f85e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"056367c5_264c9087","updated":"2023-01-25 08:30:34.000000000","message":"recheck unrelated ceph CI issue (volume attach)","commit_id":"468b03e0ee4a917ae26106f6e57081bcd9e7a65b"}],"nova/tests/fixtures/libvirt.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"43c2b79341864b2eb8493d0772f812928c1a6b28","unresolved":true,"context_lines":[{"line_number":2034,"context_line":"            if model_node.text !\u003d self.host_info.cpu_model:"},{"line_number":2035,"context_line":"                return VIR_CPU_COMPARE_INCOMPATIBLE"},{"line_number":2036,"context_line":""},{"line_number":2037,"context_line":"        vendor_node \u003d tree.find(\u0027./vendor\u0027)"},{"line_number":2038,"context_line":"        if vendor_node is not None:"},{"line_number":2039,"context_line":"            if vendor_node.text !\u003d self.host_info.cpu_vendor:"},{"line_number":2040,"context_line":"                return VIR_CPU_COMPARE_INCOMPATIBLE"},{"line_number":2041,"context_line":""},{"line_number":2042,"context_line":"        # The rest of the stuff libvirt implements is rather complicated"},{"line_number":2043,"context_line":"        # and I don\u0027t think it adds much value to replicate it here."}],"source_content_type":"text/x-python","patch_set":1,"id":"f003fd1b_ba147e8a","line":2040,"range":{"start_line":2037,"start_character":3,"end_line":2040,"end_character":51},"updated":"2023-01-12 13:19:12.000000000","message":"this is the only thing you changed in compareHypervisorCPU below","commit_id":"807761f573c0de2c93de604495405b85c3904055"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"749a55d856edec112012d0a99e7e7036f616fc45","unresolved":false,"context_lines":[{"line_number":2034,"context_line":"            if model_node.text !\u003d self.host_info.cpu_model:"},{"line_number":2035,"context_line":"                return VIR_CPU_COMPARE_INCOMPATIBLE"},{"line_number":2036,"context_line":""},{"line_number":2037,"context_line":"        vendor_node \u003d tree.find(\u0027./vendor\u0027)"},{"line_number":2038,"context_line":"        if vendor_node is not None:"},{"line_number":2039,"context_line":"            if vendor_node.text !\u003d self.host_info.cpu_vendor:"},{"line_number":2040,"context_line":"                return VIR_CPU_COMPARE_INCOMPATIBLE"},{"line_number":2041,"context_line":""},{"line_number":2042,"context_line":"        # The rest of the stuff libvirt implements is rather complicated"},{"line_number":2043,"context_line":"        # and I don\u0027t think it adds much value to replicate it here."}],"source_content_type":"text/x-python","patch_set":1,"id":"29f8d5a7_974b0216","line":2040,"range":{"start_line":2037,"start_character":3,"end_line":2040,"end_character":51},"in_reply_to":"f003fd1b_ba147e8a","updated":"2023-01-18 06:21:57.000000000","message":"Done","commit_id":"807761f573c0de2c93de604495405b85c3904055"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"43c2b79341864b2eb8493d0772f812928c1a6b28","unresolved":true,"context_lines":[{"line_number":2066,"context_line":"                    \"internal error: Unknown CPU model %s\" % model_node.text,"},{"line_number":2067,"context_line":"                    error_code \u003d VIR_ERR_INTERNAL_ERROR,"},{"line_number":2068,"context_line":"                    error_domain\u003dVIR_FROM_QEMU)"},{"line_number":2069,"context_line":"            if model_node.text !\u003d self.host_info.cpu_model:"},{"line_number":2070,"context_line":"                return VIR_CPU_COMPARE_INCOMPATIBLE"},{"line_number":2071,"context_line":""},{"line_number":2072,"context_line":"        return VIR_CPU_COMPARE_IDENTICAL"},{"line_number":2073,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bf770ef8_74e0f290","line":2070,"range":{"start_line":2069,"start_character":12,"end_line":2070,"end_character":51},"updated":"2023-01-12 13:19:12.000000000","message":"but surely you need ot alther this to not check if the model is the same a the host \n\nif we pass the \n\n            if model_node.text not in self.getCPUModelNames(\u0027x86_64\u0027) and \\\n                model_node.text not in self.getCPUModelNames(\u0027ppc64\u0027):\n                \n check we know that the cpu model is in the set avaible on this host based on the qemulators installed correct?\n \n at least for x86 and power so we do not want to check if the host cpu model and the model_node.txt are the same here right.\n \n we want to validate that the model modifed by the cpu_extra_flags  is valid for the current host taking into account the emulation capailities of the qemu binary.\n \n if we look at the output form my host below i belive that is telling us that\n host-model woudl select IvyBridge-IBRS\n \ni am unsure if the features in the section are the adtional feature beyond the model feature that can be enabeld or if they are teh exausteive set of cpu feature that is suported for this emulator/architure combination.\n\n\nthe \u003cmode name\u003d\u0027custom\u0027 supported\u003d\u0027yes\u0027\u003e sechtion tells use which custom cpu models without modificatin are supported on this host.\n\n \n ean@cloud:~$ sudo virsh domcapabilities --machine q35 --arch x86_64\n\u003cdomainCapabilities\u003e\n  \u003cpath\u003e/usr/bin/qemu-system-x86_64\u003c/path\u003e\n  \u003cdomain\u003ekvm\u003c/domain\u003e\n  \u003cmachine\u003epc-q35-7.0\u003c/machine\u003e\n  \u003carch\u003ex86_64\u003c/arch\u003e\n  \u003cvcpu max\u003d\u0027288\u0027/\u003e\n  \u003ciothreads supported\u003d\u0027yes\u0027/\u003e\n  \u003cos supported\u003d\u0027yes\u0027\u003e\n    \u003cenum name\u003d\u0027firmware\u0027\u003e\n      \u003cvalue\u003eefi\u003c/value\u003e\n    \u003c/enum\u003e\n    \u003cloader supported\u003d\u0027yes\u0027\u003e\n      \u003cvalue\u003e/usr/share/OVMF/OVMF_CODE_4M.ms.fd\u003c/value\u003e\n      \u003cvalue\u003e/usr/share/OVMF/OVMF_CODE_4M.secboot.fd\u003c/value\u003e\n      \u003cvalue\u003e/usr/share/OVMF/OVMF_CODE_4M.fd\u003c/value\u003e\n      \u003cenum name\u003d\u0027type\u0027\u003e\n        \u003cvalue\u003erom\u003c/value\u003e\n        \u003cvalue\u003epflash\u003c/value\u003e\n      \u003c/enum\u003e\n      \u003cenum name\u003d\u0027readonly\u0027\u003e\n        \u003cvalue\u003eyes\u003c/value\u003e\n        \u003cvalue\u003eno\u003c/value\u003e\n      \u003c/enum\u003e\n      \u003cenum name\u003d\u0027secure\u0027\u003e\n        \u003cvalue\u003eyes\u003c/value\u003e\n        \u003cvalue\u003eno\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/loader\u003e\n  \u003c/os\u003e\n  \u003ccpu\u003e\n    \u003cmode name\u003d\u0027host-passthrough\u0027 supported\u003d\u0027yes\u0027\u003e\n      \u003cenum name\u003d\u0027hostPassthroughMigratable\u0027\u003e\n        \u003cvalue\u003eon\u003c/value\u003e\n        \u003cvalue\u003eoff\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/mode\u003e\n    \u003cmode name\u003d\u0027maximum\u0027 supported\u003d\u0027yes\u0027\u003e\n      \u003cenum name\u003d\u0027maximumMigratable\u0027\u003e\n        \u003cvalue\u003eon\u003c/value\u003e\n        \u003cvalue\u003eoff\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/mode\u003e\n    \u003cmode name\u003d\u0027host-model\u0027 supported\u003d\u0027yes\u0027\u003e\n      \u003cmodel fallback\u003d\u0027forbid\u0027\u003eIvyBridge-IBRS\u003c/model\u003e\n      \u003cvendor\u003eIntel\u003c/vendor\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027ss\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027vmx\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027pdcm\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027pcid\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027hypervisor\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027arat\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027tsc_adjust\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027umip\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027md-clear\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027stibp\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027arch-capabilities\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027ssbd\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027xsaveopt\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027pdpe1gb\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027invtsc\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027ibpb\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027ibrs\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027amd-stibp\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027amd-ssbd\u0027/\u003e\n      \u003cfeature policy\u003d\u0027require\u0027 name\u003d\u0027pschange-mc-no\u0027/\u003e\n    \u003c/mode\u003e\n    \u003cmode name\u003d\u0027custom\u0027 supported\u003d\u0027yes\u0027\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eqemu64\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eqemu32\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003ephenom\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003epentium3\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003epentium2\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003epentium\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003en270\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003ekvm64\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003ekvm32\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003ecoreduo\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003ecore2duo\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eathlon\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eWestmere-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eWestmere\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eSnowridge\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eSkylake-Server-noTSX-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eSkylake-Server-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eSkylake-Server\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eSkylake-Client-noTSX-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eSkylake-Client-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eSkylake-Client\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eSandyBridge-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eSandyBridge\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003ePenryn\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eOpteron_G5\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eOpteron_G4\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eOpteron_G3\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eOpteron_G2\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eOpteron_G1\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eNehalem-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eNehalem\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eIvyBridge-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eIvyBridge\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eIcelake-Server-noTSX\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eIcelake-Server\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027 deprecated\u003d\u0027yes\u0027\u003eIcelake-Client-noTSX\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027 deprecated\u003d\u0027yes\u0027\u003eIcelake-Client\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eHaswell-noTSX-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eHaswell-noTSX\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eHaswell-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eHaswell\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eEPYC-Rome\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eEPYC-Milan\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eEPYC-IBPB\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eEPYC\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eDhyana\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eCooperlake\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003eConroe\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eCascadelake-Server-noTSX\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eCascadelake-Server\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eBroadwell-noTSX-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eBroadwell-noTSX\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eBroadwell-IBRS\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027no\u0027\u003eBroadwell\u003c/model\u003e\n      \u003cmodel usable\u003d\u0027yes\u0027\u003e486\u003c/model\u003e\n    \u003c/mode\u003e\n  \u003c/cpu\u003e\n  \u003cmemoryBacking supported\u003d\u0027yes\u0027\u003e\n    \u003cenum name\u003d\u0027sourceType\u0027\u003e\n      \u003cvalue\u003efile\u003c/value\u003e\n      \u003cvalue\u003eanonymous\u003c/value\u003e\n      \u003cvalue\u003ememfd\u003c/value\u003e\n    \u003c/enum\u003e\n  \u003c/memoryBacking\u003e\n  \u003cdevices\u003e\n    \u003cdisk supported\u003d\u0027yes\u0027\u003e\n      \u003cenum name\u003d\u0027diskDevice\u0027\u003e\n        \u003cvalue\u003edisk\u003c/value\u003e\n        \u003cvalue\u003ecdrom\u003c/value\u003e\n        \u003cvalue\u003efloppy\u003c/value\u003e\n        \u003cvalue\u003elun\u003c/value\u003e\n      \u003c/enum\u003e\n      \u003cenum name\u003d\u0027bus\u0027\u003e\n        \u003cvalue\u003efdc\u003c/value\u003e\n        \u003cvalue\u003escsi\u003c/value\u003e\n        \u003cvalue\u003evirtio\u003c/value\u003e\n        \u003cvalue\u003eusb\u003c/value\u003e\n        \u003cvalue\u003esata\u003c/value\u003e\n      \u003c/enum\u003e\n      \u003cenum name\u003d\u0027model\u0027\u003e\n        \u003cvalue\u003evirtio\u003c/value\u003e\n        \u003cvalue\u003evirtio-transitional\u003c/value\u003e\n        \u003cvalue\u003evirtio-non-transitional\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/disk\u003e\n    \u003cgraphics supported\u003d\u0027yes\u0027\u003e\n      \u003cenum name\u003d\u0027type\u0027\u003e\n        \u003cvalue\u003esdl\u003c/value\u003e\n        \u003cvalue\u003evnc\u003c/value\u003e\n        \u003cvalue\u003espice\u003c/value\u003e\n        \u003cvalue\u003eegl-headless\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/graphics\u003e\n    \u003cvideo supported\u003d\u0027yes\u0027\u003e\n      \u003cenum name\u003d\u0027modelType\u0027\u003e\n        \u003cvalue\u003evga\u003c/value\u003e\n        \u003cvalue\u003ecirrus\u003c/value\u003e\n        \u003cvalue\u003evmvga\u003c/value\u003e\n        \u003cvalue\u003eqxl\u003c/value\u003e\n        \u003cvalue\u003evirtio\u003c/value\u003e\n        \u003cvalue\u003enone\u003c/value\u003e\n        \u003cvalue\u003ebochs\u003c/value\u003e\n        \u003cvalue\u003eramfb\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/video\u003e\n    \u003chostdev supported\u003d\u0027yes\u0027\u003e\n      \u003cenum name\u003d\u0027mode\u0027\u003e\n        \u003cvalue\u003esubsystem\u003c/value\u003e\n      \u003c/enum\u003e\n      \u003cenum name\u003d\u0027startupPolicy\u0027\u003e\n        \u003cvalue\u003edefault\u003c/value\u003e\n        \u003cvalue\u003emandatory\u003c/value\u003e\n        \u003cvalue\u003erequisite\u003c/value\u003e\n        \u003cvalue\u003eoptional\u003c/value\u003e\n      \u003c/enum\u003e\n      \u003cenum name\u003d\u0027subsysType\u0027\u003e\n        \u003cvalue\u003eusb\u003c/value\u003e\n        \u003cvalue\u003epci\u003c/value\u003e\n        \u003cvalue\u003escsi\u003c/value\u003e\n      \u003c/enum\u003e\n      \u003cenum name\u003d\u0027capsType\u0027/\u003e\n      \u003cenum name\u003d\u0027pciBackend\u0027\u003e\n        \u003cvalue\u003edefault\u003c/value\u003e\n        \u003cvalue\u003evfio\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/hostdev\u003e\n    \u003crng supported\u003d\u0027yes\u0027\u003e\n      \u003cenum name\u003d\u0027model\u0027\u003e\n        \u003cvalue\u003evirtio\u003c/value\u003e\n        \u003cvalue\u003evirtio-transitional\u003c/value\u003e\n        \u003cvalue\u003evirtio-non-transitional\u003c/value\u003e\n      \u003c/enum\u003e\n      \u003cenum name\u003d\u0027backendModel\u0027\u003e\n        \u003cvalue\u003erandom\u003c/value\u003e\n        \u003cvalue\u003eegd\u003c/value\u003e\n        \u003cvalue\u003ebuiltin\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/rng\u003e\n    \u003cfilesystem supported\u003d\u0027yes\u0027\u003e\n      \u003cenum name\u003d\u0027driverType\u0027\u003e\n        \u003cvalue\u003epath\u003c/value\u003e\n        \u003cvalue\u003ehandle\u003c/value\u003e\n        \u003cvalue\u003evirtiofs\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/filesystem\u003e\n    \u003ctpm supported\u003d\u0027yes\u0027\u003e\n      \u003cenum name\u003d\u0027model\u0027\u003e\n        \u003cvalue\u003etpm-tis\u003c/value\u003e\n        \u003cvalue\u003etpm-crb\u003c/value\u003e\n      \u003c/enum\u003e\n      \u003cenum name\u003d\u0027backendModel\u0027\u003e\n        \u003cvalue\u003epassthrough\u003c/value\u003e\n      \u003c/enum\u003e\n    \u003c/tpm\u003e\n  \u003c/devices\u003e\n  \u003cfeatures\u003e\n    \u003cgic supported\u003d\u0027no\u0027/\u003e\n    \u003cvmcoreinfo supported\u003d\u0027yes\u0027/\u003e\n    \u003cgenid supported\u003d\u0027yes\u0027/\u003e\n    \u003cbackingStoreInput supported\u003d\u0027yes\u0027/\u003e\n    \u003cbackup supported\u003d\u0027yes\u0027/\u003e\n    \u003csev supported\u003d\u0027no\u0027/\u003e\n  \u003c/features\u003e\n\u003c/domainCapabilities\u003e","commit_id":"807761f573c0de2c93de604495405b85c3904055"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"cb4ce43aef1d0ddabc01977fc1d46687e55b104a","unresolved":true,"context_lines":[{"line_number":2066,"context_line":"                    \"internal error: Unknown CPU model %s\" % model_node.text,"},{"line_number":2067,"context_line":"                    error_code \u003d VIR_ERR_INTERNAL_ERROR,"},{"line_number":2068,"context_line":"                    error_domain\u003dVIR_FROM_QEMU)"},{"line_number":2069,"context_line":"            if model_node.text !\u003d self.host_info.cpu_model:"},{"line_number":2070,"context_line":"                return VIR_CPU_COMPARE_INCOMPATIBLE"},{"line_number":2071,"context_line":""},{"line_number":2072,"context_line":"        return VIR_CPU_COMPARE_IDENTICAL"},{"line_number":2073,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"42fa1c85_89b01581","line":2070,"range":{"start_line":2069,"start_character":12,"end_line":2070,"end_character":51},"in_reply_to":"404bf4fe_d252476c","updated":"2023-01-12 13:32:01.000000000","message":"As discussed on upstream IRC, instead of aliasing (which won\u0027t work), we can call compareCPU() from the fixture of compareHypervisorCPU().","commit_id":"807761f573c0de2c93de604495405b85c3904055"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"69525c6b619477ee27a1105c5c9e0b799840018c","unresolved":true,"context_lines":[{"line_number":2066,"context_line":"                    \"internal error: Unknown CPU model %s\" % model_node.text,"},{"line_number":2067,"context_line":"                    error_code \u003d VIR_ERR_INTERNAL_ERROR,"},{"line_number":2068,"context_line":"                    error_domain\u003dVIR_FROM_QEMU)"},{"line_number":2069,"context_line":"            if model_node.text !\u003d self.host_info.cpu_model:"},{"line_number":2070,"context_line":"                return VIR_CPU_COMPARE_INCOMPATIBLE"},{"line_number":2071,"context_line":""},{"line_number":2072,"context_line":"        return VIR_CPU_COMPARE_IDENTICAL"},{"line_number":2073,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"404bf4fe_d252476c","line":2070,"range":{"start_line":2069,"start_character":12,"end_line":2070,"end_character":51},"in_reply_to":"715d87e1_39fd73e1","updated":"2023-01-12 13:28:30.000000000","message":"We can actually also keep in the vendor check too.  We can actually keep the fixtures identical, and \"alias\" \u0027em as you suggested.  As we don\u0027t want to implement (I\u0027m not an expert on it either) all the internal details of what libvirt is doing here.","commit_id":"807761f573c0de2c93de604495405b85c3904055"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"0907f711bffc49163747d188954c471f3daf18e5","unresolved":true,"context_lines":[{"line_number":2066,"context_line":"                    \"internal error: Unknown CPU model %s\" % model_node.text,"},{"line_number":2067,"context_line":"                    error_code \u003d VIR_ERR_INTERNAL_ERROR,"},{"line_number":2068,"context_line":"                    error_domain\u003dVIR_FROM_QEMU)"},{"line_number":2069,"context_line":"            if model_node.text !\u003d self.host_info.cpu_model:"},{"line_number":2070,"context_line":"                return VIR_CPU_COMPARE_INCOMPATIBLE"},{"line_number":2071,"context_line":""},{"line_number":2072,"context_line":"        return VIR_CPU_COMPARE_IDENTICAL"},{"line_number":2073,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"715d87e1_39fd73e1","line":2070,"range":{"start_line":2069,"start_character":12,"end_line":2070,"end_character":51},"in_reply_to":"bf770ef8_74e0f290","updated":"2023-01-12 13:20:42.000000000","message":"perhaps removing vendor is sufficent here in the fixture but presumable the real libvirt function is taking into account these other factors","commit_id":"807761f573c0de2c93de604495405b85c3904055"}],"nova/tests/unit/virt/libvirt/test_driver.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f5fb3fa9e843229d47a74c9386c6dee0c2658838","unresolved":true,"context_lines":[{"line_number":1320,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1321,"context_line":"        self.assertRaises(exception.Invalid, drvr.init_host, \"dummyhost\")"},{"line_number":1322,"context_line":""},{"line_number":1323,"context_line":"    @mock.patch("},{"line_number":1324,"context_line":"            \u0027nova.virt.libvirt.host.libvirt.Connection.compareHypervisorCPU\u0027)"},{"line_number":1325,"context_line":"    def test__check_cpu_compatibility_advance_model(self, mocked_compare):"},{"line_number":1326,"context_line":"        mocked_compare.side_effect \u003d (2, 0)"},{"line_number":1327,"context_line":"        self.flags(cpu_mode\u003d\"custom\","},{"line_number":1328,"context_line":"                   cpu_models\u003d[\"qemu64\", \"Broadwell-noTSX\"],"}],"source_content_type":"text/x-python","patch_set":3,"id":"bb785c9c_0f9c4a64","line":1325,"range":{"start_line":1323,"start_character":0,"end_line":1325,"end_character":74},"updated":"2023-01-12 16:43:43.000000000","message":"nit: a single level of indent is enough:\n\n    @mock.patch(\n        \u0027nova.virt.libvirt.host.libvirt.Connection.compareHypervisorCPU\u0027)\n    def test__check_cpu_compatibility_advance_model(self, mocked_compare):","commit_id":"9277ff8fe7dff326ced9bb109a1390f329001057"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"9ac8068f4b88d1fa92c6865ee1a28a78880fa237","unresolved":false,"context_lines":[{"line_number":1320,"context_line":"        drvr \u003d libvirt_driver.LibvirtDriver(fake.FakeVirtAPI(), True)"},{"line_number":1321,"context_line":"        self.assertRaises(exception.Invalid, drvr.init_host, \"dummyhost\")"},{"line_number":1322,"context_line":""},{"line_number":1323,"context_line":"    @mock.patch("},{"line_number":1324,"context_line":"            \u0027nova.virt.libvirt.host.libvirt.Connection.compareHypervisorCPU\u0027)"},{"line_number":1325,"context_line":"    def test__check_cpu_compatibility_advance_model(self, mocked_compare):"},{"line_number":1326,"context_line":"        mocked_compare.side_effect \u003d (2, 0)"},{"line_number":1327,"context_line":"        self.flags(cpu_mode\u003d\"custom\","},{"line_number":1328,"context_line":"                   cpu_models\u003d[\"qemu64\", \"Broadwell-noTSX\"],"}],"source_content_type":"text/x-python","patch_set":3,"id":"63abc241_ec7ec815","line":1325,"range":{"start_line":1323,"start_character":0,"end_line":1325,"end_character":74},"in_reply_to":"bb785c9c_0f9c4a64","updated":"2023-01-12 16:51:03.000000000","message":"Yep, fixed this and the other 3 occurrences.","commit_id":"9277ff8fe7dff326ced9bb109a1390f329001057"}],"nova/virt/libvirt/host.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"71aecfacb346ed1b1f914f7d3011522bc32fb963","unresolved":true,"context_lines":[{"line_number":1618,"context_line":"        arch \u003d None"},{"line_number":1619,"context_line":"        machine \u003d None"},{"line_number":1620,"context_line":"        virttype \u003d None"},{"line_number":1621,"context_line":"        return self.get_connection().compareHypervisorCPU(emulator,"},{"line_number":1622,"context_line":"                                                          arch,"},{"line_number":1623,"context_line":"                                                          machine,"},{"line_number":1624,"context_line":"                                                          virttype,"},{"line_number":1625,"context_line":"                                                          xmlDesc,"},{"line_number":1626,"context_line":"                                                          flags)"},{"line_number":1627,"context_line":""},{"line_number":1628,"context_line":"    def is_cpu_control_policy_capable(self):"},{"line_number":1629,"context_line":"        \"\"\"Returns whether kernel configuration CGROUP_SCHED is enabled"}],"source_content_type":"text/x-python","patch_set":1,"id":"cacfde1a_cc2962c2","line":1626,"range":{"start_line":1621,"start_character":0,"end_line":1626,"end_character":64},"updated":"2023-01-12 12:42:42.000000000","message":"I would wrap this like: \n\n        return self.get_connection().compareHypervisorCPU(\n            emulator, arch, machine, virttype, xmlDesc,flags)","commit_id":"807761f573c0de2c93de604495405b85c3904055"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"f292f00bd50dc848fd219b95466d8d815dca41ec","unresolved":false,"context_lines":[{"line_number":1618,"context_line":"        arch \u003d None"},{"line_number":1619,"context_line":"        machine \u003d None"},{"line_number":1620,"context_line":"        virttype \u003d None"},{"line_number":1621,"context_line":"        return self.get_connection().compareHypervisorCPU(emulator,"},{"line_number":1622,"context_line":"                                                          arch,"},{"line_number":1623,"context_line":"                                                          machine,"},{"line_number":1624,"context_line":"                                                          virttype,"},{"line_number":1625,"context_line":"                                                          xmlDesc,"},{"line_number":1626,"context_line":"                                                          flags)"},{"line_number":1627,"context_line":""},{"line_number":1628,"context_line":"    def is_cpu_control_policy_capable(self):"},{"line_number":1629,"context_line":"        \"\"\"Returns whether kernel configuration CGROUP_SCHED is enabled"}],"source_content_type":"text/x-python","patch_set":1,"id":"a428f5ce_39b23281","line":1626,"range":{"start_line":1621,"start_character":0,"end_line":1626,"end_character":64},"in_reply_to":"cacfde1a_cc2962c2","updated":"2023-01-17 14:21:43.000000000","message":"Fixed in v4.","commit_id":"807761f573c0de2c93de604495405b85c3904055"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f5fb3fa9e843229d47a74c9386c6dee0c2658838","unresolved":true,"context_lines":[{"line_number":1618,"context_line":"        arch \u003d None"},{"line_number":1619,"context_line":"        machine \u003d None"},{"line_number":1620,"context_line":"        virttype \u003d None"},{"line_number":1621,"context_line":"        return self.get_connection().compareHypervisorCPU("},{"line_number":1622,"context_line":"                emulator, arch, machine, virttype, xmlDesc, flags)"},{"line_number":1623,"context_line":""},{"line_number":1624,"context_line":"    def is_cpu_control_policy_capable(self):"},{"line_number":1625,"context_line":"        \"\"\"Returns whether kernel configuration CGROUP_SCHED is enabled"}],"source_content_type":"text/x-python","patch_set":3,"id":"a61556d6_117da3aa","line":1622,"range":{"start_line":1621,"start_character":0,"end_line":1622,"end_character":66},"updated":"2023-01-12 16:43:43.000000000","message":"nit: single indent is enough:\n\n        return self.get_connection().compareHypervisorCPU(\n            emulator, arch, machine, virttype, xmlDesc, flags)","commit_id":"9277ff8fe7dff326ced9bb109a1390f329001057"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"9ac8068f4b88d1fa92c6865ee1a28a78880fa237","unresolved":false,"context_lines":[{"line_number":1618,"context_line":"        arch \u003d None"},{"line_number":1619,"context_line":"        machine \u003d None"},{"line_number":1620,"context_line":"        virttype \u003d None"},{"line_number":1621,"context_line":"        return self.get_connection().compareHypervisorCPU("},{"line_number":1622,"context_line":"                emulator, arch, machine, virttype, xmlDesc, flags)"},{"line_number":1623,"context_line":""},{"line_number":1624,"context_line":"    def is_cpu_control_policy_capable(self):"},{"line_number":1625,"context_line":"        \"\"\"Returns whether kernel configuration CGROUP_SCHED is enabled"}],"source_content_type":"text/x-python","patch_set":3,"id":"c2635c52_8c5c72b1","line":1622,"range":{"start_line":1621,"start_character":0,"end_line":1622,"end_character":66},"in_reply_to":"a61556d6_117da3aa","updated":"2023-01-12 16:51:03.000000000","message":"Yep, fixed in next iteration.","commit_id":"9277ff8fe7dff326ced9bb109a1390f329001057"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"749a55d856edec112012d0a99e7e7036f616fc45","unresolved":true,"context_lines":[{"line_number":1612,"context_line":"        host CPU without considering the abilities of the host"},{"line_number":1613,"context_line":"        hypervisor. Except @xmlDesc, rest of all the parameters to"},{"line_number":1614,"context_line":"        compareHypervisorCPU API are optional (libvirt will choose"},{"line_number":1615,"context_line":"        sensible defaults)."},{"line_number":1616,"context_line":"        \"\"\""},{"line_number":1617,"context_line":"        emulator \u003d None"},{"line_number":1618,"context_line":"        arch \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"0a8f975d_8d3a6d75","line":1615,"updated":"2023-01-18 06:21:57.000000000","message":"we might want to pass these explictly eventurally but this is proably ok for now.","commit_id":"85978679ed3eda76a7ca2e4748f1b287361bb241"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"821bde656f1ff1a05a6d2bc9388c810eb6884aa5","unresolved":true,"context_lines":[{"line_number":1612,"context_line":"        host CPU without considering the abilities of the host"},{"line_number":1613,"context_line":"        hypervisor. Except @xmlDesc, rest of all the parameters to"},{"line_number":1614,"context_line":"        compareHypervisorCPU API are optional (libvirt will choose"},{"line_number":1615,"context_line":"        sensible defaults)."},{"line_number":1616,"context_line":"        \"\"\""},{"line_number":1617,"context_line":"        emulator \u003d None"},{"line_number":1618,"context_line":"        arch \u003d None"}],"source_content_type":"text/x-python","patch_set":4,"id":"71c55837_b59cdd58","line":1615,"in_reply_to":"0a8f975d_8d3a6d75","updated":"2023-01-24 11:52:55.000000000","message":"Yep and actually like that this looks a bit wired. I would have not defined all of this variables as None for nothing.\n\nIf there are all optional and we don\u0027t use them, we sjould just not using them.\n\n`compareHypervisorCPU(xmldDesc\u003dxmlDesc, flags\u003dflags)`","commit_id":"85978679ed3eda76a7ca2e4748f1b287361bb241"}]}
