)]}'
{"/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":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"}],"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":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":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":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"}]}
