)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"36037be7145a82e2e8b1d7d1a581a8b18229b35c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b76342de_8ce9750e","updated":"2024-10-31 16:55:08.000000000","message":"I think the alternative suggestion might be the way to go? I thought we had talked about doing a separate deploy interface at the PTG but I may be misremembering.","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"3535e52f80e8ea4a7c568923d2b8a7115f9acee2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"f3562be6_3e9829e4","updated":"2024-10-30 01:22:44.000000000","message":"Looks good, just some edits","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"33b610a6be41e634cc26cd194125c2676fd918c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a7ea36aa_4619e928","in_reply_to":"b76342de_8ce9750e","updated":"2024-11-01 15:06:47.000000000","message":"I don\u0027t think we had precise agreement on exact implementation details, which is something we should also sought to avoid designing by committee on a call... since that never ends well. 😊","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"}],"specs/approved/bootable-container.rst":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"3535e52f80e8ea4a7c568923d2b8a7115f9acee2","unresolved":true,"context_lines":[{"line_number":32,"context_line":"and filesystem stuctural aspects (like block device size) into images."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"While the existing image format handling of Qcow2 format does handle whitespace"},{"line_number":35,"context_line":"to an extent, it is not a solution to address all such issues. Fore xample, our"},{"line_number":36,"context_line":"bootloader installation modeling is built upon Grub/Grub2, which does not align"},{"line_number":37,"context_line":"with the future of UniKernel Image (UKI) workloads which don\u0027t use bootloaders."},{"line_number":38,"context_line":"Similarly, whole disk images cannot be safely translated from a 512 byte size"}],"source_content_type":"text/x-rst","patch_set":2,"id":"a3986a9f_82ea33b6","line":35,"range":{"start_line":35,"start_character":63,"end_line":35,"end_character":74},"updated":"2024-10-30 01:22:44.000000000","message":"For example","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ad7d54dcaa58e3c684a5ffd7703a52e6879c087f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"and filesystem stuctural aspects (like block device size) into images."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"While the existing image format handling of Qcow2 format does handle whitespace"},{"line_number":35,"context_line":"to an extent, it is not a solution to address all such issues. Fore xample, our"},{"line_number":36,"context_line":"bootloader installation modeling is built upon Grub/Grub2, which does not align"},{"line_number":37,"context_line":"with the future of UniKernel Image (UKI) workloads which don\u0027t use bootloaders."},{"line_number":38,"context_line":"Similarly, whole disk images cannot be safely translated from a 512 byte size"}],"source_content_type":"text/x-rst","patch_set":2,"id":"131b197b_f6a8c86b","line":35,"range":{"start_line":35,"start_character":63,"end_line":35,"end_character":74},"in_reply_to":"a3986a9f_82ea33b6","updated":"2024-11-05 18:37:01.000000000","message":"Done","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"3535e52f80e8ea4a7c568923d2b8a7115f9acee2","unresolved":true,"context_lines":[{"line_number":36,"context_line":"bootloader installation modeling is built upon Grub/Grub2, which does not align"},{"line_number":37,"context_line":"with the future of UniKernel Image (UKI) workloads which don\u0027t use bootloaders."},{"line_number":38,"context_line":"Similarly, whole disk images cannot be safely translated from a 512 byte size"},{"line_number":39,"context_line":"block structure to a 4kB block structure on the fly and require image the"},{"line_number":40,"context_line":"image to be re-mastered as the structure and partitioning is distinctly"},{"line_number":41,"context_line":"different with aspects like logical volumes."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"6af3d6b1_546a4a24","line":39,"range":{"start_line":39,"start_character":64,"end_line":39,"end_character":69},"updated":"2024-10-30 01:22:44.000000000","message":"delete this","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ad7d54dcaa58e3c684a5ffd7703a52e6879c087f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"bootloader installation modeling is built upon Grub/Grub2, which does not align"},{"line_number":37,"context_line":"with the future of UniKernel Image (UKI) workloads which don\u0027t use bootloaders."},{"line_number":38,"context_line":"Similarly, whole disk images cannot be safely translated from a 512 byte size"},{"line_number":39,"context_line":"block structure to a 4kB block structure on the fly and require image the"},{"line_number":40,"context_line":"image to be re-mastered as the structure and partitioning is distinctly"},{"line_number":41,"context_line":"different with aspects like logical volumes."},{"line_number":42,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"ab4dcf16_2f531638","line":39,"range":{"start_line":39,"start_character":64,"end_line":39,"end_character":69},"in_reply_to":"6af3d6b1_546a4a24","updated":"2024-11-05 18:37:01.000000000","message":"Done","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"3535e52f80e8ea4a7c568923d2b8a7115f9acee2","unresolved":true,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"With the model, this *does* require the container to have bootc_ installed"},{"line_number":73,"context_line":"inside of the container as covered in using-bootc_ and does thus require the"},{"line_number":74,"context_line":"bootc-install-to-disk_ command to be run from with inside the container."},{"line_number":75,"context_line":"To best secure this and to provide a means for operators to disable this"},{"line_number":76,"context_line":"capability, we will introduce a generalized configuration option for Ironic"},{"line_number":77,"context_line":"to enable this capability to be disabled."}],"source_content_type":"text/x-rst","patch_set":2,"id":"a8108399_3f74c291","line":74,"range":{"start_line":74,"start_character":41,"end_line":74,"end_character":57},"updated":"2024-10-30 01:22:44.000000000","message":"from within","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ad7d54dcaa58e3c684a5ffd7703a52e6879c087f","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"With the model, this *does* require the container to have bootc_ installed"},{"line_number":73,"context_line":"inside of the container as covered in using-bootc_ and does thus require the"},{"line_number":74,"context_line":"bootc-install-to-disk_ command to be run from with inside the container."},{"line_number":75,"context_line":"To best secure this and to provide a means for operators to disable this"},{"line_number":76,"context_line":"capability, we will introduce a generalized configuration option for Ironic"},{"line_number":77,"context_line":"to enable this capability to be disabled."}],"source_content_type":"text/x-rst","patch_set":2,"id":"74e4590c_7ead2ea1","line":74,"range":{"start_line":74,"start_character":41,"end_line":74,"end_character":57},"in_reply_to":"a8108399_3f74c291","updated":"2024-11-05 18:37:01.000000000","message":"Done","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"36037be7145a82e2e8b1d7d1a581a8b18229b35c","unresolved":true,"context_lines":[{"line_number":90,"context_line":"------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"An alternative model is to have a definitive interface for the agent which"},{"line_number":93,"context_line":"invokes this via the container build and overlays the base agent functionality"},{"line_number":94,"context_line":"for other steps to execute. For example, this could be something like a"},{"line_number":95,"context_line":"``agent-bootc`` named ``deploy_interface`` as to not create a perception of"},{"line_number":96,"context_line":"the ``agent`` deploy interface being overloaded. This may create some"}],"source_content_type":"text/x-rst","patch_set":2,"id":"59b33b43_a0709e8c","line":93,"updated":"2024-10-31 16:55:08.000000000","message":"Honestly, this is a really appealing alternative. It\u0027s absolutely decoder-ring worthy that some installer-based flows (Anaconda) are different drivers, whereas this one (bootc) will not be.","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ad7d54dcaa58e3c684a5ffd7703a52e6879c087f","unresolved":true,"context_lines":[{"line_number":90,"context_line":"------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"An alternative model is to have a definitive interface for the agent which"},{"line_number":93,"context_line":"invokes this via the container build and overlays the base agent functionality"},{"line_number":94,"context_line":"for other steps to execute. For example, this could be something like a"},{"line_number":95,"context_line":"``agent-bootc`` named ``deploy_interface`` as to not create a perception of"},{"line_number":96,"context_line":"the ``agent`` deploy interface being overloaded. This may create some"}],"source_content_type":"text/x-rst","patch_set":2,"id":"895e0cc2_cd2dd0f5","line":93,"in_reply_to":"04386ec1_67d052f0","updated":"2024-11-05 18:37:01.000000000","message":"I guess wider discussion is needed on this one.\n\nI sort of see this like a slightly different disk format, and one where you could potentially ask ironic to chain steps together to perform specific steps\n\nMaybe in this case, the preferred step for this which matches is something like \"write_container\" instead of \"write_image\".","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"33b610a6be41e634cc26cd194125c2676fd918c0","unresolved":true,"context_lines":[{"line_number":90,"context_line":"------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"An alternative model is to have a definitive interface for the agent which"},{"line_number":93,"context_line":"invokes this via the container build and overlays the base agent functionality"},{"line_number":94,"context_line":"for other steps to execute. For example, this could be something like a"},{"line_number":95,"context_line":"``agent-bootc`` named ``deploy_interface`` as to not create a perception of"},{"line_number":96,"context_line":"the ``agent`` deploy interface being overloaded. This may create some"}],"source_content_type":"text/x-rst","patch_set":2,"id":"b902bcaf_aa524944","line":93,"in_reply_to":"59b33b43_a0709e8c","updated":"2024-11-01 15:06:47.000000000","message":"I sat and though about it, and truthfully the more complexity we incur by adding a new interface may, or may not be worth it. We\u0027re sort of pushing complexity around a table as opposed to do the needful. The new interface definitely has more complexity in how we layer things together cleanly which I think grows the overall effort in not fun ways. Basically sort of taking it from a 3 point story to an 8 point story.","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"e0f56408e84f1799a5b81d966c680d6d70be0e41","unresolved":true,"context_lines":[{"line_number":90,"context_line":"------------"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"An alternative model is to have a definitive interface for the agent which"},{"line_number":93,"context_line":"invokes this via the container build and overlays the base agent functionality"},{"line_number":94,"context_line":"for other steps to execute. For example, this could be something like a"},{"line_number":95,"context_line":"``agent-bootc`` named ``deploy_interface`` as to not create a perception of"},{"line_number":96,"context_line":"the ``agent`` deploy interface being overloaded. This may create some"}],"source_content_type":"text/x-rst","patch_set":2,"id":"04386ec1_67d052f0","line":93,"in_reply_to":"b902bcaf_aa524944","updated":"2024-11-01 20:27:18.000000000","message":"I worry that we may be pushing some of this complexity down to the operator by avoiding it ourselves, is all. Mainly trying to think of an answer to \"if using a completely new tool to deploy isn\u0027t a new interface; what is?\" -- and it using IPA doesn\u0027t really work as a line, given we use IPA in the anaconda (cleaning/servicing) and ansible deploy interfaces.\n\nI don\u0027t know that there\u0027s a good answer to this","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"e0f56408e84f1799a5b81d966c680d6d70be0e41","unresolved":true,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":"* Add an optional dependency of ``podman`` to the ironic-python-agent ramdisk"},{"line_number":204,"context_line":"  to facilitate the download of the container and execution of the bootc"},{"line_number":205,"context_line":"  utilities."},{"line_number":206,"context_line":"* Augment ``prepare_image`` to download, execute, and install a container"},{"line_number":207,"context_line":"  to disk."},{"line_number":208,"context_line":"* Augment ``install_bootloader`` to understand when it should be skipped."}],"source_content_type":"text/x-rst","patch_set":2,"id":"74e03f11_303d9cff","line":205,"updated":"2024-11-01 20:27:18.000000000","message":"Will we support alternative, popular implementations e.g. docker? Not even asking if we\u0027ll test them, but more if we intend on leaving any choice as to runtime up to the user here. Probably is just an implementation detail?\n\nNote: I was concerned about podman availability, https://podman.io/docs/installation#installing-on-linux but it looks like packages are available on all distros now, so I think I\u0027ve talked myself into \"this is an implementation detail operators don\u0027t see\" 😊","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ad7d54dcaa58e3c684a5ffd7703a52e6879c087f","unresolved":false,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":"* Add an optional dependency of ``podman`` to the ironic-python-agent ramdisk"},{"line_number":204,"context_line":"  to facilitate the download of the container and execution of the bootc"},{"line_number":205,"context_line":"  utilities."},{"line_number":206,"context_line":"* Augment ``prepare_image`` to download, execute, and install a container"},{"line_number":207,"context_line":"  to disk."},{"line_number":208,"context_line":"* Augment ``install_bootloader`` to understand when it should be skipped."}],"source_content_type":"text/x-rst","patch_set":2,"id":"17cbaef9_8b86123d","line":205,"in_reply_to":"266a6dbc_9b3fa689","updated":"2024-11-05 18:37:01.000000000","message":"Done","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"8a99d1a6b174638b72047120cd33ac017fe1188d","unresolved":true,"context_lines":[{"line_number":202,"context_line":""},{"line_number":203,"context_line":"* Add an optional dependency of ``podman`` to the ironic-python-agent ramdisk"},{"line_number":204,"context_line":"  to facilitate the download of the container and execution of the bootc"},{"line_number":205,"context_line":"  utilities."},{"line_number":206,"context_line":"* Augment ``prepare_image`` to download, execute, and install a container"},{"line_number":207,"context_line":"  to disk."},{"line_number":208,"context_line":"* Augment ``install_bootloader`` to understand when it should be skipped."}],"source_content_type":"text/x-rst","patch_set":2,"id":"266a6dbc_9b3fa689","line":205,"in_reply_to":"74e03f11_303d9cff","updated":"2024-11-05 09:54:05.000000000","message":"docker is definitely popular, but it\u0027s also more cumbersome, and it\u0027s not entirely open source, only the CE (community edition) version is.\nI\u0027d rather focus on one good open solution (podman) that should have all the options needed to make this work, and then see if we have requests for something else.","commit_id":"02956324d896ecb722ffca8bb291f6d8ebf4d657"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"08a157e40477da06e4b33199d7b12c8b911d610e","unresolved":true,"context_lines":[{"line_number":219,"context_line":"  utilities."},{"line_number":220,"context_line":""},{"line_number":221,"context_line":".. NOTE::"},{"line_number":222,"context_line":"   The use of podman is largely considered as a hidden implementation detail,"},{"line_number":223,"context_line":"   and may already be present in ramdisk images due to image URL work upon"},{"line_number":224,"context_line":"   which this specification is dependent."},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"* Create a new interface method to download, execute, and install a container"}],"source_content_type":"text/x-rst","patch_set":5,"id":"94a883cd_2ee9b104","line":223,"range":{"start_line":222,"start_character":3,"end_line":223,"end_character":57},"updated":"2025-02-10 17:54:39.000000000","message":"this needs to be revised...","commit_id":"42e9a3ebd3686f2c1cac5c752f7796a62859202d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"08a157e40477da06e4b33199d7b12c8b911d610e","unresolved":true,"context_lines":[{"line_number":225,"context_line":""},{"line_number":226,"context_line":"* Create a new interface method to download, execute, and install a container"},{"line_number":227,"context_line":"  to disk."},{"line_number":228,"context_line":"* Update Ironic with a secondary configuration option to disable or restrict"},{"line_number":229,"context_line":"  this capability even if the deployment interface is enabled."},{"line_number":230,"context_line":""},{"line_number":231,"context_line":".. TODO:: An option, now with the changed approach of using an explicit deployment interface on the ironic deployment, seems like overkill to have a knob. Thoughts?"},{"line_number":232,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"641eba1a_02ec76b9","line":229,"range":{"start_line":228,"start_character":0,"end_line":229,"end_character":62},"updated":"2025-02-10 17:54:39.000000000","message":"inherent with enabled_boot_interface, likely just need to document it.","commit_id":"42e9a3ebd3686f2c1cac5c752f7796a62859202d"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"3c2b9da30b1442ff2c1202de5793d818b79a0d7d","unresolved":true,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"With the container in memory on the host with the agent, the container can"},{"line_number":87,"context_line":"then be launched, and the bootc-install-to-disk_ command is then invoked"},{"line_number":88,"context_line":"allowing the image we are trying to deploy *also* being in charge of it\u0027s"},{"line_number":89,"context_line":"own installation. This is a requirement of the model while also shifting"},{"line_number":90,"context_line":"the overall maintainer of the deployment logic from being Ironic in this"},{"line_number":91,"context_line":"deployment interface\u0027s use case to the image itself. As such, this requires"}],"source_content_type":"text/x-rst","patch_set":6,"id":"449e5717_25cb045b","line":88,"range":{"start_line":88,"start_character":69,"end_line":88,"end_character":73},"updated":"2025-01-30 09:02:02.000000000","message":"nit: its","commit_id":"7abf92f9be6614f767d0c0ac8cf67d173f90dabe"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"3c2b9da30b1442ff2c1202de5793d818b79a0d7d","unresolved":true,"context_lines":[{"line_number":91,"context_line":"deployment interface\u0027s use case to the image itself. As such, this requires"},{"line_number":92,"context_line":"bootc_ to be present in the requested container image."},{"line_number":93,"context_line":"To best secure this and to provide a means for operators to disable this"},{"line_number":94,"context_line":"capability, this option is being exposed as it\u0027s own streamlined deploy"},{"line_number":95,"context_line":"interface, as opposed to adding further complexity to existing deployment"},{"line_number":96,"context_line":"logic and workflow."},{"line_number":97,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9d52c077_e8c1bd48","line":94,"range":{"start_line":94,"start_character":44,"end_line":94,"end_character":48},"updated":"2025-01-30 09:02:02.000000000","message":"ditto","commit_id":"7abf92f9be6614f767d0c0ac8cf67d173f90dabe"}]}
