)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"786b1c94706d7ba5464c10fcb5f7b5183d4259d8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a418ac38_f9405be1","updated":"2026-07-27 12:16:31.000000000","message":"LGTM","commit_id":"6a4e73025d1235753e8f03d5264c4b37212f57c9"},{"author":{"_account_id":38744,"name":"Anton Iacobaeus","display_name":"antia","email":"anton.iacobaeus@canarybit.eu","username":"antia","status":"Canary Bit"},"change_message_id":"d14a89189c1cc603d098e036e09de5a192dbfa5b","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ea0d3558_fff71e0a","updated":"2026-07-30 09:27:19.000000000","message":"An addition to this patch is that an attached video device conflicts with some parts of TDX firmware and prevents it from booting. Thus video_model has to be none to not attach one.","commit_id":"2da09f56fd0c023f11f0255dadeb528f1ceee792"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f8b320704df96538190a56b8b7d737b10fabc8d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"6abc51d9_01fcf304","updated":"2026-08-10 13:00:05.000000000","message":"just one question","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8bb4c211885d561aa656a209f3f4f11daca4ad35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"29fbca0b_ce075e4e","updated":"2026-08-13 13:05:08.000000000","message":"I\u0027m OK with the new stateless firmware requirement","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0777c1f7b26b5a3b5d7a137130f6b3f977fc9c3b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"91f33f5b_6712b642","updated":"2026-08-21 02:03:33.000000000","message":"lgtm, adding limitation and what console it support in doc is right approach.","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"8625bb2e0fe68bace1211aa6c7c29a792f578545","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9b49bbd7_56c4007a","updated":"2026-08-18 07:53:40.000000000","message":"recheck https://bugs.launchpad.net/nova/+bug/2163552\nDetails: (ServerActionsTestOtherB:test_shelve_unshelve_server) Server 1068a82d-0bb5-4fbe-9986-235c05404d23 failed to reach ACTIVE status and task state \"None\" within the required time (196 s). Request ID of server operation performed before checking the server status req-2f0c0ec6-bcd6-467c-9b10-cf0cff1cebda. Current status: SHELVED_OFFLOADED. Current task state: spawning.","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"31b006a8354fa6c246af03e263b1b92319a8cfa9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"25251bd4_00b1e19f","updated":"2026-08-24 11:33:39.000000000","message":"it is also hit https://bugs.launchpad.net/nova/+bug/2164893","commit_id":"adf057cafa94a6a3d710b10c030190613304af18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"179e83be4662a75f2ad6d6199a331ccffb1c142f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"94e32cec_1b9e1e3f","updated":"2026-08-24 11:28:19.000000000","message":"recheck https://bugs.launchpad.net/nova/+bug/2160254","commit_id":"adf057cafa94a6a3d710b10c030190613304af18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f394c8cf0cdedc3c3c4ff8f585895ba95cd8b159","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"09d6968a_59abd4f7","updated":"2026-08-24 15:03:19.000000000","message":"recheck https://bugs.launchpad.net/nova/+bug/2164914","commit_id":"adf057cafa94a6a3d710b10c030190613304af18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"bd2f71d8c614d54930cbb5eb8c19277c2c75c396","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"2a9b0ab5_f6266e7e","updated":"2026-08-25 08:14:42.000000000","message":"recheck requeue","commit_id":"adf057cafa94a6a3d710b10c030190613304af18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"cdd44151d16cd8a8847693e4e0b95c2678c7dabf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b95bc514_921574a7","updated":"2026-08-26 08:19:19.000000000","message":"recheck requeue","commit_id":"adf057cafa94a6a3d710b10c030190613304af18"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ea73334875ea39e11596659195caf881ebdb5701","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"0847f27d_13655f8a","updated":"2026-08-22 09:24:15.000000000","message":"recheck tox cover instability\n\n```\nnova.tests.functional.api.client.OpenStackApiException: Unexpected status code: {\"conflictingRequest\": {\"code\": 409, \"message\": \"Service is unavailable at this time.\"}}\n```","commit_id":"adf057cafa94a6a3d710b10c030190613304af18"}],"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"020faed810bd921bea4c6eccc3c9e0f1488c22fd","unresolved":false,"context_lines":[{"line_number":89,"context_line":"    exception.RequiredMixedOrRealtimeCPUMask,"},{"line_number":90,"context_line":"    exception.StatelessFirmwareRequired,"},{"line_number":91,"context_line":"    exception.InvalidMixedInstanceDedicatedMask,"},{"line_number":92,"context_line":"    exception.InvalidVideoMode,"},{"line_number":93,"context_line":")"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"670d8d89_aa584071","line":92,"updated":"2026-08-07 12:52:42.000000000","message":"thanks!","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"}],"nova/virt/hardware.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"cd1dea38d6c8a57b3b424a7dc86fe509ed36b7ef","unresolved":true,"context_lines":[{"line_number":257,"context_line":"                          machine_type: str | None,"},{"line_number":258,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":259,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":260,"context_line":"        self._check_stateless_firmware(image_meta)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"def get_vcpu_pin_set():"}],"source_content_type":"text/x-python","patch_set":2,"id":"d3253756_152caf0c","line":260,"range":{"start_line":260,"start_character":13,"end_line":260,"end_character":38},"updated":"2026-08-03 16:22:39.000000000","message":"See my comment in https://review.opendev.org/c/openstack/nova/+/998466/comments/4c7175e9_3374b191 .","commit_id":"6a4e73025d1235753e8f03d5264c4b37212f57c9"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4a0823a26b8197efbc7d7b071f2a4050639906ed","unresolved":false,"context_lines":[{"line_number":258,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":259,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":260,"context_line":"        self._check_stateless_firmware(image_meta)"},{"line_number":261,"context_line":""},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"def get_vcpu_pin_set():"},{"line_number":264,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":2,"id":"32958b9b_e925a87e","line":261,"updated":"2026-07-24 16:49:44.000000000","message":"nice and simple :)","commit_id":"6a4e73025d1235753e8f03d5264c4b37212f57c9"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f8b320704df96538190a56b8b7d737b10fabc8d6","unresolved":true,"context_lines":[{"line_number":264,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"def get_vcpu_pin_set():"},{"line_number":270,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":4,"id":"fc9a942b_795fdc70","line":267,"updated":"2026-08-10 13:00:05.000000000","message":"in the spec, you said we should also look at SCSI usage https://review.opendev.org/c/openstack/nova-specs/+/979608/7/specs/2026.2/approved/intel-tdx-libvirt-support.rst#208\n\nDo you check this after this change ?","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e38269427eb573e4071c5afb7207d615db98a8d7","unresolved":true,"context_lines":[{"line_number":264,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"def get_vcpu_pin_set():"},{"line_number":270,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":4,"id":"27c919d1_a0c3015d","line":267,"in_reply_to":"0d7aee9e_ea00a8a1","updated":"2026-08-19 08:42:14.000000000","message":"I have access and I will check but if this is firmware dependent then my testing will not be conclusive. I would still go with documenting such limitation for now. \n\nI will report back with the test results....","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"be8e0becad965c8df03a94744987a4e787f28cb0","unresolved":true,"context_lines":[{"line_number":264,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"def get_vcpu_pin_set():"},{"line_number":270,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":4,"id":"bd93040f_6488beb3","line":267,"in_reply_to":"226a1238_b35e0fef","updated":"2026-08-18 20:50:08.000000000","message":"gibi do you have access to the host to check it? \nif so can you try booting with hw_disk_bus\u003dscsi and hw_scsi_model\u003dvirtio-scsi\n\nto confirm if it works","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7d776d6eca65396ae618c8c9ac3f59fe4f10f2be","unresolved":true,"context_lines":[{"line_number":264,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"def get_vcpu_pin_set():"},{"line_number":270,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":4,"id":"f4215ff7_9381f536","line":267,"in_reply_to":"27c919d1_a0c3015d","updated":"2026-08-19 09:43:05.000000000","message":"11:40 \u003c gibi\u003e so about scsi. On my machine the VM is created successfully but cannot boot. It stops at \n              the EFI setup not seeing a boot device\n\nLet\u0027s keep this documented.","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"45b71ae040196225e21289eaf0370e36e0478bc7","unresolved":true,"context_lines":[{"line_number":264,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"def get_vcpu_pin_set():"},{"line_number":270,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":4,"id":"226a1238_b35e0fef","line":267,"in_reply_to":"525bca6c_1d5300ac","updated":"2026-08-10 13:33:40.000000000","message":"ahah OK, had no time yet to look at the doc patch, see that as \"enforced by docs\".\n\nGood to know for a starter, even more if apparently some level of support is still available depending on the firmware (which is a bit fuzzy but ok)","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":38744,"name":"Anton Iacobaeus","display_name":"antia","email":"anton.iacobaeus@canarybit.eu","username":"antia","status":"Canary Bit"},"change_message_id":"c83972479bc3d7282c5b66200631c9738e5cd8ae","unresolved":true,"context_lines":[{"line_number":264,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"def get_vcpu_pin_set():"},{"line_number":270,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":4,"id":"0d7aee9e_ea00a8a1","line":267,"in_reply_to":"bd93040f_6488beb3","updated":"2026-08-19 08:21:50.000000000","message":"I will do some testing on this as well, but to clarify it depends on the firmware","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b2ed518f416c8d340662aa9d190042b9f4ef1912","unresolved":true,"context_lines":[{"line_number":264,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"def get_vcpu_pin_set():"},{"line_number":270,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":4,"id":"525bca6c_1d5300ac","line":267,"in_reply_to":"c361a66e_5385b652","updated":"2026-08-10 13:30:14.000000000","message":"In this case I would be OK to just state in the doc that SCSI support depend on the firmware provided by the host. Nova does not need to guess anything.","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ffa06687afec293ff2b83b8a2100948ee8d233a1","unresolved":true,"context_lines":[{"line_number":264,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"def get_vcpu_pin_set():"},{"line_number":270,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":4,"id":"55a0525c_f2954b15","line":267,"in_reply_to":"f4215ff7_9381f536","updated":"2026-08-24 12:56:19.000000000","message":"agree let keep the docuemntion and if this chagnes in the fure its easy to update.\ni susepct this will change when tdx is more mature and the firmware is updated","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":38744,"name":"Anton Iacobaeus","display_name":"antia","email":"anton.iacobaeus@canarybit.eu","username":"antia","status":"Canary Bit"},"change_message_id":"dd9248e77d4fa4821680117142a6ec5cb13c8299","unresolved":true,"context_lines":[{"line_number":264,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":265,"context_line":"            )"},{"line_number":266,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"def get_vcpu_pin_set():"},{"line_number":270,"context_line":"    \"\"\"Parse ``vcpu_pin_set`` config."}],"source_content_type":"text/x-python","patch_set":4,"id":"c361a66e_5385b652","line":267,"in_reply_to":"fc9a942b_795fdc70","updated":"2026-08-10 13:21:56.000000000","message":"No, the SCSI usage is currently not checked, but it is noted as a potential limitation in the documentation. During writing of the spec I was under the impression that all TDX firmware has this limitation, but that is not the case. TDX firmware could very well include support for it, but the most commonly distributed versions do not, as they aim to be as small as possible for security reasons. Therefore, it technically is not a hard blocker for TDX.\n\nMaybe a warning when using TDX + a scsi boot drive could be useful as well?","commit_id":"1a2509941152c3bae57bd95ae1a893fc7204356d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"be8e0becad965c8df03a94744987a4e787f28cb0","unresolved":true,"context_lines":[{"line_number":273,"context_line":"                          machine_type: str | None,"},{"line_number":274,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":275,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if image_meta.properties.get("},{"line_number":278,"context_line":"                \u0027hw_video_model\u0027) !\u003d fields.VideoModel.NONE:"},{"line_number":279,"context_line":"            emsg \u003d _("},{"line_number":280,"context_line":"                \"The %s memory encryption model is incompatible with an \""},{"line_number":281,"context_line":"                \"attached video device. Set the \u0027hw_video_model\u0027 image \""},{"line_number":282,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":283,"context_line":"            )"},{"line_number":284,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"def get_vcpu_pin_set():"}],"source_content_type":"text/x-python","patch_set":5,"id":"70f401cc_7b26e748","line":284,"range":{"start_line":276,"start_character":1,"end_line":284,"end_character":63},"updated":"2026-08-18 20:50:08.000000000","message":"so our default video mode is virtio so we will need to docuemtn that you have ot set it to hw_video_model\u003dNone explicitly\n\nalso have you check if virtio serial works for the serial cosole\n\nif you have hw_video_model\u003dnone then the vnc/spice consoles wont work and serial is your only other option","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"e38269427eb573e4071c5afb7207d615db98a8d7","unresolved":true,"context_lines":[{"line_number":273,"context_line":"                          machine_type: str | None,"},{"line_number":274,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":275,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if image_meta.properties.get("},{"line_number":278,"context_line":"                \u0027hw_video_model\u0027) !\u003d fields.VideoModel.NONE:"},{"line_number":279,"context_line":"            emsg \u003d _("},{"line_number":280,"context_line":"                \"The %s memory encryption model is incompatible with an \""},{"line_number":281,"context_line":"                \"attached video device. Set the \u0027hw_video_model\u0027 image \""},{"line_number":282,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":283,"context_line":"            )"},{"line_number":284,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"def get_vcpu_pin_set():"}],"source_content_type":"text/x-python","patch_set":5,"id":"bebd98de_13ed44cf","line":284,"range":{"start_line":276,"start_character":1,"end_line":284,"end_character":63},"in_reply_to":"38a3b08c_715971ff","updated":"2026-08-19 08:42:14.000000000","message":"I confirm that serial access works. I used it to log into my test VMs and see that the guest sees the TDX feature enabled and triggered some attestation.","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f6692e35c9ad2f9555bff3938874e158c84c5d91","unresolved":true,"context_lines":[{"line_number":273,"context_line":"                          machine_type: str | None,"},{"line_number":274,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":275,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if image_meta.properties.get("},{"line_number":278,"context_line":"                \u0027hw_video_model\u0027) !\u003d fields.VideoModel.NONE:"},{"line_number":279,"context_line":"            emsg \u003d _("},{"line_number":280,"context_line":"                \"The %s memory encryption model is incompatible with an \""},{"line_number":281,"context_line":"                \"attached video device. Set the \u0027hw_video_model\u0027 image \""},{"line_number":282,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":283,"context_line":"            )"},{"line_number":284,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"def get_vcpu_pin_set():"}],"source_content_type":"text/x-python","patch_set":5,"id":"aa1fa4bc_c6926966","line":284,"range":{"start_line":276,"start_character":1,"end_line":284,"end_character":63},"in_reply_to":"4d1967b5_3bff891e","updated":"2026-08-21 19:29:02.000000000","message":"i see, thanks for correction. I thought it was direct memory access for display. got it now.","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":38744,"name":"Anton Iacobaeus","display_name":"antia","email":"anton.iacobaeus@canarybit.eu","username":"antia","status":"Canary Bit"},"change_message_id":"c83972479bc3d7282c5b66200631c9738e5cd8ae","unresolved":true,"context_lines":[{"line_number":273,"context_line":"                          machine_type: str | None,"},{"line_number":274,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":275,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if image_meta.properties.get("},{"line_number":278,"context_line":"                \u0027hw_video_model\u0027) !\u003d fields.VideoModel.NONE:"},{"line_number":279,"context_line":"            emsg \u003d _("},{"line_number":280,"context_line":"                \"The %s memory encryption model is incompatible with an \""},{"line_number":281,"context_line":"                \"attached video device. Set the \u0027hw_video_model\u0027 image \""},{"line_number":282,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":283,"context_line":"            )"},{"line_number":284,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"def get_vcpu_pin_set():"}],"source_content_type":"text/x-python","patch_set":5,"id":"38a3b08c_715971ff","line":284,"range":{"start_line":276,"start_character":1,"end_line":284,"end_character":63},"in_reply_to":"70f401cc_7b26e748","updated":"2026-08-19 08:21:50.000000000","message":"\u003e so our default video mode is virtio so we will need to docuemtn that you have ot set it to hw_video_model\u003dNone explicitly\n\nThis and vnc/spice interaction is documented in the docs patch.\n\nI will test to use the serial console","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"ffa06687afec293ff2b83b8a2100948ee8d233a1","unresolved":false,"context_lines":[{"line_number":273,"context_line":"                          machine_type: str | None,"},{"line_number":274,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":275,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if image_meta.properties.get("},{"line_number":278,"context_line":"                \u0027hw_video_model\u0027) !\u003d fields.VideoModel.NONE:"},{"line_number":279,"context_line":"            emsg \u003d _("},{"line_number":280,"context_line":"                \"The %s memory encryption model is incompatible with an \""},{"line_number":281,"context_line":"                \"attached video device. Set the \u0027hw_video_model\u0027 image \""},{"line_number":282,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":283,"context_line":"            )"},{"line_number":284,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"def get_vcpu_pin_set():"}],"source_content_type":"text/x-python","patch_set":5,"id":"35771ca0_cd5c7607","line":284,"range":{"start_line":276,"start_character":1,"end_line":284,"end_character":63},"in_reply_to":"71c260e9_f7fd6622","updated":"2026-08-24 12:56:19.000000000","message":"so i belive qemu allcocate the framebuffer memeory for the video device seprealy form the guest ram adn sev only encyrpts the guest ram\nhence the vnc funcitonalty can acess the framebuffer without needing access to the encyrpted ram\n\ni have no idea how this work for TDX\nits not a blocker by any means but anyone depening on nova ot provide console accecs for windows instnace will be sad, fortunetly on windows you can just enable RDP in the vm and that generally better performacne wise so its not like there are no options aviabel.  for linux TDX guest this is much less impactful.\n\nill resolve this thread for now.","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"1eb2915dfb1b515130fa3307462ca4737e339b8c","unresolved":true,"context_lines":[{"line_number":273,"context_line":"                          machine_type: str | None,"},{"line_number":274,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":275,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if image_meta.properties.get("},{"line_number":278,"context_line":"                \u0027hw_video_model\u0027) !\u003d fields.VideoModel.NONE:"},{"line_number":279,"context_line":"            emsg \u003d _("},{"line_number":280,"context_line":"                \"The %s memory encryption model is incompatible with an \""},{"line_number":281,"context_line":"                \"attached video device. Set the \u0027hw_video_model\u0027 image \""},{"line_number":282,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":283,"context_line":"            )"},{"line_number":284,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"def get_vcpu_pin_set():"}],"source_content_type":"text/x-python","patch_set":5,"id":"4d1967b5_3bff891e","line":284,"range":{"start_line":276,"start_character":1,"end_line":284,"end_character":63},"in_reply_to":"971fe6a5_38aa44e4","updated":"2026-08-21 12:35:37.000000000","message":"vnc/spice work for sev so its really just a limiation of qemu currently i dont think that it shoudl be ultimatily incopatbale with TDX in the long term\n\nvnc and spice do not rely on memory access\n\nthey instead read the output form teh video device\n\nso when qemu eventually supprot havign a video device attached it shoudl work\nso we can remove that limitation whenever qemu resovles this gap which may take a while but that is fien.","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"eac31c20a80e68795c857c7c81ea516f94417dcd","unresolved":true,"context_lines":[{"line_number":273,"context_line":"                          machine_type: str | None,"},{"line_number":274,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":275,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if image_meta.properties.get("},{"line_number":278,"context_line":"                \u0027hw_video_model\u0027) !\u003d fields.VideoModel.NONE:"},{"line_number":279,"context_line":"            emsg \u003d _("},{"line_number":280,"context_line":"                \"The %s memory encryption model is incompatible with an \""},{"line_number":281,"context_line":"                \"attached video device. Set the \u0027hw_video_model\u0027 image \""},{"line_number":282,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":283,"context_line":"            )"},{"line_number":284,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"def get_vcpu_pin_set():"}],"source_content_type":"text/x-python","patch_set":5,"id":"71c260e9_f7fd6622","line":284,"range":{"start_line":276,"start_character":1,"end_line":284,"end_character":63},"in_reply_to":"aa1fa4bc_c6926966","updated":"2026-08-21 19:30:13.000000000","message":"on side note, I was curios if other cloud provides the VNC support for TDX VM and i somewhere found that azure does not at least.","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"0777c1f7b26b5a3b5d7a137130f6b3f977fc9c3b","unresolved":true,"context_lines":[{"line_number":273,"context_line":"                          machine_type: str | None,"},{"line_number":274,"context_line":"                          requesters: list[str]) -\u003e None:"},{"line_number":275,"context_line":"        super().check_constraints(image_meta, machine_type, requesters)"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"        if image_meta.properties.get("},{"line_number":278,"context_line":"                \u0027hw_video_model\u0027) !\u003d fields.VideoModel.NONE:"},{"line_number":279,"context_line":"            emsg \u003d _("},{"line_number":280,"context_line":"                \"The %s memory encryption model is incompatible with an \""},{"line_number":281,"context_line":"                \"attached video device. Set the \u0027hw_video_model\u0027 image \""},{"line_number":282,"context_line":"                \"property to \u0027none\u0027 to disable it\""},{"line_number":283,"context_line":"            )"},{"line_number":284,"context_line":"            raise exception.InvalidVideoMode(emsg % self.model)"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"def get_vcpu_pin_set():"}],"source_content_type":"text/x-python","patch_set":5,"id":"971fe6a5_38aa44e4","line":284,"range":{"start_line":276,"start_character":1,"end_line":284,"end_character":63},"in_reply_to":"bebd98de_13ed44cf","updated":"2026-08-21 02:03:33.000000000","message":"yeah, vnc/spice unsupported for TDX is understandable as hypervisor would have access to guest memory for display but good to explicitly document that only seriel access is possible.","commit_id":"c2b149d1f870d45c797b8a1d8d1cd11c26674100"}]}
