)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"4a4634d520cc42d6ad2a00787f45902808e9cc44","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f92d180d_42301f12","updated":"2022-02-26 06:51:14.000000000","message":"LGTM. Thanks Julia!","commit_id":"03e80d04e80c3ab4faa90689f2167488ff3908ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"f7af7905e6e3e8f26e85b1ca5e19be0405e3ac74","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ed129997_2e9d1c4e","updated":"2022-02-28 15:59:44.000000000","message":"Only release note changed since patchset 1.","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e4f1d6730051d02696bf45100a592aacb0e19be4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3d5397d5_3d1cf014","updated":"2022-03-09 21:46:01.000000000","message":"Thanks for fixing this! I\u0027m tired so not going to push the workflow button...","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"c9946ffa0604ac1101ce3d909782961919747ce0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"16dc230e_510dd18d","updated":"2022-03-10 20:09:18.000000000","message":"recheck","commit_id":"99ca1086dbfc7b6e41cf800b0bd899565e2e8922"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"9d8492461d7f1b0c143414a563fecc81ab792dfa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a0d33785_af2336c6","updated":"2022-03-10 15:08:58.000000000","message":"thanks!","commit_id":"99ca1086dbfc7b6e41cf800b0bd899565e2e8922"}],"ironic_python_agent/extensions/image.py":[{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e4f1d6730051d02696bf45100a592aacb0e19be4","unresolved":true,"context_lines":[{"line_number":489,"context_line":"    :param efi_system_part_uuid: uuid to use to try and find the"},{"line_number":490,"context_line":"                                 partition. Warning: this may be"},{"line_number":491,"context_line":"                                 a partition uuid or a actual uuid."},{"line_number":492,"context_line":"    :param device: Base device utilized"},{"line_number":493,"context_line":"    \"\"\""},{"line_number":494,"context_line":"    fstab_file \u003d os.path.join(fs_path, \u0027etc/fstab\u0027)"},{"line_number":495,"context_line":"    if not os.path.exists(fstab_file):"}],"source_content_type":"text/x-python","patch_set":2,"id":"66c8eee8_4d104334","line":492,"updated":"2022-03-09 21:46:01.000000000","message":"i\u0027m not sure where this \u0027device\u0027 param comes from? was it added and then removed?","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ef2aecd48b831964c3c2a4235db7ea1a59837514","unresolved":false,"context_lines":[{"line_number":489,"context_line":"    :param efi_system_part_uuid: uuid to use to try and find the"},{"line_number":490,"context_line":"                                 partition. Warning: this may be"},{"line_number":491,"context_line":"                                 a partition uuid or a actual uuid."},{"line_number":492,"context_line":"    :param device: Base device utilized"},{"line_number":493,"context_line":"    \"\"\""},{"line_number":494,"context_line":"    fstab_file \u003d os.path.join(fs_path, \u0027etc/fstab\u0027)"},{"line_number":495,"context_line":"    if not os.path.exists(fstab_file):"}],"source_content_type":"text/x-python","patch_set":2,"id":"cee0960c_2e586c94","line":492,"in_reply_to":"66c8eee8_4d104334","updated":"2022-03-10 15:07:22.000000000","message":"Oh, i went to add it and realized it wouldn\u0027t be viable, so I updated the code to search for it.","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e4f1d6730051d02696bf45100a592aacb0e19be4","unresolved":true,"context_lines":[{"line_number":496,"context_line":"        return"},{"line_number":497,"context_line":"    try:"},{"line_number":498,"context_line":"        # Collect all of the block devices so we appropriately match UUID or"},{"line_number":499,"context_line":"        # or PARTUUID into an fstab entry."},{"line_number":500,"context_line":"        block_devs \u003d hardware.list_all_block_devices(block_type\u003d\u0027part\u0027)"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"        # Default to uuid, but if we find a partuuid instead, that is okay,"}],"source_content_type":"text/x-python","patch_set":2,"id":"2730c1f3_25e7c3a3","line":499,"updated":"2022-03-09 21:46:01.000000000","message":"nit extra \u0027or\u0027","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ef2aecd48b831964c3c2a4235db7ea1a59837514","unresolved":false,"context_lines":[{"line_number":496,"context_line":"        return"},{"line_number":497,"context_line":"    try:"},{"line_number":498,"context_line":"        # Collect all of the block devices so we appropriately match UUID or"},{"line_number":499,"context_line":"        # or PARTUUID into an fstab entry."},{"line_number":500,"context_line":"        block_devs \u003d hardware.list_all_block_devices(block_type\u003d\u0027part\u0027)"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"        # Default to uuid, but if we find a partuuid instead, that is okay,"}],"source_content_type":"text/x-python","patch_set":2,"id":"d9ea16b3_259bbd88","line":499,"in_reply_to":"2730c1f3_25e7c3a3","updated":"2022-03-10 15:07:22.000000000","message":"Done","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e4f1d6730051d02696bf45100a592aacb0e19be4","unresolved":true,"context_lines":[{"line_number":504,"context_line":"        fstab_label \u003d None"},{"line_number":505,"context_line":"        for bdev in block_devs:"},{"line_number":506,"context_line":"            # Check UUID first"},{"line_number":507,"context_line":"            if bdev.uuid and efi_system_part_uuid in bdev.uuid:"},{"line_number":508,"context_line":"                LOG.debug(\u0027Identified block device %(dev)s UUID %(uuid)s \u0027"},{"line_number":509,"context_line":"                          \u0027for UEFI boot. Proceeding with fstab update using \u0027"},{"line_number":510,"context_line":"                          \u0027a UUID.\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"93c68839_1886b31e","line":507,"updated":"2022-03-09 21:46:01.000000000","message":"i don\u0027t know what the values for bdev are. is bdev.uuid a list/set? Wondering why \u0027in\u0027 is being used here. or is it some long string, and the efi-uuid is in that string or actually the string itself?","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ef2aecd48b831964c3c2a4235db7ea1a59837514","unresolved":true,"context_lines":[{"line_number":504,"context_line":"        fstab_label \u003d None"},{"line_number":505,"context_line":"        for bdev in block_devs:"},{"line_number":506,"context_line":"            # Check UUID first"},{"line_number":507,"context_line":"            if bdev.uuid and efi_system_part_uuid in bdev.uuid:"},{"line_number":508,"context_line":"                LOG.debug(\u0027Identified block device %(dev)s UUID %(uuid)s \u0027"},{"line_number":509,"context_line":"                          \u0027for UEFI boot. Proceeding with fstab update using \u0027"},{"line_number":510,"context_line":"                          \u0027a UUID.\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"51d4a616_a7578cd0","line":507,"in_reply_to":"93c68839_1886b31e","updated":"2022-03-10 15:07:22.000000000","message":"bdev is a list of block device class objects, uuid is a field on the object which represents a string, so we can use in on it if it has a value.","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e4f1d6730051d02696bf45100a592aacb0e19be4","unresolved":true,"context_lines":[{"line_number":528,"context_line":"        if not fstab_label:"},{"line_number":529,"context_line":"            # Fallback to prior behavior, which should generally be correct."},{"line_number":530,"context_line":"            LOG.warning(\u0027Falling back to fstab entry addition label of UUID. \u0027"},{"line_number":531,"context_line":"                        \u0027we could not identify which identifier label should \u0027"},{"line_number":532,"context_line":"                        \u0027be used.\u0027)"},{"line_number":533,"context_line":"            fstab_label \u003d \u0027UUID\u0027"},{"line_number":534,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"b0d96ac1_b78c45f9","line":531,"updated":"2022-03-09 21:46:01.000000000","message":"nit s/we/We/.\n\nAre there only two choices, UUID and PARTUUID? Wondering if the \u0027which identifier label should be used\u0027 provides enough info to the reader.","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ef2aecd48b831964c3c2a4235db7ea1a59837514","unresolved":true,"context_lines":[{"line_number":528,"context_line":"        if not fstab_label:"},{"line_number":529,"context_line":"            # Fallback to prior behavior, which should generally be correct."},{"line_number":530,"context_line":"            LOG.warning(\u0027Falling back to fstab entry addition label of UUID. \u0027"},{"line_number":531,"context_line":"                        \u0027we could not identify which identifier label should \u0027"},{"line_number":532,"context_line":"                        \u0027be used.\u0027)"},{"line_number":533,"context_line":"            fstab_label \u003d \u0027UUID\u0027"},{"line_number":534,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"53ba86ec_f6cdd194","line":531,"in_reply_to":"b0d96ac1_b78c45f9","updated":"2022-03-10 15:07:22.000000000","message":"Revising the text to be a bit more verbose.","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e4f1d6730051d02696bf45100a592aacb0e19be4","unresolved":true,"context_lines":[{"line_number":537,"context_line":"        with open(fstab_file, \"r+\") as fstab:"},{"line_number":538,"context_line":"            already_present_string \u003d fstab_label + \u0027\u003d\u0027 + efi_system_part_uuid"},{"line_number":539,"context_line":"            if already_present_string not in fstab.read():"},{"line_number":540,"context_line":"                fstab.writelines(fstab_string)"},{"line_number":541,"context_line":"    except (OSError, EnvironmentError, IOError) as exc:"},{"line_number":542,"context_line":"        LOG.debug(\u0027Failed to add entry to /etc/fstab. Error %s\u0027, exc)"},{"line_number":543,"context_line":"    LOG.debug(\u0027Added entry to /etc/fstab for EFI partition auto-mount \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"3373f0e4_e0ecd7d8","line":540,"updated":"2022-03-09 21:46:01.000000000","message":"dumb question. is it possible that the file has PARTUUID\u003d... and this code had determined it should be UUID\u003d... ? and if so, does this replace or add to the end of the file and is that the desired behaviour? [am tired now, so want to make sure...]","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ef2aecd48b831964c3c2a4235db7ea1a59837514","unresolved":true,"context_lines":[{"line_number":537,"context_line":"        with open(fstab_file, \"r+\") as fstab:"},{"line_number":538,"context_line":"            already_present_string \u003d fstab_label + \u0027\u003d\u0027 + efi_system_part_uuid"},{"line_number":539,"context_line":"            if already_present_string not in fstab.read():"},{"line_number":540,"context_line":"                fstab.writelines(fstab_string)"},{"line_number":541,"context_line":"    except (OSError, EnvironmentError, IOError) as exc:"},{"line_number":542,"context_line":"        LOG.debug(\u0027Failed to add entry to /etc/fstab. Error %s\u0027, exc)"},{"line_number":543,"context_line":"    LOG.debug(\u0027Added entry to /etc/fstab for EFI partition auto-mount \u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"38269028_c2f38176","line":540,"in_reply_to":"3373f0e4_e0ecd7d8","updated":"2022-03-10 15:07:22.000000000","message":"I guess that is entirely possible, but at that point it was also likely never going to boot anyhow because it has invalid configuration in the disk  image to begin with.","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"}],"releasenotes/notes/handle-partuuid-for-fstab-e0aadea20a056982.yaml":[{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"4a4634d520cc42d6ad2a00787f45902808e9cc44","unresolved":true,"context_lines":[{"line_number":7,"context_line":"    respectively. Often these sorts of issues arise under heavy IO load."},{"line_number":8,"context_line":"    We now scan, and identify which \"UUID\" we identified, and update"},{"line_number":9,"context_line":"    an Linux fstab entry appropriately. For more information, please see"},{"line_number":10,"context_line":"    `story #2009881 \u003chttps://storyboard.openstack.org/#!/story/2009881\u003e`_. "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"c3135647_d41fa014","line":10,"range":{"start_line":10,"start_character":74,"end_line":10,"end_character":75},"updated":"2022-02-26 06:51:14.000000000","message":"nit: whitespace","commit_id":"03e80d04e80c3ab4faa90689f2167488ff3908ce"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"de36cb9a82ff39b38e67933f5df7061f5a4d8742","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    respectively. Often these sorts of issues arise under heavy IO load."},{"line_number":8,"context_line":"    We now scan, and identify which \"UUID\" we identified, and update"},{"line_number":9,"context_line":"    an Linux fstab entry appropriately. For more information, please see"},{"line_number":10,"context_line":"    `story #2009881 \u003chttps://storyboard.openstack.org/#!/story/2009881\u003e`_. "}],"source_content_type":"text/x-yaml","patch_set":1,"id":"bbf4bad0_b164d1f7","line":10,"range":{"start_line":10,"start_character":74,"end_line":10,"end_character":75},"in_reply_to":"c3135647_d41fa014","updated":"2022-02-28 16:00:09.000000000","message":"Done","commit_id":"03e80d04e80c3ab4faa90689f2167488ff3908ce"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e4f1d6730051d02696bf45100a592aacb0e19be4","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes handling of an Partition UUID being returned instead of a"},{"line_number":5,"context_line":"    Partition\u0027s UUID when the OS may not return the Partition\u0027s UUID in time."},{"line_number":6,"context_line":"    These two fields are typically referred to as PARTUUID and UUID,"},{"line_number":7,"context_line":"    respectively. Often these sorts of issues arise under heavy IO load."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"8e0ed132_47aed1ab","line":4,"updated":"2022-03-09 21:46:01.000000000","message":"nit s/an/a/","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ef2aecd48b831964c3c2a4235db7ea1a59837514","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Fixes handling of an Partition UUID being returned instead of a"},{"line_number":5,"context_line":"    Partition\u0027s UUID when the OS may not return the Partition\u0027s UUID in time."},{"line_number":6,"context_line":"    These two fields are typically referred to as PARTUUID and UUID,"},{"line_number":7,"context_line":"    respectively. Often these sorts of issues arise under heavy IO load."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"a873e67c_39f48199","line":4,"in_reply_to":"8e0ed132_47aed1ab","updated":"2022-03-10 15:07:22.000000000","message":"Done","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"e4f1d6730051d02696bf45100a592aacb0e19be4","unresolved":true,"context_lines":[{"line_number":6,"context_line":"    These two fields are typically referred to as PARTUUID and UUID,"},{"line_number":7,"context_line":"    respectively. Often these sorts of issues arise under heavy IO load."},{"line_number":8,"context_line":"    We now scan, and identify which \"UUID\" we identified, and update"},{"line_number":9,"context_line":"    an Linux fstab entry appropriately. For more information, please see"},{"line_number":10,"context_line":"    `story #2009881 \u003chttps://storyboard.openstack.org/#!/story/2009881\u003e`_."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"c4a38659_e4d93edd","line":9,"updated":"2022-03-09 21:46:01.000000000","message":"nit s/an/a/","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"ef2aecd48b831964c3c2a4235db7ea1a59837514","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    These two fields are typically referred to as PARTUUID and UUID,"},{"line_number":7,"context_line":"    respectively. Often these sorts of issues arise under heavy IO load."},{"line_number":8,"context_line":"    We now scan, and identify which \"UUID\" we identified, and update"},{"line_number":9,"context_line":"    an Linux fstab entry appropriately. For more information, please see"},{"line_number":10,"context_line":"    `story #2009881 \u003chttps://storyboard.openstack.org/#!/story/2009881\u003e`_."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"8a314628_2140edcb","line":9,"in_reply_to":"c4a38659_e4d93edd","updated":"2022-03-10 15:07:22.000000000","message":"Done","commit_id":"23a2d65534edc654eb502e865a0c9d37e9e7e719"}]}
