)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"af5bf1870bca0fb5785cc81974a237390c0d2aa3","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bd1ff4fd_283cbb6b","updated":"2026-07-13 16:59:30.000000000","message":"So this is a new feature rather than small logic update.\n\nI brought this to the nova meeting today, to ask for some opinion about the process this should follow. Could you please create a blueprint with short summary about the change ? Then we can discuss whether this requires a spec or we can proceed with the specless blueprint. Note that we are late at this cycle so the blueprint may be approved for 2027.1, not 2026.2 .\n\nhttps://meetings.opendev.org/meetings/nova/2026/nova.2026-07-13-16.00.log.html#l-200","commit_id":"7ddd85128f61bcdb4aaed84d371a9889d9d6157a"},{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"052062b5b8ea00afed511298055625121e39d3ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3f68632e_67f38c77","updated":"2026-07-13 05:55:11.000000000","message":"recheck","commit_id":"7ddd85128f61bcdb4aaed84d371a9889d9d6157a"},{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"e5c325276a1141f1eb544ab66de22de9ae015e5a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"43ec4173_efb2996e","updated":"2026-07-14 14:02:55.000000000","message":"recheck","commit_id":"18327e39b6129c771bf595714acab742817e4d87"},{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"c2f0d3c912cdf0873092c9e6c0deab9cfe08d2b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"839c78e6_81448f0e","updated":"2026-07-15 00:45:24.000000000","message":"recheck","commit_id":"18327e39b6129c771bf595714acab742817e4d87"},{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"26a6db0f0e0c8363273e53080b2d6aba53d75cc8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"7ff08203_4cb58b27","updated":"2026-07-23 08:50:50.000000000","message":"recheck","commit_id":"d57a7eeaace810a59384c1bed65d8860ec57b9b1"},{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"782a0b8f12b506c18b9f8c6d10ba7e89264bde8b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4523be50_a5985bda","updated":"2026-07-23 08:50:39.000000000","message":"review","commit_id":"d57a7eeaace810a59384c1bed65d8860ec57b9b1"}],"nova/objects/image_meta.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"3a4c937ec3c48470ea0d750fe02fe07e2395d5fd","unresolved":true,"context_lines":[{"line_number":753,"context_line":"                      str(v) \u003d\u003d \u0027required\u0027]:"},{"line_number":754,"context_line":"            self._add_trait(trait)"},{"line_number":755,"context_line":""},{"line_number":756,"context_line":"    def _set_hyperv_evmcs_trait(self):"},{"line_number":757,"context_line":"        if self.get(\u0027hw_hyperv_evmcs\u0027, False):"},{"line_number":758,"context_line":"            self._add_trait(ot.HW_CPU_X86_INTEL_VMX)"},{"line_number":759,"context_line":""},{"line_number":760,"context_line":"    @classmethod"},{"line_number":761,"context_line":"    def from_dict(cls, image_props):"}],"source_content_type":"text/x-python","patch_set":2,"id":"48979d24_5a71b3ea","line":758,"range":{"start_line":756,"start_character":0,"end_line":758,"end_character":52},"updated":"2026-07-13 14:38:50.000000000","message":"Instead of adding translation from image prop to trait here, update nova/scheduler/utils.py","commit_id":"7ddd85128f61bcdb4aaed84d371a9889d9d6157a"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"8d09720c129f2b247a4515899e78e90f0b84c278","unresolved":true,"context_lines":[{"line_number":6787,"context_line":"            hv.ipi \u003d True"},{"line_number":6788,"context_line":"            # evmcs only works on Intel hosts; enabling it elsewhere prevents"},{"line_number":6789,"context_line":"            # libvirt from starting the guest. See bug 2009280."},{"line_number":6790,"context_line":"            hv.evmcs \u003d self._host_cpu_vendor_is_intel()"},{"line_number":6791,"context_line":""},{"line_number":6792,"context_line":"            # NOTE(kosamara): Spoofing the vendor_id aims to allow the nvidia"},{"line_number":6793,"context_line":"            # driver to work on windows VMs. At the moment, the nvidia driver"}],"source_content_type":"text/x-python","patch_set":1,"id":"7ced9656_a0872047","line":6790,"range":{"start_line":6790,"start_character":28,"end_line":6790,"end_character":53},"updated":"2026-07-01 03:33:51.000000000","message":"We should not enable the flag simplify because it breaks migration from a host with intel cpu to another with non-intel cpu.\nIt\u0027s probably needed to implement a new trait and also image property so that user can request evmcs and limit the scheduling target to the hosts which actually have intel cpus.","commit_id":"08ef7f3aaf12253c2460d31f275517b7d89de4a1"},{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"f657ae815952857fbc42a73ff187ff3fb4a0e85a","unresolved":true,"context_lines":[{"line_number":6787,"context_line":"            hv.ipi \u003d True"},{"line_number":6788,"context_line":"            # evmcs only works on Intel hosts; enabling it elsewhere prevents"},{"line_number":6789,"context_line":"            # libvirt from starting the guest. See bug 2009280."},{"line_number":6790,"context_line":"            hv.evmcs \u003d self._host_cpu_vendor_is_intel()"},{"line_number":6791,"context_line":""},{"line_number":6792,"context_line":"            # NOTE(kosamara): Spoofing the vendor_id aims to allow the nvidia"},{"line_number":6793,"context_line":"            # driver to work on windows VMs. At the moment, the nvidia driver"}],"source_content_type":"text/x-python","patch_set":1,"id":"ce7f91f4_8e2c9657","line":6790,"range":{"start_line":6790,"start_character":28,"end_line":6790,"end_character":53},"in_reply_to":"0b3bf321_74a586ae","updated":"2026-07-13 14:21:03.000000000","message":"I have updated the patch, please check/review on patch set 2.","commit_id":"08ef7f3aaf12253c2460d31f275517b7d89de4a1"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"75ec6fb282d294b322867da9e031419950c08d21","unresolved":true,"context_lines":[{"line_number":6787,"context_line":"            hv.ipi \u003d True"},{"line_number":6788,"context_line":"            # evmcs only works on Intel hosts; enabling it elsewhere prevents"},{"line_number":6789,"context_line":"            # libvirt from starting the guest. See bug 2009280."},{"line_number":6790,"context_line":"            hv.evmcs \u003d self._host_cpu_vendor_is_intel()"},{"line_number":6791,"context_line":""},{"line_number":6792,"context_line":"            # NOTE(kosamara): Spoofing the vendor_id aims to allow the nvidia"},{"line_number":6793,"context_line":"            # driver to work on windows VMs. At the moment, the nvidia driver"}],"source_content_type":"text/x-python","patch_set":1,"id":"0b3bf321_74a586ae","line":6790,"range":{"start_line":6790,"start_character":28,"end_line":6790,"end_character":53},"in_reply_to":"343c26c9_ffa0036d","updated":"2026-07-02 08:42:52.000000000","message":"That\u0027s true but it\u0027s not a perfect mechanism because nova-scheduler doesn\u0027t know about it and can select destination host from the compute nodes without this support.\nWe should report this capability to placement so that nova-scheduler can pick up an appropriate host, otherwise users might face the situation that they can\u0027t do live migration unless they select an appropriate target host explicitly.","commit_id":"08ef7f3aaf12253c2460d31f275517b7d89de4a1"},{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"1f1699371b924044be63f042ab5d38e79835057e","unresolved":true,"context_lines":[{"line_number":6787,"context_line":"            hv.ipi \u003d True"},{"line_number":6788,"context_line":"            # evmcs only works on Intel hosts; enabling it elsewhere prevents"},{"line_number":6789,"context_line":"            # libvirt from starting the guest. See bug 2009280."},{"line_number":6790,"context_line":"            hv.evmcs \u003d self._host_cpu_vendor_is_intel()"},{"line_number":6791,"context_line":""},{"line_number":6792,"context_line":"            # NOTE(kosamara): Spoofing the vendor_id aims to allow the nvidia"},{"line_number":6793,"context_line":"            # driver to work on windows VMs. At the moment, the nvidia driver"}],"source_content_type":"text/x-python","patch_set":1,"id":"343c26c9_ffa0036d","line":6790,"range":{"start_line":6790,"start_character":28,"end_line":6790,"end_character":53},"in_reply_to":"7ced9656_a0872047","updated":"2026-07-02 07:03:42.000000000","message":"I think Nova\u0027s libvirt driver calls compareCPU() on the destination host, which is a libvirt function that checks:\n\nCPU vendor (Intel vs. AMD)\nCPU model compatibility\nCPU feature flags\nSo when you perform a live migration, the pre check will fail.","commit_id":"08ef7f3aaf12253c2460d31f275517b7d89de4a1"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"3a4c937ec3c48470ea0d750fe02fe07e2395d5fd","unresolved":false,"context_lines":[{"line_number":6787,"context_line":"            hv.ipi \u003d True"},{"line_number":6788,"context_line":"            # evmcs only works on Intel hosts; enabling it elsewhere prevents"},{"line_number":6789,"context_line":"            # libvirt from starting the guest. See bug 2009280."},{"line_number":6790,"context_line":"            hv.evmcs \u003d self._host_cpu_vendor_is_intel()"},{"line_number":6791,"context_line":""},{"line_number":6792,"context_line":"            # NOTE(kosamara): Spoofing the vendor_id aims to allow the nvidia"},{"line_number":6793,"context_line":"            # driver to work on windows VMs. At the moment, the nvidia driver"}],"source_content_type":"text/x-python","patch_set":1,"id":"1abcac84_25513089","line":6790,"range":{"start_line":6790,"start_character":28,"end_line":6790,"end_character":53},"in_reply_to":"ce7f91f4_8e2c9657","updated":"2026-07-13 14:38:50.000000000","message":"Done","commit_id":"08ef7f3aaf12253c2460d31f275517b7d89de4a1"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"3a4c937ec3c48470ea0d750fe02fe07e2395d5fd","unresolved":true,"context_lines":[{"line_number":6789,"context_line":"            # libvirt from starting the guest. See bug 2009280."},{"line_number":6790,"context_line":"            hv.evmcs \u003d ("},{"line_number":6791,"context_line":"                image_meta.properties.get(\u0027hw_hyperv_evmcs\u0027, False) and"},{"line_number":6792,"context_line":"                self._host_cpu_vendor_is_intel())"},{"line_number":6793,"context_line":""},{"line_number":6794,"context_line":"            # NOTE(kosamara): Spoofing the vendor_id aims to allow the nvidia"},{"line_number":6795,"context_line":"            # driver to work on windows VMs. At the moment, the nvidia driver"}],"source_content_type":"text/x-python","patch_set":2,"id":"442b3f69_e183bc55","line":6792,"range":{"start_line":6792,"start_character":21,"end_line":6792,"end_character":46},"updated":"2026-07-13 14:38:50.000000000","message":"Do we still need this check ? as long as traits filter works properly we do not expect the instance reach here. If we expect the situation then we should explicitly fail.\n\nI\u0027d try using the same logic to detect evmcs support, rather than checking the cpu flag in one place while checking thevendor model in the other.","commit_id":"7ddd85128f61bcdb4aaed84d371a9889d9d6157a"},{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"c2f0d3c912cdf0873092c9e6c0deab9cfe08d2b1","unresolved":false,"context_lines":[{"line_number":6789,"context_line":"            # libvirt from starting the guest. See bug 2009280."},{"line_number":6790,"context_line":"            hv.evmcs \u003d ("},{"line_number":6791,"context_line":"                image_meta.properties.get(\u0027hw_hyperv_evmcs\u0027, False) and"},{"line_number":6792,"context_line":"                self._host_cpu_vendor_is_intel())"},{"line_number":6793,"context_line":""},{"line_number":6794,"context_line":"            # NOTE(kosamara): Spoofing the vendor_id aims to allow the nvidia"},{"line_number":6795,"context_line":"            # driver to work on windows VMs. At the moment, the nvidia driver"}],"source_content_type":"text/x-python","patch_set":2,"id":"ebcb2357_30468538","line":6792,"range":{"start_line":6792,"start_character":21,"end_line":6792,"end_character":46},"in_reply_to":"442b3f69_e183bc55","updated":"2026-07-15 00:45:24.000000000","message":"Done","commit_id":"7ddd85128f61bcdb4aaed84d371a9889d9d6157a"}]}
