)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"76141b8feb0b001cd2b6a86ab4b8ff8e43cc7f0d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f19398a3_8f502144","updated":"2024-09-30 21:40:42.000000000","message":"Also if we aren\u0027t already doing so one of the nodepool functional jobs that actually boot a test image should probably build an image with lvm to help cover this better. If nothing else to ensure we\u0027re not going to dramatically regress somehow (since we probably can\u0027t test 4k block sizes easily there).","commit_id":"e4f60b8e04675879da8ef0b57c12e9d8c44586d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a3be74706105976281e8bfa76cc6accb72535010","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"dfe25ef2_513b0e87","in_reply_to":"f19398a3_8f502144","updated":"2024-10-01 00:36:18.000000000","message":"Yeah, I want to try and tie this out with an ironic job because we also need to build and spin out a whole 4k image and all. Likely on my plate for later this week.","commit_id":"e4f60b8e04675879da8ef0b57c12e9d8c44586d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"9fc22039e24d11297321b2df76e6dce39aedfaa9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b5404040_aa1adc4e","updated":"2024-10-04 14:14:35.000000000","message":"As a note, this is getting tested, beyond manual testing, by being pulled in as part of https://review.opendev.org/c/openstack/ironic/+/931061","commit_id":"3894828fe64d5c0cf9255b1dc9b4950fea9cb4d3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b4f261d53b5a7b63e27ec872cb8f28ab654b6f8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"fc0c2ae4_34e54065","updated":"2024-10-21 15:14:47.000000000","message":"meow","commit_id":"f764e5b520a61ee6c0d203119e674d05d25f6151"}],"diskimage_builder/elements/growvols/static/usr/local/sbin/growvols":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"20f641ad1b31113d0f673a3671131410a6189a99","unresolved":true,"context_lines":[{"line_number":570,"context_line":"        # round down to a whole extent"},{"line_number":571,"context_line":"        size_bytes -\u003d size_bytes % PHYSICAL_EXTENT_BYTES"},{"line_number":572,"context_line":"        # reduce for metadata overhead"},{"line_number":573,"context_line":"        size_bytes -\u003d PHYSICAL_EXTENT_BYTES"},{"line_number":574,"context_line":"    if disk[\u0027TYPE\u0027] \u003d\u003d \u0027mpath\u0027:"},{"line_number":575,"context_line":"        dev_path \u003d \u0027/dev/mapper/%s\u0027 % devname"},{"line_number":576,"context_line":"    else:"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"a58d5345_953f67a9","line":573,"updated":"2024-09-30 21:38:49.000000000","message":"Do we need to reduce the size of each lv or just the pv? If it is just the pv that needs to be reduces in size can we do that math here once rather than doing it for every logical volume later?\n\nAt least based on the commit message iseems like we could do something like `size_bytes -\u003d (2 * PHYSICAL_EXTENT_BYTES)` and be in the clear.","commit_id":"e4f60b8e04675879da8ef0b57c12e9d8c44586d2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"a3be74706105976281e8bfa76cc6accb72535010","unresolved":true,"context_lines":[{"line_number":570,"context_line":"        # round down to a whole extent"},{"line_number":571,"context_line":"        size_bytes -\u003d size_bytes % PHYSICAL_EXTENT_BYTES"},{"line_number":572,"context_line":"        # reduce for metadata overhead"},{"line_number":573,"context_line":"        size_bytes -\u003d PHYSICAL_EXTENT_BYTES"},{"line_number":574,"context_line":"    if disk[\u0027TYPE\u0027] \u003d\u003d \u0027mpath\u0027:"},{"line_number":575,"context_line":"        dev_path \u003d \u0027/dev/mapper/%s\u0027 % devname"},{"line_number":576,"context_line":"    else:"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3d41ee4f_9b1d061c","line":573,"in_reply_to":"a58d5345_953f67a9","updated":"2024-10-01 00:36:18.000000000","message":"So, we could sort of do that *here* but I it is not just the size but the volumes as well, at least I think, becuase the volumes *really* need the same logic applied because if you have a thinpool it is the outer boundary for allocation and to then have volumes which can still exceed the thinpool, even if only by 2 extents each, seems problematic.\n\nHere, at least seems to be more geared about the size to be logged as well (I started here.))","commit_id":"e4f60b8e04675879da8ef0b57c12e9d8c44586d2"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"3de19ec7b9e098659f0fd88cc2576d7763775476","unresolved":true,"context_lines":[{"line_number":208,"context_line":"    \"\"\""},{"line_number":209,"context_line":"    # NOTE(TheJulia): Using Int to ensure whole numbers are returned."},{"line_number":210,"context_line":"    return int("},{"line_number":211,"context_line":"        ((int(num) / PHYSICAL_EXTENT_BYTES) - 2) * PHYSICAL_EXTENT_BYTES)"},{"line_number":212,"context_line":""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"def execute(cmd):"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"4aed62ad_100c5b80","line":211,"updated":"2024-10-15 01:31:55.000000000","message":"Actually it would be better if this used integer division (//) then there is no need to cast it back to an int.\n\nAlso since this is a nice self-contained function, some specific unit tests would be useful. I might just go ahead and do that now","commit_id":"3894828fe64d5c0cf9255b1dc9b4950fea9cb4d3"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"4cb85a6c04e032a3acab38e9ff1605c7e70d8fca","unresolved":true,"context_lines":[{"line_number":208,"context_line":"    \"\"\""},{"line_number":209,"context_line":"    result \u003d ((num // PHYSICAL_EXTENT_BYTES) - 2) * PHYSICAL_EXTENT_BYTES"},{"line_number":210,"context_line":"    if result \u003c\u003d 0:"},{"line_number":211,"context_line":"        raise Exception("},{"line_number":212,"context_line":"            \u0027Not enough space available to shrink to alignment. \u0027"},{"line_number":213,"context_line":"            \u0027Requires more than %s, requested: %s\u0027 % ("},{"line_number":214,"context_line":"                convert_bytes(PHYSICAL_EXTENT_BYTES * 2),"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"66a9232c_7d81a2d6","line":211,"updated":"2024-10-16 18:00:24.000000000","message":"reasonable!","commit_id":"59ce3e136d284a466af3270e5bb83243116fd727"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"95ffc246ee1bd239d2fd8f3433d94e65890a360e","unresolved":true,"context_lines":[{"line_number":478,"context_line":"        size_bytes, remaining_bytes \u003d amount_unit_to_extent("},{"line_number":479,"context_line":"            amount_unit, total_size_bytes, remaining_bytes)"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"        if size_bytes \u003d\u003d 0:"},{"line_number":482,"context_line":"            continue"},{"line_number":483,"context_line":""},{"line_number":484,"context_line":"        volume_path \u003d \u0027/dev/mapper/%s\u0027 % device[\u0027NAME\u0027]"}],"source_content_type":"application/octet-stream","patch_set":4,"id":"35158015_81fe0596","line":481,"updated":"2024-10-15 02:36:16.000000000","message":"This lower limit should now be PHYSICAL_EXTENT_BYTES * 2","commit_id":"59ce3e136d284a466af3270e5bb83243116fd727"}]}
