)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"8e3ef7572ec22db720a0c6b5d41189a3e5d485d2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e2302926_9a6729f1","updated":"2025-11-27 04:57:44.000000000","message":"recheck","commit_id":"0c9ee914d0cbabc015c9beedb615b3d202c7d574"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ce31460c0d0b4bdb39258bf321cd64fba34454db","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"446a45f7_9897491f","updated":"2026-01-18 10:45:43.000000000","message":"Seems reasonable to me","commit_id":"5e17814f381748342f8b7461e58a307718f817c7"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"4801977b1d4c1da7c1f519e959ddd76ef38e1e03","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5df56a7d_52084913","updated":"2026-01-22 09:24:19.000000000","message":"@gibizer@gmail.com\n\nThank you for reviewing and giving +2. I noticed that [a patch for replacing objects from typing with literals](https://github.com/openstack/nova/commit/e785ab52dc77bae29e70be1b928483228af34ce9) has recently been merged.\n\nMy patch also contained parts that utilized typing.Union. So, I have updated my patch to align this patch.\n\nCould you please take another look when you have a moment?","commit_id":"df0e19b0fde1d68ab600d5b5c58ae212d821162c"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b2dfd8354a55d867097d820da6980f60b92808ca","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":9,"id":"aa7dd5bf_0666cd6a","updated":"2026-02-04 14:37:29.000000000","message":"Soft -1 to highlight that I would like to add a small log if machine type is None.\nOtherwise this patch is ok.","commit_id":"c680af1d340bfa449976e9761c9120de9ecc6595"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"7488f5bba22cafdf38a691fccb15ba3198016dcc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"82c74e3b_3e40a109","in_reply_to":"aa7dd5bf_0666cd6a","updated":"2026-02-19 15:59:19.000000000","message":"Done","commit_id":"c680af1d340bfa449976e9761c9120de9ecc6595"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"8a372b46ce115b8df48b496d173f4e8a58443d00","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"4ff2b75d_71139b70","updated":"2026-02-20 07:36:23.000000000","message":"recheck grenade-skip-level-always failed due to missing pkg resource","commit_id":"c3770bf3cae345b5d91f0ef920b27edffc00cf0a"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"4e520a1ede7bd28ffd15df4eace834a319466cd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"132fad20_48afa644","updated":"2026-03-19 18:00:35.000000000","message":"LGTM","commit_id":"5a81b7698189e90db0443d068876f5d1c91cf01a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"80e26900b153f7ef8d83c080d64c21447438e964","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"a6a53b30_126db35c","updated":"2026-04-02 16:29:32.000000000","message":"Looks good. My findings can be fixed in a follow up","commit_id":"5a81b7698189e90db0443d068876f5d1c91cf01a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"da2bf6164d45fad075385519695cf1f16bd9f3a5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"36861b25_03bf694f","updated":"2026-04-10 15:21:04.000000000","message":"just one open question but that\u0027s a nit","commit_id":"61fc49cfba3463530f58a1968678eab713db56f9"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6701bfa7bd48d1053052e5a216552e7bbd7d54fa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"992130d8_96b053b9","updated":"2026-04-16 11:19:42.000000000","message":"recheck guest ssh timeout","commit_id":"d4a4dbd6bf7f7dc15414c2c0bd86499cb608fb65"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"f1b94941c6a46c311238c865aae72dd2c2ef87cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"981faa45_6051a877","updated":"2026-04-19 21:24:08.000000000","message":"recheck volume detach test timeout","commit_id":"d4a4dbd6bf7f7dc15414c2c0bd86499cb608fb65"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"cc4c626cf78e2f179f0f69c5566341b10d22cf0d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"2ecc78da_b25d9b61","updated":"2026-04-16 11:18:38.000000000","message":"there was two +2s at some point so approving it","commit_id":"d4a4dbd6bf7f7dc15414c2c0bd86499cb608fb65"}],"nova/virt/hardware.py":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"92eaacc9a695f52ebf2c89e37de34688d413297c","unresolved":true,"context_lines":[{"line_number":1387,"context_line":"        raise exception.FlavorImageConflict(emsg % data)"},{"line_number":1388,"context_line":""},{"line_number":1389,"context_line":""},{"line_number":1390,"context_line":"def _check_mem_encryption_uses_uefi_image("},{"line_number":1391,"context_line":"        mem_enc_config: MemEncryptionConfig,"},{"line_number":1392,"context_line":"        requesters: ty.List[str],"},{"line_number":1393,"context_line":"        image_meta: \u0027objects.ImageMeta\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"132463b0_276a1ff0","line":1390,"range":{"start_line":1390,"start_character":4,"end_line":1390,"end_character":41},"updated":"2025-11-27 15:02:19.000000000","message":"Can we move this and the other check thread to MemEncryptionConfig, and just call a single validation interface with image_meta, enc_requesters, and machine_type ?\n\nThat may allows us to get rid of needs_uefi flag.","commit_id":"0c9ee914d0cbabc015c9beedb615b3d202c7d574"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"fb4d8cf569eb434f3d44bacb538bf6761a0857a7","unresolved":true,"context_lines":[{"line_number":1387,"context_line":"        raise exception.FlavorImageConflict(emsg % data)"},{"line_number":1388,"context_line":""},{"line_number":1389,"context_line":""},{"line_number":1390,"context_line":"def _check_mem_encryption_uses_uefi_image("},{"line_number":1391,"context_line":"        mem_enc_config: MemEncryptionConfig,"},{"line_number":1392,"context_line":"        requesters: ty.List[str],"},{"line_number":1393,"context_line":"        image_meta: \u0027objects.ImageMeta\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7e87b6cc_c335bb20","line":1390,"range":{"start_line":1390,"start_character":4,"end_line":1390,"end_character":41},"in_reply_to":"132463b0_276a1ff0","updated":"2025-12-08 08:11:12.000000000","message":"I\u0027ve refactored the relevant checks into a single `check_constraints` method within `MemEncryptionConfig`. Consequently, the `needs_uefi` flag has been deprecated.","commit_id":"0c9ee914d0cbabc015c9beedb615b3d202c7d574"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"256e6a41ec0558841d699df5dee5bca2650b6bd5","unresolved":false,"context_lines":[{"line_number":1387,"context_line":"        raise exception.FlavorImageConflict(emsg % data)"},{"line_number":1388,"context_line":""},{"line_number":1389,"context_line":""},{"line_number":1390,"context_line":"def _check_mem_encryption_uses_uefi_image("},{"line_number":1391,"context_line":"        mem_enc_config: MemEncryptionConfig,"},{"line_number":1392,"context_line":"        requesters: ty.List[str],"},{"line_number":1393,"context_line":"        image_meta: \u0027objects.ImageMeta\u0027):"}],"source_content_type":"text/x-python","patch_set":1,"id":"f79d6c33_6a2f0624","line":1390,"range":{"start_line":1390,"start_character":4,"end_line":1390,"end_character":41},"in_reply_to":"7e87b6cc_c335bb20","updated":"2026-03-06 10:55:51.000000000","message":"Done","commit_id":"0c9ee914d0cbabc015c9beedb615b3d202c7d574"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"b2dfd8354a55d867097d820da6980f60b92808ca","unresolved":true,"context_lines":[{"line_number":123,"context_line":"        # in the driver will catch that and potentially retry on other"},{"line_number":124,"context_line":"        # compute nodes."},{"line_number":125,"context_line":"        if mach_type is None:"},{"line_number":126,"context_line":"            return"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":129,"context_line":"        # volume."}],"source_content_type":"text/x-python","patch_set":9,"id":"da801785_c0d20184","line":126,"range":{"start_line":126,"start_character":12,"end_line":126,"end_character":18},"updated":"2026-02-04 14:37:29.000000000","message":"I will add a log here:\nLOG.debug(\"Machine type not specified, will be validated by driver\")","commit_id":"c680af1d340bfa449976e9761c9120de9ecc6595"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"7488f5bba22cafdf38a691fccb15ba3198016dcc","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        # in the driver will catch that and potentially retry on other"},{"line_number":124,"context_line":"        # compute nodes."},{"line_number":125,"context_line":"        if mach_type is None:"},{"line_number":126,"context_line":"            return"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":129,"context_line":"        # volume."}],"source_content_type":"text/x-python","patch_set":9,"id":"895048e2_c0c5f80b","line":126,"range":{"start_line":126,"start_character":12,"end_line":126,"end_character":18},"in_reply_to":"baffdc69_a5ea8034","updated":"2026-02-19 15:59:19.000000000","message":"Done","commit_id":"c680af1d340bfa449976e9761c9120de9ecc6595"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"ca8b176332e8c1366e00f468b7616bfef3e5a8ba","unresolved":true,"context_lines":[{"line_number":123,"context_line":"        # in the driver will catch that and potentially retry on other"},{"line_number":124,"context_line":"        # compute nodes."},{"line_number":125,"context_line":"        if mach_type is None:"},{"line_number":126,"context_line":"            return"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":129,"context_line":"        # volume."}],"source_content_type":"text/x-python","patch_set":9,"id":"baffdc69_a5ea8034","line":126,"range":{"start_line":126,"start_character":12,"end_line":126,"end_character":18},"in_reply_to":"da801785_c0d20184","updated":"2026-02-09 10:02:12.000000000","message":"Updated as suggestion.","commit_id":"c680af1d340bfa449976e9761c9120de9ecc6595"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"99db5ab4a37274d98c3738d36985e2913f43adac","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        emsg \u003d _("},{"line_number":92,"context_line":"            \"Memory encryption requested by %(requesters)s but image \""},{"line_number":93,"context_line":"            \"%(image_name)s doesn\u0027t have \u0027hw_firmware_type\u0027 property set to \""},{"line_number":94,"context_line":"            \"\u0027uefi\u0027 or volume-backed instance was requested\""},{"line_number":95,"context_line":"        )"},{"line_number":96,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":97,"context_line":"        # volume, for this case FlavorImageConflict should be raised, but"}],"source_content_type":"text/x-python","patch_set":12,"id":"1d442b02_f0c258eb","line":94,"range":{"start_line":94,"start_character":20,"end_line":94,"end_character":60},"updated":"2026-03-05 14:28:04.000000000","message":"(I know it is not new in this patch so not blocking on it) Does it mean that volume backed instance cannot be SEV capable?\ncc @kajinamit@oss.nttdata.com","commit_id":"6447a3444e2991d73bb19d3e14af2ce9edb205ef"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"9e02c22e912560e2b3ff1898b5bf3b628ab6125e","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        emsg \u003d _("},{"line_number":92,"context_line":"            \"Memory encryption requested by %(requesters)s but image \""},{"line_number":93,"context_line":"            \"%(image_name)s doesn\u0027t have \u0027hw_firmware_type\u0027 property set to \""},{"line_number":94,"context_line":"            \"\u0027uefi\u0027 or volume-backed instance was requested\""},{"line_number":95,"context_line":"        )"},{"line_number":96,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":97,"context_line":"        # volume, for this case FlavorImageConflict should be raised, but"}],"source_content_type":"text/x-python","patch_set":12,"id":"4d25eac6_af9f6b9d","line":94,"range":{"start_line":94,"start_character":20,"end_line":94,"end_character":60},"in_reply_to":"0c2702e2_3fc8ebb7","updated":"2026-03-09 08:37:01.000000000","message":"I fixed the error message as above because I confirmed that SEV instances can be built from volume when `hw_firmware_type` is set to `uefi` in `volume_image_metadata` as below.\n\n```\n$ openstack volume show sev-vol\n...\n| volume_image_metadata          | {... \u0027hw_firmware_type\u0027: \u0027uefi\u0027, \u0027hw_machine_type\u0027:  \u0027q35\u0027, ....|\n$ openstack server create --block-device source_type\u003dvolume,uuid\u003d\u003csev-vol\u0027s id\u003e;,destination_type\u003dvolume,boot_index\u003d0 ...\n```","commit_id":"6447a3444e2991d73bb19d3e14af2ce9edb205ef"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"9e02c22e912560e2b3ff1898b5bf3b628ab6125e","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        emsg \u003d _("},{"line_number":92,"context_line":"            \"Memory encryption requested by %(requesters)s but image \""},{"line_number":93,"context_line":"            \"%(image_name)s doesn\u0027t have \u0027hw_firmware_type\u0027 property set to \""},{"line_number":94,"context_line":"            \"\u0027uefi\u0027 or volume-backed instance was requested\""},{"line_number":95,"context_line":"        )"},{"line_number":96,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":97,"context_line":"        # volume, for this case FlavorImageConflict should be raised, but"}],"source_content_type":"text/x-python","patch_set":12,"id":"6ef8ce63_7b837189","line":94,"range":{"start_line":94,"start_character":20,"end_line":94,"end_character":60},"in_reply_to":"0c2702e2_3fc8ebb7","updated":"2026-03-09 08:37:01.000000000","message":"I fixed the error message as above because I confirmed that SEV instances can be built from volume when hw_firmware_type is set to uefi in `volume_image_metadata` as below.\n\n```\n$ openstack volume show sev-vol\n...\n| volume_image_metadata          | {... \u0027hw_firmware_type\u0027: \u0027uefi\u0027, \u0027hw_machine_type\u0027:  \u0027q35\u0027, ....|\n$ openstack server create --block-device source_type\u003dvolume,uuid\u003d\u003csev-vol\u0027s id\u003e;,destination_type\u003dvolume,boot_index\u003d0 ...\n```","commit_id":"6447a3444e2991d73bb19d3e14af2ce9edb205ef"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"256e6a41ec0558841d699df5dee5bca2650b6bd5","unresolved":true,"context_lines":[{"line_number":91,"context_line":"        emsg \u003d _("},{"line_number":92,"context_line":"            \"Memory encryption requested by %(requesters)s but image \""},{"line_number":93,"context_line":"            \"%(image_name)s doesn\u0027t have \u0027hw_firmware_type\u0027 property set to \""},{"line_number":94,"context_line":"            \"\u0027uefi\u0027 or volume-backed instance was requested\""},{"line_number":95,"context_line":"        )"},{"line_number":96,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":97,"context_line":"        # volume, for this case FlavorImageConflict should be raised, but"}],"source_content_type":"text/x-python","patch_set":12,"id":"0c2702e2_3fc8ebb7","line":94,"range":{"start_line":94,"start_character":20,"end_line":94,"end_character":60},"in_reply_to":"1d442b02_f0c258eb","updated":"2026-03-06 10:55:51.000000000","message":"I\u0027ve confirmed that SEV instances can be built from volumes even when `hw_firmware_type\u003duefi` is set in the `volume_image_metadata` property. Therefore, I believe this error message is inappropriate.\nI suggest the message should be revised as follows. What are your thoughts?\n\n\n```\n        emsg \u003d _(\n            \"Memory encryption requested by %(requesters)s but image \"\n            \"metadata doesn\u0027t have \u0027hw_firmware_type\u0027 property \"\n            \"set to \u0027uefi\u0027 \"\n        )\n```","commit_id":"6447a3444e2991d73bb19d3e14af2ce9edb205ef"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"80e26900b153f7ef8d83c080d64c21447438e964","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        emsg \u003d _("},{"line_number":92,"context_line":"            \"Memory encryption requested by %(requesters)s but image \""},{"line_number":93,"context_line":"            \"%(image_name)s doesn\u0027t have \u0027hw_firmware_type\u0027 property set to \""},{"line_number":94,"context_line":"            \"\u0027uefi\u0027 or volume-backed instance was requested\""},{"line_number":95,"context_line":"        )"},{"line_number":96,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":97,"context_line":"        # volume, for this case FlavorImageConflict should be raised, but"}],"source_content_type":"text/x-python","patch_set":12,"id":"49615df0_4dcae6a1","line":94,"range":{"start_line":94,"start_character":20,"end_line":94,"end_character":60},"in_reply_to":"6ef8ce63_7b837189","updated":"2026-04-02 16:29:32.000000000","message":"Make sense to me. Thanks.","commit_id":"6447a3444e2991d73bb19d3e14af2ce9edb205ef"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"80e26900b153f7ef8d83c080d64c21447438e964","unresolved":true,"context_lines":[{"line_number":117,"context_line":"        emsg \u003d _("},{"line_number":118,"context_line":"            \"Memory encryption requested by %(requesters)s but image \""},{"line_number":119,"context_line":"            \"metadata doesn\u0027t have \u0027hw_firmware_type\u0027 property set to \""},{"line_number":120,"context_line":"            \"\u0027uefi\u0027 \""},{"line_number":121,"context_line":"        )"},{"line_number":122,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":123,"context_line":"        # volume, for this case FlavorImageConflict should be raised, but"}],"source_content_type":"text/x-python","patch_set":14,"id":"f4772f49_80d4c08a","line":120,"updated":"2026-04-02 16:29:32.000000000","message":"nit: trailing whitespace at the end of the string","commit_id":"5a81b7698189e90db0443d068876f5d1c91cf01a"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"b9d014ba727ea8dbb41dc474637f03e08c0d0263","unresolved":false,"context_lines":[{"line_number":117,"context_line":"        emsg \u003d _("},{"line_number":118,"context_line":"            \"Memory encryption requested by %(requesters)s but image \""},{"line_number":119,"context_line":"            \"metadata doesn\u0027t have \u0027hw_firmware_type\u0027 property set to \""},{"line_number":120,"context_line":"            \"\u0027uefi\u0027 \""},{"line_number":121,"context_line":"        )"},{"line_number":122,"context_line":"        # image_meta.name is not set if image object represents root Cinder"},{"line_number":123,"context_line":"        # volume, for this case FlavorImageConflict should be raised, but"}],"source_content_type":"text/x-python","patch_set":14,"id":"1b1e313b_181a5be1","line":120,"in_reply_to":"f4772f49_80d4c08a","updated":"2026-04-03 08:01:01.000000000","message":"I addressed this in [the new patch](https://review.opendev.org/c/openstack/nova/+/983278/comment/d4f6aec0_c5dd7bc3/). So, I resolved this comment.","commit_id":"5a81b7698189e90db0443d068876f5d1c91cf01a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"80e26900b153f7ef8d83c080d64c21447438e964","unresolved":true,"context_lines":[{"line_number":124,"context_line":"        # image_meta.name can\u0027t be extracted."},{"line_number":125,"context_line":"        image_name \u003d (image_meta.name if \u0027name\u0027 in image_meta else None)"},{"line_number":126,"context_line":"        data \u003d {\u0027requesters\u0027: \" and \".join(requesters),"},{"line_number":127,"context_line":"                \u0027image_name\u0027: image_name}"},{"line_number":128,"context_line":"        raise exception.FlavorImageConflict(emsg % data)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def _check_machine_type(self, image_meta: \u0027objects.ImageMeta\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"bfb39438_01a04146","line":127,"updated":"2026-04-02 16:29:32.000000000","message":"image_name is not used in the emsg string now.","commit_id":"5a81b7698189e90db0443d068876f5d1c91cf01a"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"b9d014ba727ea8dbb41dc474637f03e08c0d0263","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        # image_meta.name can\u0027t be extracted."},{"line_number":125,"context_line":"        image_name \u003d (image_meta.name if \u0027name\u0027 in image_meta else None)"},{"line_number":126,"context_line":"        data \u003d {\u0027requesters\u0027: \" and \".join(requesters),"},{"line_number":127,"context_line":"                \u0027image_name\u0027: image_name}"},{"line_number":128,"context_line":"        raise exception.FlavorImageConflict(emsg % data)"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def _check_machine_type(self, image_meta: \u0027objects.ImageMeta\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a7717f2_0eb7eaab","line":127,"in_reply_to":"bfb39438_01a04146","updated":"2026-04-03 08:01:01.000000000","message":"I addressed this in [the new patch](https://review.opendev.org/c/openstack/nova/+/983278/comment/d4f6aec0_c5dd7bc3/). So, I resolved this comment.","commit_id":"5a81b7698189e90db0443d068876f5d1c91cf01a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"da2bf6164d45fad075385519695cf1f16bd9f3a5","unresolved":true,"context_lines":[{"line_number":1376,"context_line":"    emsg \u003d _("},{"line_number":1377,"context_line":"        \"Memory encryption requested by %(requesters)s but image \""},{"line_number":1378,"context_line":"        \"%(image_name)s doesn\u0027t have \u0027hw_firmware_type\u0027 property set to \""},{"line_number":1379,"context_line":"        \"\u0027uefi\u0027 or volume-backed instance was requested\""},{"line_number":1380,"context_line":"    )"},{"line_number":1381,"context_line":"    # image_meta.name is not set if image object represents root Cinder"},{"line_number":1382,"context_line":"    # volume, for this case FlavorImageConflict should be raised, but"}],"source_content_type":"text/x-python","patch_set":15,"id":"499c77dd_72619b84","side":"PARENT","line":1379,"range":{"start_line":1379,"start_character":16,"end_line":1379,"end_character":55},"updated":"2026-04-10 15:21:04.000000000","message":"any reason why this phrase disappeared in L117 new emsg ?","commit_id":"d5699f1328db924cb9babd59b6be6eeece026922"},{"author":{"_account_id":35307,"name":"Taketani Ryo","email":"taketani.ryo@fujitsu.com","username":"r-taketn0517"},"change_message_id":"7eb9a53f3627972d99dcd20abe73563a51fce538","unresolved":true,"context_lines":[{"line_number":1376,"context_line":"    emsg \u003d _("},{"line_number":1377,"context_line":"        \"Memory encryption requested by %(requesters)s but image \""},{"line_number":1378,"context_line":"        \"%(image_name)s doesn\u0027t have \u0027hw_firmware_type\u0027 property set to \""},{"line_number":1379,"context_line":"        \"\u0027uefi\u0027 or volume-backed instance was requested\""},{"line_number":1380,"context_line":"    )"},{"line_number":1381,"context_line":"    # image_meta.name is not set if image object represents root Cinder"},{"line_number":1382,"context_line":"    # volume, for this case FlavorImageConflict should be raised, but"}],"source_content_type":"text/x-python","patch_set":15,"id":"b97de986_15048640","side":"PARENT","line":1379,"range":{"start_line":1379,"start_character":16,"end_line":1379,"end_character":55},"in_reply_to":"499c77dd_72619b84","updated":"2026-04-14 07:34:34.000000000","message":"https://review.opendev.org/c/openstack/nova/+/967974/12..15/nova/virt/hardware.py#b94\n\nAs the above discussion, I fixed this message because it is not appropriate. \nI confirmed that SEV instances can be built from volume when `hw_firmware_type` is set to `uefi` in `volume_image_metadata`.","commit_id":"d5699f1328db924cb9babd59b6be6eeece026922"}]}
