)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bcfcfbf7a70b0fef70008692c4da3b80f08a01a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7211c631_40890f32","updated":"2024-02-13 09:13:21.000000000","message":"+1 for overall direction i have not given this much tought in general but i think this is in scope of nova to do and im ok with the over all approch.\nill have to review again after feature freeze but this is not seting off any redflags.\n\nas long as we properly document the behavior i think we can certenly do this.\n\none thing to think about is should this be the default.\n\nwe have two open bugs with nvram handeling releaed to rebuild and other operations\nhttps://bugs.launchpad.net/nova/+bug/1997352\nand\nhttps://bugs.launchpad.net/nova/+bug/1785123\n\nhttps://review.opendev.org/c/openstack/nova/+/906380\nhttps://review.opendev.org/c/openstack/nova/+/621646\nfrom the second patch ^ \n\n```\nFor UEFI guests (hw_firmware_type\u003duefi), every time the instance is\nstarted, the UEFI variable storage for that instance\n(/var/lib/libvirt/qemu/nvram/instance-xxxxxxxx_VARS.fd) is deleted\nand reinitialized from the default template.\n```\n\nso we actully have stateless nvram files kind of unintetionally\n\nso im wondering if we should add the new option\nand make stateless the default\nand make you opt into statefull with the limitation that stateful guges cnat be shelved or cross cell resized.","commit_id":"23a0ea36165e0bb10ac4409ae725b7be9289bb5e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c5b5d7881ec96a4f131cb699fa3d9cb01988b889","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"46bbb536_49b82196","updated":"2024-05-14 11:40:33.000000000","message":"I have only nits inline but the direction looks good to me and seems to be aligned with the PTG agreement.","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f3c23b90dd5ff84b2c69558dd438e19cd549651f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"bcfff26e_384e2314","updated":"2024-05-14 12:13:21.000000000","message":"Thanks gibi ! I fixed all the typos pointed out.","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4d080e3c78e77e6b0f24628186fbad2a35e45000","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":7,"id":"551c0e67_0b2ebcd9","updated":"2024-05-14 11:49:06.000000000","message":"im ok with addressing gibis nits in a followup but ill hold +w until the end of the day in case takashi want to adress them now.","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bc368311c649cafe2ed07798899029179175a21d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"21b28983_fb1391a4","updated":"2024-05-14 12:52:16.000000000","message":"gibi was happy with this before and there nits have now been adressed so fast appoving and proxying there previous vote.","commit_id":"5f07083318d1f44d3310ced285c4a0fefb757000"}],"specs/2024.1/approved/libvirt-stateless-firmware.rst":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"c7771ff44018f9c609b4be6f7cdb23ad1ff75f40","unresolved":true,"context_lines":[{"line_number":38,"context_line":"   the security of their running instances, I want to allow my users to"},{"line_number":39,"context_line":"   enforce stateless firmware for their instances."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"#. As a user, I want to prevent risk caused by firmware state injected by"},{"line_number":42,"context_line":"   hypevisor, for instances which load very confidential data."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fb3f6646_7fb20647","line":41,"range":{"start_line":41,"start_character":56,"end_line":41,"end_character":61},"updated":"2024-02-07 12:11:42.000000000","message":"maybe \"variables\"","commit_id":"1ffb340577ceb816f56d7da2343d76c5ec4b59e7"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6ad621a625c1283f355b97245abcfbc02cd3bc4c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"   the security of their running instances, I want to allow my users to"},{"line_number":39,"context_line":"   enforce stateless firmware for their instances."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"#. As a user, I want to prevent risk caused by firmware state injected by"},{"line_number":42,"context_line":"   hypevisor, for instances which load very confidential data."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5533da87_a7ef3bd0","line":41,"range":{"start_line":41,"start_character":56,"end_line":41,"end_character":61},"in_reply_to":"fb3f6646_7fb20647","updated":"2024-02-07 14:03:44.000000000","message":"Done","commit_id":"1ffb340577ceb816f56d7da2343d76c5ec4b59e7"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bcfcfbf7a70b0fef70008692c4da3b80f08a01a3","unresolved":true,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"However this libvirt feature can\u0027t be enabled in instances launched by current"},{"line_number":29,"context_line":"nova, because nova does not set the stateless option. Also nova always injects"},{"line_number":30,"context_line":"nvram file into libvirt domain XML."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"e58bc7ff_0c769b73","line":30,"updated":"2024-02-13 09:13:21.000000000","message":"nova does but we have existing bugs where we dont properly copy this file for cold migration and also perhaps for other move ops.\n\nit not saved when we shelve for incstance.\n\nso while we should fix those bugs (espcially since we have had patches up for review for years) stateless firmweare might also be a solution to supproting shelve ectra with uefi.","commit_id":"23a0ea36165e0bb10ac4409ae725b7be9289bb5e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bcfcfbf7a70b0fef70008692c4da3b80f08a01a3","unresolved":true,"context_lines":[{"line_number":62,"context_line":"  element of libvirt domain XML and skip injecting nvram file, if instance"},{"line_number":63,"context_line":"  metadata of the instance contains ``hw_firmware_stateless`` property set to"},{"line_number":64,"context_line":"  ``true``."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Alternatives"},{"line_number":67,"context_line":"------------"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"7d40e5de_0110e99b","line":65,"updated":"2024-02-13 09:13:21.000000000","message":"so in general i think this proposal is fine\nthis is the direction i would have taken\n\ni have not done a full review of this spec but over all +1\n\n\ni will point out that windows guest will likely hate this feature or at least they proably will without a vtpm or other persisent datastore to store there activation key info.\n\nfor linux guests this sounds like a nice enhancement","commit_id":"23a0ea36165e0bb10ac4409ae725b7be9289bb5e"}],"specs/2024.2/approved/libvirt-stateless-firmware.rst":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c5b5d7881ec96a4f131cb699fa3d9cb01988b889","unresolved":true,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Since v8.6.0, libvirt allows launching instance with stateless firmware, which"},{"line_number":12,"context_line":"disables the potential attack serface from hypervisor. This work aims to"},{"line_number":13,"context_line":"introduce the required feature to allow users to use this feature."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"d3ba80f3_2ae2fa4c","line":12,"updated":"2024-05-14 11:40:33.000000000","message":"nit: surface","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f3c23b90dd5ff84b2c69558dd438e19cd549651f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Since v8.6.0, libvirt allows launching instance with stateless firmware, which"},{"line_number":12,"context_line":"disables the potential attack serface from hypervisor. This work aims to"},{"line_number":13,"context_line":"introduce the required feature to allow users to use this feature."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"abd28d96_aba719b9","line":12,"in_reply_to":"d3ba80f3_2ae2fa4c","updated":"2024-05-14 12:13:21.000000000","message":"Done","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c5b5d7881ec96a4f131cb699fa3d9cb01988b889","unresolved":true,"context_lines":[{"line_number":19,"context_line":"Libvirt v8.6.0 introduced the new feature to launch instance with stateless"},{"line_number":20,"context_line":"firmware. When an instance is launched with this feature enabled along with"},{"line_number":21,"context_line":"UEFI, the instance uses a ready-only firmware image without NVRAM file. This"},{"line_number":22,"context_line":"feature is useful for confidential computing use ase, because it prevens"},{"line_number":23,"context_line":"injection into firmware vars from hypervisor. It also allows more complete"},{"line_number":24,"context_line":"measurement of elements involved in the boot chain of the instance which is"},{"line_number":25,"context_line":"the key requirement of remote attestation. This is described in"}],"source_content_type":"text/x-rst","patch_set":7,"id":"c043f435_824728a4","line":22,"range":{"start_line":22,"start_character":49,"end_line":22,"end_character":52},"updated":"2024-05-14 11:40:33.000000000","message":"nit: case","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c5b5d7881ec96a4f131cb699fa3d9cb01988b889","unresolved":true,"context_lines":[{"line_number":19,"context_line":"Libvirt v8.6.0 introduced the new feature to launch instance with stateless"},{"line_number":20,"context_line":"firmware. When an instance is launched with this feature enabled along with"},{"line_number":21,"context_line":"UEFI, the instance uses a ready-only firmware image without NVRAM file. This"},{"line_number":22,"context_line":"feature is useful for confidential computing use ase, because it prevens"},{"line_number":23,"context_line":"injection into firmware vars from hypervisor. It also allows more complete"},{"line_number":24,"context_line":"measurement of elements involved in the boot chain of the instance which is"},{"line_number":25,"context_line":"the key requirement of remote attestation. This is described in"}],"source_content_type":"text/x-rst","patch_set":7,"id":"0c32d936_4bc66afc","line":22,"range":{"start_line":22,"start_character":65,"end_line":22,"end_character":72},"updated":"2024-05-14 11:40:33.000000000","message":"nit: prevents","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f3c23b90dd5ff84b2c69558dd438e19cd549651f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Libvirt v8.6.0 introduced the new feature to launch instance with stateless"},{"line_number":20,"context_line":"firmware. When an instance is launched with this feature enabled along with"},{"line_number":21,"context_line":"UEFI, the instance uses a ready-only firmware image without NVRAM file. This"},{"line_number":22,"context_line":"feature is useful for confidential computing use ase, because it prevens"},{"line_number":23,"context_line":"injection into firmware vars from hypervisor. It also allows more complete"},{"line_number":24,"context_line":"measurement of elements involved in the boot chain of the instance which is"},{"line_number":25,"context_line":"the key requirement of remote attestation. This is described in"}],"source_content_type":"text/x-rst","patch_set":7,"id":"aac9ebbd_8f084bb2","line":22,"range":{"start_line":22,"start_character":65,"end_line":22,"end_character":72},"in_reply_to":"0c32d936_4bc66afc","updated":"2024-05-14 12:13:21.000000000","message":"Done","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f3c23b90dd5ff84b2c69558dd438e19cd549651f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Libvirt v8.6.0 introduced the new feature to launch instance with stateless"},{"line_number":20,"context_line":"firmware. When an instance is launched with this feature enabled along with"},{"line_number":21,"context_line":"UEFI, the instance uses a ready-only firmware image without NVRAM file. This"},{"line_number":22,"context_line":"feature is useful for confidential computing use ase, because it prevens"},{"line_number":23,"context_line":"injection into firmware vars from hypervisor. It also allows more complete"},{"line_number":24,"context_line":"measurement of elements involved in the boot chain of the instance which is"},{"line_number":25,"context_line":"the key requirement of remote attestation. This is described in"}],"source_content_type":"text/x-rst","patch_set":7,"id":"b6b9a796_3c22121e","line":22,"range":{"start_line":22,"start_character":49,"end_line":22,"end_character":52},"in_reply_to":"c043f435_824728a4","updated":"2024-05-14 12:13:21.000000000","message":"Done","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"c5b5d7881ec96a4f131cb699fa3d9cb01988b889","unresolved":true,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"   * - Release Name"},{"line_number":215,"context_line":"     - Description"},{"line_number":216,"context_line":"   * - 2024.2 Dalmetian"},{"line_number":217,"context_line":"     - Introduced"}],"source_content_type":"text/x-rst","patch_set":7,"id":"c2cbc55c_3331329f","line":216,"updated":"2024-05-14 11:40:33.000000000","message":"nit: Dalmatian","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f3c23b90dd5ff84b2c69558dd438e19cd549651f","unresolved":false,"context_lines":[{"line_number":213,"context_line":""},{"line_number":214,"context_line":"   * - Release Name"},{"line_number":215,"context_line":"     - Description"},{"line_number":216,"context_line":"   * - 2024.2 Dalmetian"},{"line_number":217,"context_line":"     - Introduced"}],"source_content_type":"text/x-rst","patch_set":7,"id":"12869fba_03fc9e0d","line":216,"in_reply_to":"c2cbc55c_3331329f","updated":"2024-05-14 12:13:21.000000000","message":"Done","commit_id":"85ff87682f6ac95ad91cfc21d49d00cb1c1ed3c5"}]}
