)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"9946c4e15214cbac920872341dd8000640afa234","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"7919104b_f94d9d05","updated":"2024-08-30 02:54:47.000000000","message":"Looks like a good start","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c24b22cd7974be04a8add579269d871d7e4fe7ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0c7283e6_b3625d6c","updated":"2024-09-03 17:59:17.000000000","message":"Just pu","commit_id":"2df6d9b91415241b9d16cd96dd78f9b15e4e8e26"},{"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":"36e29ec4590c24c1611c1db815a0a21fba2d2bb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"128a7c68_5d0ce5bc","updated":"2024-09-03 20:36:22.000000000","message":"Seems reasonable to me. Leaving it unworkflowed to allow more experienced DIB cores to be the second review before it lands.","commit_id":"2df6d9b91415241b9d16cd96dd78f9b15e4e8e26"}],"diskimage_builder/block_device/level0/localloop.py":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"9946c4e15214cbac920872341dd8000640afa234","unresolved":true,"context_lines":[{"line_number":41,"context_line":"def loopdev_attach(filename, sector_size):"},{"line_number":42,"context_line":"    logger.info(\"loopdev attach\")"},{"line_number":43,"context_line":"    logger.debug(\"Calling [sudo losetup --show -f %s]\", filename)"},{"line_number":44,"context_line":"    block_device \u003d exec_sudo([\"losetup\", \"--sector-size\", sector_size, \"--show\", \"-f\", filename])"},{"line_number":45,"context_line":"    # [:-1]: Cut of the newline"},{"line_number":46,"context_line":"    block_device \u003d block_device[:-1]"},{"line_number":47,"context_line":"    logger.info(\"New block device [%s]\", block_device)"}],"source_content_type":"text/x-python","patch_set":1,"id":"18fa5e48_3a3f7f02","line":44,"updated":"2024-08-30 02:54:47.000000000","message":"it might be 🤏 much cleaner to do the str conversion here","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c24b22cd7974be04a8add579269d871d7e4fe7ed","unresolved":false,"context_lines":[{"line_number":41,"context_line":"def loopdev_attach(filename, sector_size):"},{"line_number":42,"context_line":"    logger.info(\"loopdev attach\")"},{"line_number":43,"context_line":"    logger.debug(\"Calling [sudo losetup --show -f %s]\", filename)"},{"line_number":44,"context_line":"    block_device \u003d exec_sudo([\"losetup\", \"--sector-size\", sector_size, \"--show\", \"-f\", filename])"},{"line_number":45,"context_line":"    # [:-1]: Cut of the newline"},{"line_number":46,"context_line":"    block_device \u003d block_device[:-1]"},{"line_number":47,"context_line":"    logger.info(\"New block device [%s]\", block_device)"}],"source_content_type":"text/x-python","patch_set":1,"id":"f3f79ec2_124945ec","line":44,"in_reply_to":"18fa5e48_3a3f7f02","updated":"2024-09-03 17:59:17.000000000","message":"Done","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"9946c4e15214cbac920872341dd8000640afa234","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            self.image_dir \u003d default_config[\u0027image-dir\u0027]"},{"line_number":88,"context_line":"        if \u0027sector_size\u0027 in config:"},{"line_number":89,"context_line":"            self.sector_size \u003d config[\u0027sector_size\u0027]"},{"line_number":90,"context_line":"        else:"},{"line_number":91,"context_line":"            self.sector_size \u003d 512"},{"line_number":92,"context_line":"        self.filename \u003d os.path.join(self.image_dir, self.name + \".raw\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"1673ba51_c0d51d2b","line":89,"updated":"2024-08-30 02:54:47.000000000","message":"I do wonder if this should optionally come from an environment variable, otherwise there will be cases of having to maintain 2 copies of the same block-device-default.yaml file with only one line difference","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af73f750a53605acbc35f43e17915706bf1b3624","unresolved":true,"context_lines":[{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            self.image_dir \u003d default_config[\u0027image-dir\u0027]"},{"line_number":88,"context_line":"        if \u0027sector_size\u0027 in config:"},{"line_number":89,"context_line":"            self.sector_size \u003d config[\u0027sector_size\u0027]"},{"line_number":90,"context_line":"        else:"},{"line_number":91,"context_line":"            self.sector_size \u003d 512"},{"line_number":92,"context_line":"        self.filename \u003d os.path.join(self.image_dir, self.name + \".raw\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"a502c3fa_d81aa15c","line":89,"in_reply_to":"1673ba51_c0d51d2b","updated":"2024-08-30 14:37:35.000000000","message":"Sigh, yeah, that has come to mind as well.","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c24b22cd7974be04a8add579269d871d7e4fe7ed","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        else:"},{"line_number":87,"context_line":"            self.image_dir \u003d default_config[\u0027image-dir\u0027]"},{"line_number":88,"context_line":"        if \u0027sector_size\u0027 in config:"},{"line_number":89,"context_line":"            self.sector_size \u003d config[\u0027sector_size\u0027]"},{"line_number":90,"context_line":"        else:"},{"line_number":91,"context_line":"            self.sector_size \u003d 512"},{"line_number":92,"context_line":"        self.filename \u003d os.path.join(self.image_dir, self.name + \".raw\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"f41db230_d90e6bf4","line":89,"in_reply_to":"a502c3fa_d81aa15c","updated":"2024-09-03 17:59:17.000000000","message":"Done","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"9946c4e15214cbac920872341dd8000640afa234","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        self.add_rollback(image_delete, self.filename)"},{"line_number":103,"context_line":"        image_create(self.filename, self.size)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        block_device \u003d loopdev_attach(self.filename, str(self.sector_size))"},{"line_number":106,"context_line":"        self.add_rollback(loopdev_detach, block_device)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if \u0027blockdev\u0027 not in self.state:"}],"source_content_type":"text/x-python","patch_set":1,"id":"e0fc929d_5c2a306b","line":105,"updated":"2024-08-30 02:54:47.000000000","message":"See comment line #44","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c24b22cd7974be04a8add579269d871d7e4fe7ed","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self.add_rollback(image_delete, self.filename)"},{"line_number":103,"context_line":"        image_create(self.filename, self.size)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        block_device \u003d loopdev_attach(self.filename, str(self.sector_size))"},{"line_number":106,"context_line":"        self.add_rollback(loopdev_detach, block_device)"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if \u0027blockdev\u0027 not in self.state:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3b1e9544_3727fa19","line":105,"in_reply_to":"e0fc929d_5c2a306b","updated":"2024-09-03 17:59:17.000000000","message":"Done","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"}],"diskimage_builder/block_device/level1/partitioning.py":[{"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":"36e29ec4590c24c1611c1db815a0a21fba2d2bb8","unresolved":true,"context_lines":[{"line_number":97,"context_line":"        \"\"\"Create partitions with MBR\"\"\""},{"line_number":98,"context_line":"        # NOTE(TheJulia): This is funcitonally incompatible with block/sector"},{"line_number":99,"context_line":"        # sizing other than 512 bytes."},{"line_number":100,"context_line":"        with MBR(self.image_path, self.disk_size, self.align) as part_impl:"},{"line_number":101,"context_line":"            for part_cfg in self.partitions:"},{"line_number":102,"context_line":"                part_name \u003d part_cfg.get_name()"},{"line_number":103,"context_line":"                part_bootflag \u003d PartitionNode.flag_boot \\"}],"source_content_type":"text/x-python","patch_set":4,"id":"ae5150a5_0a99baab","line":100,"updated":"2024-09-03 20:36:22.000000000","message":"nit: should we warn in this case then? If someone asks for MBR + 4k blocks?","commit_id":"2df6d9b91415241b9d16cd96dd78f9b15e4e8e26"}],"diskimage_builder/elements/block-device-efi-4k/README.rst":[{"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":"36e29ec4590c24c1611c1db815a0a21fba2d2bb8","unresolved":true,"context_lines":[{"line_number":12,"context_line":"\u003chttps://en.wikipedia.org/wiki/BIOS_boot_partition\u003e`__ and a EFI boot"},{"line_number":13,"context_line":"partition for maximum compatability."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This element requires ``mkfs.vfat`` command to be available on the build"},{"line_number":16,"context_line":"system, usually included in the dosfstools OS package."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Furthermore, the sector size created by this element will not be compatible"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7d6e54d7_be197997","line":15,"updated":"2024-09-03 20:36:22.000000000","message":"https://opendev.org/openstack/diskimage-builder/src/branch/master/bindep.txt#L8 noting that we already have dosfstools in the bindep.txt","commit_id":"2df6d9b91415241b9d16cd96dd78f9b15e4e8e26"}],"diskimage_builder/elements/block-device-efi-4k/block-device-default.yaml":[{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"9946c4e15214cbac920872341dd8000640afa234","unresolved":true,"context_lines":[{"line_number":1,"context_line":"- local_loop:"},{"line_number":2,"context_line":"    name: image0"},{"line_number":3,"context_line":"    sector_size: 4096"},{"line_number":4,"context_line":"- partitioning:"},{"line_number":5,"context_line":"    base: image0"},{"line_number":6,"context_line":"    label: gpt"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"04a68427_424a0434","line":3,"updated":"2024-08-30 02:54:47.000000000","message":"I guess this illustrates my point about setting this via an env variable. We could test this with a job that sets DIB_BLOCK_DEVICE_SECTOR_SIZE\u003d4096 and we wouldn\u0027t need a whole duplicated element","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"af73f750a53605acbc35f43e17915706bf1b3624","unresolved":true,"context_lines":[{"line_number":1,"context_line":"- local_loop:"},{"line_number":2,"context_line":"    name: image0"},{"line_number":3,"context_line":"    sector_size: 4096"},{"line_number":4,"context_line":"- partitioning:"},{"line_number":5,"context_line":"    base: image0"},{"line_number":6,"context_line":"    label: gpt"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"fdbe0af4_b27478d9","line":3,"in_reply_to":"04a68427_424a0434","updated":"2024-08-30 14:37:35.000000000","message":"I could see both as viable paths to take/support. But yeah, environment variable will be cleaner for many folks.","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c24b22cd7974be04a8add579269d871d7e4fe7ed","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- local_loop:"},{"line_number":2,"context_line":"    name: image0"},{"line_number":3,"context_line":"    sector_size: 4096"},{"line_number":4,"context_line":"- partitioning:"},{"line_number":5,"context_line":"    base: image0"},{"line_number":6,"context_line":"    label: gpt"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7abd75d8_a647202d","line":3,"in_reply_to":"fdbe0af4_b27478d9","updated":"2024-09-03 17:59:17.000000000","message":"Done","commit_id":"02b9cb140887d263f952132c01ad41c9d922c0c0"}]}
