)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"d6da6a531cf75525b639de234aad255dbb330085","unresolved":true,"context_lines":[{"line_number":15,"context_line":"  which requires /dev access and elevated privileges."},{"line_number":16,"context_line":"- containerfile-based elements require a container runtime (podman or"},{"line_number":17,"context_line":"  docker), which in turn needs either a privileged container or"},{"line_number":18,"context_line":"  FUSE/user-namespace support (fuse-overlayfs, newuidmap, etc.)."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The tarball element solves this by moving OS content acquisition"},{"line_number":21,"context_line":"entirely outside the disk image build.  The caller supplies a root"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"71cc4584_95ddce6e","line":18,"updated":"2026-09-28 23:06:00.000000000","message":"Would the -minimal elements that build the rootfs from scratch solve this problem too? I\u0027m not opposed to the tarball method as it seems like a reasonable approach given the constraits. But I think just running debootstrap or yum/dnf would work too?","commit_id":"32c9bbf951de9e04cacf55f089bf39bdd16fc608"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"4d6728e8ded971d34878ce5188b3d88e1f927b3e","unresolved":true,"context_lines":[{"line_number":15,"context_line":"  which requires /dev access and elevated privileges."},{"line_number":16,"context_line":"- containerfile-based elements require a container runtime (podman or"},{"line_number":17,"context_line":"  docker), which in turn needs either a privileged container or"},{"line_number":18,"context_line":"  FUSE/user-namespace support (fuse-overlayfs, newuidmap, etc.)."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The tarball element solves this by moving OS content acquisition"},{"line_number":21,"context_line":"entirely outside the disk image build.  The caller supplies a root"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"c427d1e1_78bf3eaf","line":18,"in_reply_to":"71cc4584_95ddce6e","updated":"2026-09-29 21:22:37.000000000","message":"I\u0027ll explain in the next comment how this is used","commit_id":"32c9bbf951de9e04cacf55f089bf39bdd16fc608"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4019543ad7ef8203ab6add5a6b0d825d79879802","unresolved":true,"context_lines":[{"line_number":15,"context_line":"  which requires /dev access and elevated privileges."},{"line_number":16,"context_line":"- containerfile-based elements require a container runtime (podman or"},{"line_number":17,"context_line":"  docker), which in turn needs either a privileged container or"},{"line_number":18,"context_line":"  FUSE/user-namespace support (fuse-overlayfs, newuidmap, etc.)."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The tarball element solves this by moving OS content acquisition"},{"line_number":21,"context_line":"entirely outside the disk image build.  The caller supplies a root"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"37adaaba_5ea57411","line":18,"in_reply_to":"71cc4584_95ddce6e","updated":"2026-09-29 20:28:31.000000000","message":"That assumes you can get at all of the things easily. I think in this case Steve is trying to build an artifact in an unprivileged environment where the sane intermediate point is a tgz file and contents.\n\nSteve, if I got that wrong, by all means correct me.","commit_id":"32c9bbf951de9e04cacf55f089bf39bdd16fc608"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c5e6caf80ef9b97054444926bb367335ddee8b15","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"be8390d2_a5a62d7c","updated":"2026-08-31 21:14:21.000000000","message":"Please add a release note.","commit_id":"ef020f6591a3f3e93da4882c10e094180c5ac3bb"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"9964943471e0eed88583de043c3267ca57c96ece","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"3e6f4ca4_fcdd7d9c","in_reply_to":"be8390d2_a5a62d7c","updated":"2026-09-01 03:26:23.000000000","message":"Done","commit_id":"ef020f6591a3f3e93da4882c10e094180c5ac3bb"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"30d2cdfbd58b9d39c0db00acd15f0c4fae1fc470","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"903059e0_0df721ab","updated":"2026-09-30 21:28:50.000000000","message":"recheck cloud.centos.org 502","commit_id":"66b5ddbe60b66a4d1239beb0cc363571a9a6c42f"}],"diskimage_builder/elements/tarball/README.rst":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"edea1d0afbb159cb1cae6bc668b46c9d4c78bd4e","unresolved":true,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"``DIB_RELEASE``"},{"line_number":32,"context_line":"    *Optional.* The release identifier of the OS distribution (e.g."},{"line_number":33,"context_line":"    ``jammy``, ``9-stream``). Defaults to ``unknown``."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Example"},{"line_number":36,"context_line":"-------"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. code-block:: shell"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    export DIB_TARBALL_PATH\u003d/path/to/ubuntu-jammy-rootfs.tar.gz"},{"line_number":41,"context_line":"    export DISTRO_NAME\u003dubuntu"},{"line_number":42,"context_line":"    export DIB_RELEASE\u003djammy"},{"line_number":43,"context_line":"    disk-image-create -o my-image tarball my-other-element"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3fb10a2e_fe608ea9","line":42,"range":{"start_line":33,"start_character":0,"end_line":42,"end_character":28},"updated":"2026-08-31 21:21:12.000000000","message":"nit: IMHO, we should use the actual versions and change \"Jammy\" to \"Noble\", at least.","commit_id":"ef020f6591a3f3e93da4882c10e094180c5ac3bb"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"9964943471e0eed88583de043c3267ca57c96ece","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"``DIB_RELEASE``"},{"line_number":32,"context_line":"    *Optional.* The release identifier of the OS distribution (e.g."},{"line_number":33,"context_line":"    ``jammy``, ``9-stream``). Defaults to ``unknown``."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Example"},{"line_number":36,"context_line":"-------"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":".. code-block:: shell"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    export DIB_TARBALL_PATH\u003d/path/to/ubuntu-jammy-rootfs.tar.gz"},{"line_number":41,"context_line":"    export DISTRO_NAME\u003dubuntu"},{"line_number":42,"context_line":"    export DIB_RELEASE\u003djammy"},{"line_number":43,"context_line":"    disk-image-create -o my-image tarball my-other-element"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ef9e1b36_54cd6758","line":42,"range":{"start_line":33,"start_character":0,"end_line":42,"end_character":28},"in_reply_to":"3fb10a2e_fe608ea9","updated":"2026-09-01 03:26:23.000000000","message":"Done","commit_id":"ef020f6591a3f3e93da4882c10e094180c5ac3bb"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"d6da6a531cf75525b639de234aad255dbb330085","unresolved":true,"context_lines":[{"line_number":11,"context_line":"content entirely outside the disk image build process."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The tarball should contain the root filesystem of the target OS (i.e. the"},{"line_number":14,"context_line":"contents that will be extracted directly into ``$TARGET_ROOT``)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Environment Variables"},{"line_number":17,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"0a0cfe6d_5efe46f4","line":14,"updated":"2026-09-28 23:06:00.000000000","message":"Are there any example tarballs published for any distros we cover? Wondering if we could link to examples to help people figure out using this approach.\n\nIts possible that isn\u0027t that case and that is left as an exercise for the reader to solve.\n\nIf we had an example would could test this with the functional testing that boots a node and checks ssh works etc.","commit_id":"32c9bbf951de9e04cacf55f089bf39bdd16fc608"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4019543ad7ef8203ab6add5a6b0d825d79879802","unresolved":true,"context_lines":[{"line_number":11,"context_line":"content entirely outside the disk image build process."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The tarball should contain the root filesystem of the target OS (i.e. the"},{"line_number":14,"context_line":"contents that will be extracted directly into ``$TARGET_ROOT``)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Environment Variables"},{"line_number":17,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a0fbb3da_2f653625","line":14,"in_reply_to":"0a0cfe6d_5efe46f4","updated":"2026-09-29 20:28:31.000000000","message":"I think the conundrum here is the driver here is to continue to use dib and not have to reinvent every aspect in a thin form where there is no elevated access to touch or interact with a qcow.","commit_id":"32c9bbf951de9e04cacf55f089bf39bdd16fc608"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"4d6728e8ded971d34878ce5188b3d88e1f927b3e","unresolved":true,"context_lines":[{"line_number":11,"context_line":"content entirely outside the disk image build process."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The tarball should contain the root filesystem of the target OS (i.e. the"},{"line_number":14,"context_line":"contents that will be extracted directly into ``$TARGET_ROOT``)."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Environment Variables"},{"line_number":17,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"e68f1b9e_47de6367","line":14,"in_reply_to":"0a0cfe6d_5efe46f4","updated":"2026-09-29 21:22:37.000000000","message":"The specific use-case for this is a multi-stage Dockerfile.\n\nStage 1 modifies the base container image to make the content match a typical qcow2 base image.\n\nStage 2 tars the content of stage 1 then runs dib with the tarball element.\n\nThe approach is distro agnostic but some distro specific elements would still be required, which is why I refactored out the redhat-reset-bls-entries and reset-systemd-id elements in the previous changes, to be included explicitly.\n\nI\u0027m not quite ready to post a working example yet but when I do it will be in https://github.com/openstack-k8s-operators/s2i-openstack-containers/\n\nThis work is specifically to build the ironic-python-agent initramfs, which requires minimal capabilities and bind mounts compared to a \"real\" image build.\n\nThe simplest functional test would be like the containerfile one, but the podman build/run/export is moved to the test elements (tarball cannot invoke podman/docker because it needs to run inside a container). Hopefully this would be enough to justify landing the tarball element. It might be possible to extend the test by demonstrating the 2 stage Dockerfile approach with some inception-level bind mounting. Doing a full boot and ssh might be overkill for now?","commit_id":"32c9bbf951de9e04cacf55f089bf39bdd16fc608"}],"diskimage_builder/elements/tarball/environment.d/10-tarball-distro-name.bash":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"deb7ef3eaf8dba398643609668cd1c2226de7cc2","unresolved":true,"context_lines":[{"line_number":2,"context_line":"# element does not know what OS is contained in the tarball."},{"line_number":3,"context_line":"# For example:"},{"line_number":4,"context_line":"#   export DISTRO_NAME\u003dubuntu"},{"line_number":5,"context_line":"#   export DIB_RELEASE\u003djammy"},{"line_number":6,"context_line":"export DISTRO_NAME\u003d${DISTRO_NAME:-tarball}"},{"line_number":7,"context_line":"export DIB_RELEASE\u003d${DIB_RELEASE:-unknown}"}],"source_content_type":"text/x-sh","patch_set":4,"id":"e6cbc1d0_2e866d77","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":28},"updated":"2026-09-01 07:46:43.000000000","message":"ditto","commit_id":"fa3af6ba1942a9cba18e69ca922e88d3de2292bc"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"0f76c6895e0623c542b075c71a13d9524ba5b65d","unresolved":true,"context_lines":[{"line_number":2,"context_line":"# element does not know what OS is contained in the tarball."},{"line_number":3,"context_line":"# For example:"},{"line_number":4,"context_line":"#   export DISTRO_NAME\u003dubuntu"},{"line_number":5,"context_line":"#   export DIB_RELEASE\u003djammy"},{"line_number":6,"context_line":"export DISTRO_NAME\u003d${DISTRO_NAME:-tarball}"},{"line_number":7,"context_line":"export DIB_RELEASE\u003d${DIB_RELEASE:-unknown}"}],"source_content_type":"text/x-sh","patch_set":4,"id":"ef84e859_79d9295a","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":28},"in_reply_to":"3b0b97cd_76dd120b","updated":"2026-09-25 20:51:20.000000000","message":"Sure, it\u0027s not a blocker. But it seems strange to use \"Noble\" everywhere in the text and \"Jammy\" in the example. ;)","commit_id":"fa3af6ba1942a9cba18e69ca922e88d3de2292bc"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a5e4a6e739538ca9b8ccf4e4bca194dedc0a645c","unresolved":true,"context_lines":[{"line_number":2,"context_line":"# element does not know what OS is contained in the tarball."},{"line_number":3,"context_line":"# For example:"},{"line_number":4,"context_line":"#   export DISTRO_NAME\u003dubuntu"},{"line_number":5,"context_line":"#   export DIB_RELEASE\u003djammy"},{"line_number":6,"context_line":"export DISTRO_NAME\u003d${DISTRO_NAME:-tarball}"},{"line_number":7,"context_line":"export DIB_RELEASE\u003d${DIB_RELEASE:-unknown}"}],"source_content_type":"text/x-sh","patch_set":4,"id":"3b0b97cd_76dd120b","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":28},"in_reply_to":"93f6c03d_6f734877","updated":"2026-09-25 19:31:14.000000000","message":"Its an example comment though. actual setting below.","commit_id":"fa3af6ba1942a9cba18e69ca922e88d3de2292bc"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"d5a4d1ecf7deb23d04f62a07e9d1da1bc1e561b7","unresolved":true,"context_lines":[{"line_number":2,"context_line":"# element does not know what OS is contained in the tarball."},{"line_number":3,"context_line":"# For example:"},{"line_number":4,"context_line":"#   export DISTRO_NAME\u003dubuntu"},{"line_number":5,"context_line":"#   export DIB_RELEASE\u003djammy"},{"line_number":6,"context_line":"export DISTRO_NAME\u003d${DISTRO_NAME:-tarball}"},{"line_number":7,"context_line":"export DIB_RELEASE\u003d${DIB_RELEASE:-unknown}"}],"source_content_type":"text/x-sh","patch_set":4,"id":"93f6c03d_6f734877","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":28},"in_reply_to":"d1ff2bc3_0889d433","updated":"2026-09-01 23:39:42.000000000","message":"Ditto to my previous comment about changing to Noble.","commit_id":"fa3af6ba1942a9cba18e69ca922e88d3de2292bc"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"78b9523c743ca1b28e0e8c0cf0b1ffe69e903208","unresolved":true,"context_lines":[{"line_number":2,"context_line":"# element does not know what OS is contained in the tarball."},{"line_number":3,"context_line":"# For example:"},{"line_number":4,"context_line":"#   export DISTRO_NAME\u003dubuntu"},{"line_number":5,"context_line":"#   export DIB_RELEASE\u003djammy"},{"line_number":6,"context_line":"export DISTRO_NAME\u003d${DISTRO_NAME:-tarball}"},{"line_number":7,"context_line":"export DIB_RELEASE\u003d${DIB_RELEASE:-unknown}"}],"source_content_type":"text/x-sh","patch_set":4,"id":"d1ff2bc3_0889d433","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":28},"in_reply_to":"e6cbc1d0_2e866d77","updated":"2026-09-01 16:52:29.000000000","message":"ditto of what?","commit_id":"fa3af6ba1942a9cba18e69ca922e88d3de2292bc"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"807e5b03d07bc152e022b5462da1b41300953db5","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# element does not know what OS is contained in the tarball."},{"line_number":3,"context_line":"# For example:"},{"line_number":4,"context_line":"#   export DISTRO_NAME\u003dubuntu"},{"line_number":5,"context_line":"#   export DIB_RELEASE\u003djammy"},{"line_number":6,"context_line":"export DISTRO_NAME\u003d${DISTRO_NAME:-tarball}"},{"line_number":7,"context_line":"export DIB_RELEASE\u003d${DIB_RELEASE:-unknown}"}],"source_content_type":"text/x-sh","patch_set":4,"id":"89299900_8c246b08","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":28},"in_reply_to":"ef84e859_79d9295a","updated":"2026-09-28 21:37:27.000000000","message":"Done","commit_id":"fa3af6ba1942a9cba18e69ca922e88d3de2292bc"}],"diskimage_builder/elements/tarball/root.d/08-tarball":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"d6da6a531cf75525b639de234aad255dbb330085","unresolved":true,"context_lines":[{"line_number":33,"context_line":"echo \"Extracting ${DIB_TARBALL_PATH} into ${TARGET_ROOT}\""},{"line_number":34,"context_line":"sudo tar -C ${TARGET_ROOT} --numeric-owner -xf ${DIB_TARBALL_PATH}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"sudo rm -f ${TARGET_ROOT}/.extra_settings"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"716b00a4_6889795f","line":36,"updated":"2026-09-28 23:06:00.000000000","message":"Not a problem with this change but it looks like .extra_settings is undocumented dib magic.","commit_id":"32c9bbf951de9e04cacf55f089bf39bdd16fc608"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"4d6728e8ded971d34878ce5188b3d88e1f927b3e","unresolved":true,"context_lines":[{"line_number":33,"context_line":"echo \"Extracting ${DIB_TARBALL_PATH} into ${TARGET_ROOT}\""},{"line_number":34,"context_line":"sudo tar -C ${TARGET_ROOT} --numeric-owner -xf ${DIB_TARBALL_PATH}"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"sudo rm -f ${TARGET_ROOT}/.extra_settings"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"59e48aa6_75092539","line":36,"in_reply_to":"716b00a4_6889795f","updated":"2026-09-29 21:22:37.000000000","message":"Oh, it allows other elements to set environment variables running in this script, but this script is missing the sourcing of .extra_settings. It is an arcane feature which is only used by elements debian-systemd, debian-upstart, but I can add the missing sourcing at the top of this script","commit_id":"32c9bbf951de9e04cacf55f089bf39bdd16fc608"}]}
