)]}'
{"/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":"6de66b30c920232b0098ee891711b6b35caf4bd6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"20445707_1fec18c7","updated":"2022-02-14 15:44:34.000000000","message":"recheck","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"251aded78ee1bc4a9b96e0cd901ec58024c59c87","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"55bb8350_6d4786a2","updated":"2022-02-15 13:08:13.000000000","message":"Based on my testing here https://review.rdoproject.org/r/c/testproject/+/39461\ntripleo-ci-centos-9-ovb-3ctlr_1comp-featureset001-wallaby\tSUCCESS 2h 40m 43s\ntripleo-ci-centos-9-ovb-3ctlr_1comp-featureset001\tSUCCESS 2h 38m 55s","commit_id":"966c47aed4f352ff5d4945f89eb06ce1a21a4929"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"689d3b7ab6ae872bf1e7f84595fadf467ff7e9c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"c30128db_51a48ab1","updated":"2022-02-15 06:16:08.000000000","message":"Thanks Julia!","commit_id":"966c47aed4f352ff5d4945f89eb06ce1a21a4929"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"5076c9d99df1070a9fca325c8110b06def3d4f5f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"1da9d6a7_6aa8d2b9","updated":"2022-02-15 06:15:36.000000000","message":"recheck","commit_id":"966c47aed4f352ff5d4945f89eb06ce1a21a4929"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"c7ebbf13db7c580a341c81ecaa4c1e2d52360b46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"d830c0e7_f6969044","updated":"2022-02-15 13:57:28.000000000","message":"recheck\n\ndib-functests - repo issues\n\n2022-02-15 06:50:47.969 | \u003e Errors during downloading metadata for repository \u0027updates\u0027:\n2022-02-15 06:50:47.969 | \u003e   - Status code: 404 for http://mirror.iad3.inmotion.opendev.org/fedora/updates/34/Everything/x86_64/repodata/repomd.xml ","commit_id":"966c47aed4f352ff5d4945f89eb06ce1a21a4929"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"25c57e3621756651fdfd58fe61854e60b1079582","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"76f92cfc_5ea28cdc","updated":"2022-02-16 03:52:47.000000000","message":"See inline, I\u0027d like to be 100% sure this is OK in the containerised case","commit_id":"8df5ae8dcb38ceabf5171c78d59f1d07f668ee76"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"958c2cee6d73ef184d5edecd99ebccdf5c9c298b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"2cb00bd1_b87b9786","updated":"2022-02-15 22:49:03.000000000","message":"recheck fedora mirror","commit_id":"8df5ae8dcb38ceabf5171c78d59f1d07f668ee76"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c2eb5876a33f9c682d89e5739626b70f456f707d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"b05d55df_2f601e34","updated":"2022-02-17 21:18:09.000000000","message":"I\u0027m going to push my current change to fix the sudo mount. But Then I\u0027ll need to rework it back to use kpartx, since I can\u0027t get nbd to work inside a container.","commit_id":"f53a448fbcc58a5f1706e9749369743ddd47b73c"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"cd45e79b226b69090182e11908f0a430f29a4d0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"4c0f74e3_8d977edf","updated":"2022-02-21 09:19:09.000000000","message":"recheck\nWe\u0027ll get there eventually 😊","commit_id":"551e8c08fa8495b21bf2b8bcf1dc1c1274dd0177"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"89fe747bb20232b4e4657d295a50e75e01eacb80","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"c64777bd_ae80a222","updated":"2022-02-24 08:46:47.000000000","message":"this is some impressive data extraction and matching paths.  thanks for working on it","commit_id":"0630b3cb6954cab7c6de1183903a59b5ef6670ab"}],"diskimage_builder/elements/sysprep/bin/extract-image":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"9a4f7278077521740abfb2095a532bf25df83e37","unresolved":true,"context_lines":[{"line_number":87,"context_line":"            for PARTITION in ${PARTITIONS}; do"},{"line_number":88,"context_line":"                label\u003d$(sudo lsblk --nodeps --noheadings --output LABEL $PARTITION)"},{"line_number":89,"context_line":"                part_type_name\u003d$(sudo lsblk --nodeps --noheadings --output PARTTYPENAME $PARTITION)"},{"line_number":90,"context_line":"                part_label\u003d$(sudo lsblk --nodeps --noheadings --output PARTLABEL $PARTITION)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"                if [[ ${part_type_name} \u003d\u003d \"BIOS boot\" ]]; then"},{"line_number":93,"context_line":"                    # Ignore unmountable partition"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"b95f3696_17048fd8","line":90,"range":{"start_line":90,"start_character":16,"end_line":90,"end_character":26},"updated":"2022-02-10 00:55:22.000000000","message":"Is this used?\n\nShould there be an additional -z $EFI_PARTITION block below in case LABEL is not set but PARTLABEL \u003d\u003d \"EFI System Partition\"?","commit_id":"7a97be0a027b8e5e4daa3d7e97092b9a760bbb72"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c2eb5876a33f9c682d89e5739626b70f456f707d","unresolved":false,"context_lines":[{"line_number":87,"context_line":"            for PARTITION in ${PARTITIONS}; do"},{"line_number":88,"context_line":"                label\u003d$(sudo lsblk --nodeps --noheadings --output LABEL $PARTITION)"},{"line_number":89,"context_line":"                part_type_name\u003d$(sudo lsblk --nodeps --noheadings --output PARTTYPENAME $PARTITION)"},{"line_number":90,"context_line":"                part_label\u003d$(sudo lsblk --nodeps --noheadings --output PARTLABEL $PARTITION)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"                if [[ ${part_type_name} \u003d\u003d \"BIOS boot\" ]]; then"},{"line_number":93,"context_line":"                    # Ignore unmountable partition"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"e10a837f_0c659c8d","line":90,"range":{"start_line":90,"start_character":16,"end_line":90,"end_character":26},"in_reply_to":"b95f3696_17048fd8","updated":"2022-02-17 21:18:09.000000000","message":"I tested this will all the base images so I think it is enough for now. Later we can rework this to assume the image complies with the Boot Loader Spec, and fall back to defacto labels if it is not spec compliant. (only rhel is even remotely spec compliant)\n\nhttps://systemd.io/BOOT_LOADER_SPECIFICATION/","commit_id":"7a97be0a027b8e5e4daa3d7e97092b9a760bbb72"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"18c7d89bd186197b445ad99a4e5b539c6863cd25","unresolved":true,"context_lines":[{"line_number":82,"context_line":"            # wait for any partitions to appear"},{"line_number":83,"context_line":"            timeout 5 sh -c \"while ! ls ${NBD_DEVICE}p* ; do sleep 1; done\" || true"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"            PARTITIONS\u003d$(ls -1 ${NBD_DEVICE}p*)"},{"line_number":86,"context_line":"            PARTITIONS_COUNT\u003d$(echo $PARTITIONS | wc -w)"},{"line_number":87,"context_line":"            if [ $PARTITIONS_COUNT \u003d\u003d \"0\" ]; then"},{"line_number":88,"context_line":"                # if there are no partition devices, assume one root device"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"a7d804b3_cfa155e2","line":85,"range":{"start_line":85,"start_character":28,"end_line":85,"end_character":30},"updated":"2022-02-14 06:36:40.000000000","message":"mostly useless in scripts, the \"column format\" is only set when we\u0027re in an actual shell.","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"689d3b7ab6ae872bf1e7f84595fadf467ff7e9c4","unresolved":false,"context_lines":[{"line_number":82,"context_line":"            # wait for any partitions to appear"},{"line_number":83,"context_line":"            timeout 5 sh -c \"while ! ls ${NBD_DEVICE}p* ; do sleep 1; done\" || true"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"            PARTITIONS\u003d$(ls -1 ${NBD_DEVICE}p*)"},{"line_number":86,"context_line":"            PARTITIONS_COUNT\u003d$(echo $PARTITIONS | wc -w)"},{"line_number":87,"context_line":"            if [ $PARTITIONS_COUNT \u003d\u003d \"0\" ]; then"},{"line_number":88,"context_line":"                # if there are no partition devices, assume one root device"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"739fc003_8ddd7185","line":85,"range":{"start_line":85,"start_character":28,"end_line":85,"end_character":30},"in_reply_to":"8a56483a_acc027d2","updated":"2022-02-15 06:16:08.000000000","message":"Ack","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"93e06f2137ae330ead62c06ff8a2dd94be40804d","unresolved":true,"context_lines":[{"line_number":82,"context_line":"            # wait for any partitions to appear"},{"line_number":83,"context_line":"            timeout 5 sh -c \"while ! ls ${NBD_DEVICE}p* ; do sleep 1; done\" || true"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"            PARTITIONS\u003d$(ls -1 ${NBD_DEVICE}p*)"},{"line_number":86,"context_line":"            PARTITIONS_COUNT\u003d$(echo $PARTITIONS | wc -w)"},{"line_number":87,"context_line":"            if [ $PARTITIONS_COUNT \u003d\u003d \"0\" ]; then"},{"line_number":88,"context_line":"                # if there are no partition devices, assume one root device"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"8a56483a_acc027d2","line":85,"range":{"start_line":85,"start_character":28,"end_line":85,"end_character":30},"in_reply_to":"a7d804b3_cfa155e2","updated":"2022-02-14 15:43:24.000000000","message":"Initially he is word counting which I believe would work, and does work locally, as compared to line counting which does not. Line 96 also properly handles the field so it doesn\u0027t expand out and loops through elements one at a time.","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"18c7d89bd186197b445ad99a4e5b539c6863cd25","unresolved":true,"context_lines":[{"line_number":85,"context_line":"            PARTITIONS\u003d$(ls -1 ${NBD_DEVICE}p*)"},{"line_number":86,"context_line":"            PARTITIONS_COUNT\u003d$(echo $PARTITIONS | wc -w)"},{"line_number":87,"context_line":"            if [ $PARTITIONS_COUNT \u003d\u003d \"0\" ]; then"},{"line_number":88,"context_line":"                # if there are no partition devices, assume one root device"},{"line_number":89,"context_line":"                ROOT_PARTITION\u003d${NBD_DEVICE}"},{"line_number":90,"context_line":"            elif [ $PARTITIONS_COUNT \u003d\u003d \"1\" ]; then"},{"line_number":91,"context_line":"                # if there is one partition device, assume it is the root device"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"d365992d_a46184f8","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":1},"updated":"2022-02-14 06:36:40.000000000","message":"Shouldn\u0027t the PARTITIONS be emptied as well here?","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"689d3b7ab6ae872bf1e7f84595fadf467ff7e9c4","unresolved":false,"context_lines":[{"line_number":85,"context_line":"            PARTITIONS\u003d$(ls -1 ${NBD_DEVICE}p*)"},{"line_number":86,"context_line":"            PARTITIONS_COUNT\u003d$(echo $PARTITIONS | wc -w)"},{"line_number":87,"context_line":"            if [ $PARTITIONS_COUNT \u003d\u003d \"0\" ]; then"},{"line_number":88,"context_line":"                # if there are no partition devices, assume one root device"},{"line_number":89,"context_line":"                ROOT_PARTITION\u003d${NBD_DEVICE}"},{"line_number":90,"context_line":"            elif [ $PARTITIONS_COUNT \u003d\u003d \"1\" ]; then"},{"line_number":91,"context_line":"                # if there is one partition device, assume it is the root device"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"a973ef78_ceaa07c7","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":1},"in_reply_to":"94604dfd_be164586","updated":"2022-02-15 06:16:08.000000000","message":"Ack","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"93e06f2137ae330ead62c06ff8a2dd94be40804d","unresolved":true,"context_lines":[{"line_number":85,"context_line":"            PARTITIONS\u003d$(ls -1 ${NBD_DEVICE}p*)"},{"line_number":86,"context_line":"            PARTITIONS_COUNT\u003d$(echo $PARTITIONS | wc -w)"},{"line_number":87,"context_line":"            if [ $PARTITIONS_COUNT \u003d\u003d \"0\" ]; then"},{"line_number":88,"context_line":"                # if there are no partition devices, assume one root device"},{"line_number":89,"context_line":"                ROOT_PARTITION\u003d${NBD_DEVICE}"},{"line_number":90,"context_line":"            elif [ $PARTITIONS_COUNT \u003d\u003d \"1\" ]; then"},{"line_number":91,"context_line":"                # if there is one partition device, assume it is the root device"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"94604dfd_be164586","line":88,"range":{"start_line":88,"start_character":0,"end_line":88,"end_character":1},"in_reply_to":"d365992d_a46184f8","updated":"2022-02-14 15:43:24.000000000","message":"If there are no words, then there is nothing to loop upon, and the variable is not used. So it would just skip the loop, AIUI.\n\nIn the case of one partition, then all the extra logic just doesn\u0027t apply anyway, but it would still loop over the one element, hence the reset of the field.","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"5e8a2d938ad77a7410bf9e29a5d45e257a6c52c0","unresolved":true,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"            if [ ! -z \"$BOOT_PARTITION\" ]; then"},{"line_number":148,"context_line":"                # mount to /boot"},{"line_number":149,"context_line":"                mount $BOOT_PARTITION $WORKING/mnt/boot"},{"line_number":150,"context_line":"                EACTION\u003d\"sudo umount -f $BOOT_PARTITION ; $EACTION\""},{"line_number":151,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":152,"context_line":"            fi"},{"line_number":153,"context_line":"            if [ ! -z \"$EFI_PARTITION\" ]; then"},{"line_number":154,"context_line":"                # mount to /boot/efi"},{"line_number":155,"context_line":"                mount $EFI_PARTITION $WORKING/mnt/boot/efi"},{"line_number":156,"context_line":"                EACTION\u003d\"sudo umount -f $EFI_PARTITION ; $EACTION\""},{"line_number":157,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":158,"context_line":"            fi"},{"line_number":159,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"2ce00337_9506c85e","line":156,"range":{"start_line":149,"start_character":11,"end_line":156,"end_character":66},"updated":"2022-02-14 19:54:39.000000000","message":"These need to explicitly call mount.\n\nhttps://b2732a041c3f8a8a2227-9262fa59dca60616978c458f4dd8b484.ssl.cf5.rackcdn.com/828617/7/check/dib-functests/e79622d/logs/opensuse_build-succeeds.FAIL.log\n\ntl;dr if the command is not run as root but needs sudo privs, like many of the other commands, this doesn\u0027t work. But if developed as root. it just works.","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c2eb5876a33f9c682d89e5739626b70f456f707d","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"            if [ ! -z \"$BOOT_PARTITION\" ]; then"},{"line_number":148,"context_line":"                # mount to /boot"},{"line_number":149,"context_line":"                mount $BOOT_PARTITION $WORKING/mnt/boot"},{"line_number":150,"context_line":"                EACTION\u003d\"sudo umount -f $BOOT_PARTITION ; $EACTION\""},{"line_number":151,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":152,"context_line":"            fi"},{"line_number":153,"context_line":"            if [ ! -z \"$EFI_PARTITION\" ]; then"},{"line_number":154,"context_line":"                # mount to /boot/efi"},{"line_number":155,"context_line":"                mount $EFI_PARTITION $WORKING/mnt/boot/efi"},{"line_number":156,"context_line":"                EACTION\u003d\"sudo umount -f $EFI_PARTITION ; $EACTION\""},{"line_number":157,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":158,"context_line":"            fi"},{"line_number":159,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"471bf96e_cf1ae924","line":156,"range":{"start_line":149,"start_character":11,"end_line":156,"end_character":66},"in_reply_to":"2ce00337_9506c85e","updated":"2022-02-17 21:18:09.000000000","message":"Done","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a158ca46ab12dbdb45191c2c56a2e1a602c2fc9","unresolved":true,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"            if [ ! -z \"$BOOT_PARTITION\" ]; then"},{"line_number":148,"context_line":"                # mount to /boot"},{"line_number":149,"context_line":"                mount $BOOT_PARTITION $WORKING/mnt/boot"},{"line_number":150,"context_line":"                EACTION\u003d\"sudo umount -f $BOOT_PARTITION ; $EACTION\""},{"line_number":151,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":152,"context_line":"            fi"},{"line_number":153,"context_line":"            if [ ! -z \"$EFI_PARTITION\" ]; then"},{"line_number":154,"context_line":"                # mount to /boot/efi"},{"line_number":155,"context_line":"                mount $EFI_PARTITION $WORKING/mnt/boot/efi"},{"line_number":156,"context_line":"                EACTION\u003d\"sudo umount -f $EFI_PARTITION ; $EACTION\""},{"line_number":157,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":158,"context_line":"            fi"},{"line_number":159,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"f50aa8c8_9194c471","line":156,"range":{"start_line":149,"start_character":11,"end_line":156,"end_character":66},"in_reply_to":"2ce00337_9506c85e","updated":"2022-02-17 07:39:33.000000000","message":"We need to get the sudo for those \"mount\" calls, else CI is failing:\n2022-02-17 05:19:12.355 | + /home/zuul/dib_build.ljLRzaQ2/hooks/bin/extract-image:extract_image:152          :   \u0027[\u0027 \u0027!\u0027 -z \u0027\u0027 \u0027]\u0027\n2022-02-17 05:19:12.359 | + /home/zuul/dib_build.ljLRzaQ2/hooks/bin/extract-image:extract_image:158          :   \u0027[\u0027 \u0027!\u0027 -z /dev/nbd0p2 \u0027]\u0027\n2022-02-17 05:19:12.362 | + /home/zuul/dib_build.ljLRzaQ2/hooks/bin/extract-image:extract_image:160          :   mount /dev/nbd0p2 /tmp/tmp.o8gsbMJr2h/mnt/boot/efi\n2022-02-17 05:19:12.367 | mount: /tmp/tmp.o8gsbMJr2h/mnt/boot/efi: must be superuser to use mount.\n2022-02-17 05:19:12.370 | ++ /home/zuul/dib_build.ljLRzaQ2/hooks/bin/extract-image:extract_image:1            :   sudo umount -f /dev/nbd0p3\n2022-02-17 05:19:12.448 | ++ /home/zuul/dib_build.ljLRzaQ2/hooks/bin/extract-image:extract_image:1            :   sudo qemu-nbd --disconnect /dev/nbd0\n\nExample:\nhttps://sf.hosted.upshift.rdu2.redhat.com/logs/69/305869/7/check/periodic-tripleo-ci-rhel-9-ovb-3ctlr_1comp-featureset001-internal-rhos-17/85c7432/logs/undercloud/home/zuul/overcloud-hardened-uefi-full.log.txt.gz\n\nSo if there are issues with sudo on OpenSuSE, there\u0027s a need to do some conditional I guess....","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c2eb5876a33f9c682d89e5739626b70f456f707d","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"            if [ ! -z \"$BOOT_PARTITION\" ]; then"},{"line_number":148,"context_line":"                # mount to /boot"},{"line_number":149,"context_line":"                mount $BOOT_PARTITION $WORKING/mnt/boot"},{"line_number":150,"context_line":"                EACTION\u003d\"sudo umount -f $BOOT_PARTITION ; $EACTION\""},{"line_number":151,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":152,"context_line":"            fi"},{"line_number":153,"context_line":"            if [ ! -z \"$EFI_PARTITION\" ]; then"},{"line_number":154,"context_line":"                # mount to /boot/efi"},{"line_number":155,"context_line":"                mount $EFI_PARTITION $WORKING/mnt/boot/efi"},{"line_number":156,"context_line":"                EACTION\u003d\"sudo umount -f $EFI_PARTITION ; $EACTION\""},{"line_number":157,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":158,"context_line":"            fi"},{"line_number":159,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"948cefdb_66e1a07c","line":156,"range":{"start_line":149,"start_character":11,"end_line":156,"end_character":66},"in_reply_to":"7d1aa306_861a506f","updated":"2022-02-17 21:18:09.000000000","message":"Ugh, Julia fixed this in patchset 8 but I stomped on that with 9. I\u0027ll put it back","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8589848d7f5b9d49caaff6fa7b73472df1dea3ab","unresolved":true,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"            if [ ! -z \"$BOOT_PARTITION\" ]; then"},{"line_number":148,"context_line":"                # mount to /boot"},{"line_number":149,"context_line":"                mount $BOOT_PARTITION $WORKING/mnt/boot"},{"line_number":150,"context_line":"                EACTION\u003d\"sudo umount -f $BOOT_PARTITION ; $EACTION\""},{"line_number":151,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":152,"context_line":"            fi"},{"line_number":153,"context_line":"            if [ ! -z \"$EFI_PARTITION\" ]; then"},{"line_number":154,"context_line":"                # mount to /boot/efi"},{"line_number":155,"context_line":"                mount $EFI_PARTITION $WORKING/mnt/boot/efi"},{"line_number":156,"context_line":"                EACTION\u003d\"sudo umount -f $EFI_PARTITION ; $EACTION\""},{"line_number":157,"context_line":"                trap \"$EACTION\" EXIT"},{"line_number":158,"context_line":"            fi"},{"line_number":159,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"7d1aa306_861a506f","line":156,"range":{"start_line":149,"start_character":11,"end_line":156,"end_character":66},"in_reply_to":"f50aa8c8_9194c471","updated":"2022-02-17 08:13:27.000000000","message":"Reason:\nhttps://opendev.org/openstack/tripleo-ci/src/branch/master/roles/oooci-build-images/tasks/main.yaml#L74-L78\n\nhere, we don\u0027t have the \"become: true\" we can see for the other tasks installing the dependencies.","commit_id":"0cf83b5b036d8a33de74eaa10537e47cb98a24a6"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"5a6be69dacde3e3ee86c3da4b2302e2b77ecb0ef","unresolved":true,"context_lines":[{"line_number":66,"context_line":"            for i in {0..15}"},{"line_number":67,"context_line":"            do"},{"line_number":68,"context_line":"                NBD_DEVICE\u003d\"/dev/nbd${i}\""},{"line_number":69,"context_line":"                if [ -z \"$(lsblk --all --nodeps --noheadings --output SIZE $NBD_DEVICE)\" ]; then"},{"line_number":70,"context_line":"                    break"},{"line_number":71,"context_line":"                fi"},{"line_number":72,"context_line":"            done"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"115e1e71_e5bc3862","line":69,"updated":"2022-02-15 19:54:27.000000000","message":"On some hosts SIZE will be empty, on others (fedora) its 0B.","commit_id":"966c47aed4f352ff5d4945f89eb06ce1a21a4929"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c2eb5876a33f9c682d89e5739626b70f456f707d","unresolved":false,"context_lines":[{"line_number":66,"context_line":"            for i in {0..15}"},{"line_number":67,"context_line":"            do"},{"line_number":68,"context_line":"                NBD_DEVICE\u003d\"/dev/nbd${i}\""},{"line_number":69,"context_line":"                if [ -z \"$(lsblk --all --nodeps --noheadings --output SIZE $NBD_DEVICE)\" ]; then"},{"line_number":70,"context_line":"                    break"},{"line_number":71,"context_line":"                fi"},{"line_number":72,"context_line":"            done"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"2493761a_ed9c28bb","line":69,"in_reply_to":"115e1e71_e5bc3862","updated":"2022-02-17 21:18:09.000000000","message":"Done","commit_id":"966c47aed4f352ff5d4945f89eb06ce1a21a4929"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"5a6be69dacde3e3ee86c3da4b2302e2b77ecb0ef","unresolved":true,"context_lines":[{"line_number":69,"context_line":"                if [ -z \"$(lsblk --all --nodeps --noheadings --output SIZE $NBD_DEVICE)\" ]; then"},{"line_number":70,"context_line":"                    break"},{"line_number":71,"context_line":"                fi"},{"line_number":72,"context_line":"            done"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"            sudo qemu-nbd --format qcow2 --connect $NBD_DEVICE $CACHED_IMAGE"},{"line_number":75,"context_line":"            EACTION\u003d\"sudo qemu-nbd --disconnect $NBD_DEVICE ; $EACTION\""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"114e2f74_af103bef","line":72,"updated":"2022-02-15 19:54:27.000000000","message":"Exiting if every device fails this test would avoid some confusion","commit_id":"966c47aed4f352ff5d4945f89eb06ce1a21a4929"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c2eb5876a33f9c682d89e5739626b70f456f707d","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                if [ -z \"$(lsblk --all --nodeps --noheadings --output SIZE $NBD_DEVICE)\" ]; then"},{"line_number":70,"context_line":"                    break"},{"line_number":71,"context_line":"                fi"},{"line_number":72,"context_line":"            done"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"            sudo qemu-nbd --format qcow2 --connect $NBD_DEVICE $CACHED_IMAGE"},{"line_number":75,"context_line":"            EACTION\u003d\"sudo qemu-nbd --disconnect $NBD_DEVICE ; $EACTION\""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"aecd2af8_5143d6f1","line":72,"in_reply_to":"114e2f74_af103bef","updated":"2022-02-17 21:18:09.000000000","message":"Done","commit_id":"966c47aed4f352ff5d4945f89eb06ce1a21a4929"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"25c57e3621756651fdfd58fe61854e60b1079582","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            # If running inside Docker, make our nodes manually, because udev will not be working."},{"line_number":74,"context_line":"            if [ -f /.dockerenv ]; then"},{"line_number":75,"context_line":"                sudo dmsetup --noudevsync mknodes"},{"line_number":76,"context_line":"            fi"},{"line_number":77,"context_line":"            if ! timeout 5 sh -c \"while ! [ -e /dev/mapper/$ROOT_LOOPDEV ]; do sleep 1; done\"; then"},{"line_number":78,"context_line":"                echo \"Error: Could not find /dev/mapper/$ROOT_LOOPDEV\""},{"line_number":79,"context_line":"                exit 1"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"6836d60d_7b918401","side":"PARENT","line":76,"updated":"2022-02-16 03:52:47.000000000","message":"I don\u0027t think we test this path in the gate, because we don\u0027t do image-based builds in the nodepool-builder end-to-end tests.  \n\nMaybe adding an experimental test to cover this path would be best -- or maybe even a gate test with a very limited file matcher that just tests on say, diskimage_builder/elements/centos/* \u0026 diskimage_builder/elements/sysprep/* type thing?","commit_id":"79ea63f5251f6f9a11d1a26537cd2c76389d2d66"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c2eb5876a33f9c682d89e5739626b70f456f707d","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            # If running inside Docker, make our nodes manually, because udev will not be working."},{"line_number":74,"context_line":"            if [ -f /.dockerenv ]; then"},{"line_number":75,"context_line":"                sudo dmsetup --noudevsync mknodes"},{"line_number":76,"context_line":"            fi"},{"line_number":77,"context_line":"            if ! timeout 5 sh -c \"while ! [ -e /dev/mapper/$ROOT_LOOPDEV ]; do sleep 1; done\"; then"},{"line_number":78,"context_line":"                echo \"Error: Could not find /dev/mapper/$ROOT_LOOPDEV\""},{"line_number":79,"context_line":"                exit 1"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"9f38fda0_26c82ca5","side":"PARENT","line":76,"in_reply_to":"6836d60d_7b918401","updated":"2022-02-17 21:18:09.000000000","message":"podman doesn\u0027t create /.dockerenv anyway, so a different \"in a container\" test is needed anyway","commit_id":"79ea63f5251f6f9a11d1a26537cd2c76389d2d66"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"23ef1aaf8ac61cdbf5ba34f34ce4b228c8ae0a40","unresolved":false,"context_lines":[{"line_number":73,"context_line":"            # If running inside Docker, make our nodes manually, because udev will not be working."},{"line_number":74,"context_line":"            if [ -f /.dockerenv ]; then"},{"line_number":75,"context_line":"                sudo dmsetup --noudevsync mknodes"},{"line_number":76,"context_line":"            fi"},{"line_number":77,"context_line":"            if ! timeout 5 sh -c \"while ! [ -e /dev/mapper/$ROOT_LOOPDEV ]; do sleep 1; done\"; then"},{"line_number":78,"context_line":"                echo \"Error: Could not find /dev/mapper/$ROOT_LOOPDEV\""},{"line_number":79,"context_line":"                exit 1"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"d1d285bf_5449b985","side":"PARENT","line":76,"in_reply_to":"70639d07_29b25f07","updated":"2022-02-23 02:27:51.000000000","message":"Done","commit_id":"79ea63f5251f6f9a11d1a26537cd2c76389d2d66"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"cd45e79b226b69090182e11908f0a430f29a4d0a","unresolved":true,"context_lines":[{"line_number":73,"context_line":"            # If running inside Docker, make our nodes manually, because udev will not be working."},{"line_number":74,"context_line":"            if [ -f /.dockerenv ]; then"},{"line_number":75,"context_line":"                sudo dmsetup --noudevsync mknodes"},{"line_number":76,"context_line":"            fi"},{"line_number":77,"context_line":"            if ! timeout 5 sh -c \"while ! [ -e /dev/mapper/$ROOT_LOOPDEV ]; do sleep 1; done\"; then"},{"line_number":78,"context_line":"                echo \"Error: Could not find /dev/mapper/$ROOT_LOOPDEV\""},{"line_number":79,"context_line":"                exit 1"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"70639d07_29b25f07","side":"PARENT","line":76,"in_reply_to":"9f38fda0_26c82ca5","updated":"2022-02-21 09:19:09.000000000","message":"oh. this may explain my issue with podman then.\nFYI, there seems to be an \"env\" var \u0027container\u003dpodman\" when you create a blank one (for instance running: podman run -ti --rm centos:stream9)","commit_id":"79ea63f5251f6f9a11d1a26537cd2c76389d2d66"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"25c57e3621756651fdfd58fe61854e60b1079582","unresolved":true,"context_lines":[{"line_number":56,"context_line":"            fi"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            # Ensure nbd module is loaded"},{"line_number":59,"context_line":"            if [ ! -b \"/dev/nbd0\" ]; then"},{"line_number":60,"context_line":"                sudo modprobe nbd"},{"line_number":61,"context_line":"                timeout 5 sh -c \"while ! lsblk --all /dev/nbd0 ; do sleep 1; done\""},{"line_number":62,"context_line":"            fi"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"3409dd38_a55a6b3e","line":59,"updated":"2022-02-16 03:52:47.000000000","message":"Does this work inside a container?  we just merged [1] basically telling everyone starting out to use the nodepool-builder container but now I worry that nbd won\u0027t be able to be loaded/setup inside for all the image-based elements?\n\n[1] https://review.opendev.org/c/openstack/diskimage-builder/+/418204","commit_id":"8df5ae8dcb38ceabf5171c78d59f1d07f668ee76"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"ff9fe791d52a10301ff6e99a7df163f9a83f86b4","unresolved":false,"context_lines":[{"line_number":56,"context_line":"            fi"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            # Ensure nbd module is loaded"},{"line_number":59,"context_line":"            if [ ! -b \"/dev/nbd0\" ]; then"},{"line_number":60,"context_line":"                sudo modprobe nbd"},{"line_number":61,"context_line":"                timeout 5 sh -c \"while ! lsblk --all /dev/nbd0 ; do sleep 1; done\""},{"line_number":62,"context_line":"            fi"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"d3504bc1_f476150d","line":59,"in_reply_to":"2436d089_3d5d118a","updated":"2022-02-22 02:55:30.000000000","message":"Done","commit_id":"8df5ae8dcb38ceabf5171c78d59f1d07f668ee76"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c2eb5876a33f9c682d89e5739626b70f456f707d","unresolved":true,"context_lines":[{"line_number":56,"context_line":"            fi"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            # Ensure nbd module is loaded"},{"line_number":59,"context_line":"            if [ ! -b \"/dev/nbd0\" ]; then"},{"line_number":60,"context_line":"                sudo modprobe nbd"},{"line_number":61,"context_line":"                timeout 5 sh -c \"while ! lsblk --all /dev/nbd0 ; do sleep 1; done\""},{"line_number":62,"context_line":"            fi"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"2436d089_3d5d118a","line":59,"in_reply_to":"3409dd38_a55a6b3e","updated":"2022-02-17 21:18:09.000000000","message":"modprobe will never work, which could be worked around.\n\nBut worse, /dev/nbd0p* devices don\u0027t get created, even when starting the container with --device-cgroup-rule\u003d\u0027c 43:* rmw\u0027.\n\nI might have to rework this stick with kpartx :/","commit_id":"8df5ae8dcb38ceabf5171c78d59f1d07f668ee76"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8b5b12f6285c6c005cb81cb1225e29f8f769b2cc","unresolved":true,"context_lines":[{"line_number":67,"context_line":"            sudo kpartx -av $RAW_FILE"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"            # If running inside Docker, make our nodes manually, because udev will not be working."},{"line_number":70,"context_line":"            if [ -f /.dockerenv ]; then"},{"line_number":71,"context_line":"                sudo dmsetup --noudevsync mknodes"},{"line_number":72,"context_line":"            fi"},{"line_number":73,"context_line":"            if ! timeout 5 sh -c \"while ! ls /dev/mapper/${LOOPDEV_BASE}p* ; do sleep 1; done\"; then"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"c78fb588_eb531f9d","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":1},"updated":"2022-02-22 07:09:59.000000000","message":"Would be great to get a follow-up in order to detect podman - there\u0027s an env var \"$container\" with \"podman\" value. Wondering if docker has the same, could be better, since we\u0027d be able to [ -n \"$container\" ] directly.\n\nElse, we\u0027d have to instruct ppl to bind-mount a fake /.dockerenv in their podman container. Both work of course, but it\u0027s less elegant imho 😊","commit_id":"d593899b58fdc5d9a7e6852d0995098401b03e1e"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"23ef1aaf8ac61cdbf5ba34f34ce4b228c8ae0a40","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            sudo kpartx -av $RAW_FILE"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"            # If running inside Docker, make our nodes manually, because udev will not be working."},{"line_number":70,"context_line":"            if [ -f /.dockerenv ]; then"},{"line_number":71,"context_line":"                sudo dmsetup --noudevsync mknodes"},{"line_number":72,"context_line":"            fi"},{"line_number":73,"context_line":"            if ! timeout 5 sh -c \"while ! ls /dev/mapper/${LOOPDEV_BASE}p* ; do sleep 1; done\"; then"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"a081c203_1cdbc933","line":70,"range":{"start_line":70,"start_character":0,"end_line":70,"end_character":1},"in_reply_to":"c78fb588_eb531f9d","updated":"2022-02-23 02:27:51.000000000","message":"I think a followup for podman support is definitely required. There seems to be no best way to detect if you\u0027re running inside a container, but a bunch of imperfect options:\nhttps://stackoverflow.com/questions/23513045/how-to-check-if-a-process-is-running-inside-docker-container\n\nI quite like the \u0027inode of /. is a very low number\u0027 approach","commit_id":"d593899b58fdc5d9a7e6852d0995098401b03e1e"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"7e23945190ab2590ef342cdab47358aa19e6a425","unresolved":true,"context_lines":[{"line_number":99,"context_line":"                # look for EFI partition to mount at /boot/efi either by Boot Loader Specification UID or"},{"line_number":100,"context_line":"                # label convention"},{"line_number":101,"context_line":"                if [ -z \"$EFI_LOOPDEV\" ]; then"},{"line_number":102,"context_line":"                    if [[ ${part_type} \u003d\u003d \"c12a7328-f81f-11d2-ba4b-00a0c93ec93b\" || ${part_type_name} \u003d\u003d \"EFI System\" ]]; then"},{"line_number":103,"context_line":"                        EFI_LOOPDEV\u003d$LOOPDEV"},{"line_number":104,"context_line":"                        continue"},{"line_number":105,"context_line":"                    fi"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"43681a09_7edfe90c","line":102,"range":{"start_line":102,"start_character":43,"end_line":102,"end_character":79},"updated":"2022-02-22 09:36:09.000000000","message":"Would it make sense to define constants for these UUIDs? And maby comment mentioning link: https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs next to the constant definitions?","commit_id":"d593899b58fdc5d9a7e6852d0995098401b03e1e"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"23ef1aaf8ac61cdbf5ba34f34ce4b228c8ae0a40","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                # look for EFI partition to mount at /boot/efi either by Boot Loader Specification UID or"},{"line_number":100,"context_line":"                # label convention"},{"line_number":101,"context_line":"                if [ -z \"$EFI_LOOPDEV\" ]; then"},{"line_number":102,"context_line":"                    if [[ ${part_type} \u003d\u003d \"c12a7328-f81f-11d2-ba4b-00a0c93ec93b\" || ${part_type_name} \u003d\u003d \"EFI System\" ]]; then"},{"line_number":103,"context_line":"                        EFI_LOOPDEV\u003d$LOOPDEV"},{"line_number":104,"context_line":"                        continue"},{"line_number":105,"context_line":"                    fi"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"f3eeea60_93989af6","line":102,"range":{"start_line":102,"start_character":43,"end_line":102,"end_character":79},"in_reply_to":"43681a09_7edfe90c","updated":"2022-02-23 02:27:51.000000000","message":"Good idea, done","commit_id":"d593899b58fdc5d9a7e6852d0995098401b03e1e"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"59ac7343de1d69e7b63e9185fb2f251389e4ef8c","unresolved":true,"context_lines":[{"line_number":76,"context_line":"            if [ -f /.dockerenv ]; then"},{"line_number":77,"context_line":"                sudo dmsetup --noudevsync mknodes"},{"line_number":78,"context_line":"            fi"},{"line_number":79,"context_line":"            if ! timeout 5 sh -c \"while ! ls /dev/mapper/${LOOPDEV_BASE}p* ; do sleep 1; done\"; then"},{"line_number":80,"context_line":"                echo \"Error: Could not find any ${LOOPDEV_BASE} devices\""},{"line_number":81,"context_line":"                exit 1"},{"line_number":82,"context_line":"            fi"},{"line_number":83,"context_line":"            EACTION\u003d\"sudo kpartx -d $RAW_FILE ; $EACTION\""}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"352922a9_b7c8f3bf","line":80,"range":{"start_line":79,"start_character":4,"end_line":80,"end_character":72},"updated":"2022-02-23 20:26:09.000000000","message":"so, if it is a partition image, it wouldn\u0027t have a p* signifier in the name, it would just be a loop.","commit_id":"0630b3cb6954cab7c6de1183903a59b5ef6670ab"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6ee47fc08a4f5784472b73b5e1ffaceb3eb97d4a","unresolved":true,"context_lines":[{"line_number":76,"context_line":"            if [ -f /.dockerenv ]; then"},{"line_number":77,"context_line":"                sudo dmsetup --noudevsync mknodes"},{"line_number":78,"context_line":"            fi"},{"line_number":79,"context_line":"            if ! timeout 5 sh -c \"while ! ls /dev/mapper/${LOOPDEV_BASE}p* ; do sleep 1; done\"; then"},{"line_number":80,"context_line":"                echo \"Error: Could not find any ${LOOPDEV_BASE} devices\""},{"line_number":81,"context_line":"                exit 1"},{"line_number":82,"context_line":"            fi"},{"line_number":83,"context_line":"            EACTION\u003d\"sudo kpartx -d $RAW_FILE ; $EACTION\""}],"source_content_type":"application/x-shellscript","patch_set":14,"id":"d5b16a3f_5b8d0224","line":80,"range":{"start_line":79,"start_character":4,"end_line":80,"end_character":72},"in_reply_to":"352922a9_b7c8f3bf","updated":"2022-02-23 20:33:06.000000000","message":"Per Steve Baker in IRC, all source images this file will process are whole disk images, so my concern doesn\u0027t matter in it\u0027s use context.","commit_id":"0630b3cb6954cab7c6de1183903a59b5ef6670ab"}]}
