)]}'
{"ironic/drivers/modules/deploy_utils.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"eb6096607cd7784c7bf28b62a4251ca8fdc6136e","unresolved":false,"context_lines":[{"line_number":881,"context_line":"    time_start \u003d time.time()"},{"line_number":882,"context_line":"    LOG.debug(\u0027Start computing %(algo)s checksum for image %(image)s.\u0027,"},{"line_number":883,"context_line":"              {\u0027algo\u0027: algorithm, \u0027image\u0027: image_path})"},{"line_number":884,"context_line":"    checksum \u003d hashlib.new(algorithm)  # Raises appropriate exceptions."},{"line_number":885,"context_line":"    with open(image_path, \u0027rb\u0027) as f:"},{"line_number":886,"context_line":"        for chunk in iter(lambda: f.read(65536), b\u0027\u0027):"},{"line_number":887,"context_line":"            checksum.update(chunk)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_b5543700","line":884,"updated":"2020-06-08 16:16:09.000000000","message":"this bit is practically a copypaste from oslo_utils with addition of time.sleep(0). I am not sure whether oslo people would accept such change inside fileutils, but can propose it there instead.","commit_id":"9683ee8aa46bc04fd342325eab9465cb0f723445"},{"author":{"_account_id":6928,"name":"Ben Nemec","email":"openstack@nemebean.com","username":"bnemec"},"change_message_id":"6937d986eb48407402d1613ff7f333065a5e48d1","unresolved":false,"context_lines":[{"line_number":881,"context_line":"    time_start \u003d time.time()"},{"line_number":882,"context_line":"    LOG.debug(\u0027Start computing %(algo)s checksum for image %(image)s.\u0027,"},{"line_number":883,"context_line":"              {\u0027algo\u0027: algorithm, \u0027image\u0027: image_path})"},{"line_number":884,"context_line":"    checksum \u003d hashlib.new(algorithm)  # Raises appropriate exceptions."},{"line_number":885,"context_line":"    with open(image_path, \u0027rb\u0027) as f:"},{"line_number":886,"context_line":"        for chunk in iter(lambda: f.read(65536), b\u0027\u0027):"},{"line_number":887,"context_line":"            checksum.update(chunk)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_f5c22f86","line":884,"in_reply_to":"ff570b3c_356147d5","updated":"2020-06-08 16:23:27.000000000","message":"I\u0027m pretty sure we have similar sleeps elsewhere in Oslo for the same reason, so I\u0027d be in favor of adding this. The reasoning behind it is broadly applicably to anywhere you\u0027re computing checksums.","commit_id":"9683ee8aa46bc04fd342325eab9465cb0f723445"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"409fde9088075886dac945100f4e4a14a5757499","unresolved":false,"context_lines":[{"line_number":881,"context_line":"    time_start \u003d time.time()"},{"line_number":882,"context_line":"    LOG.debug(\u0027Start computing %(algo)s checksum for image %(image)s.\u0027,"},{"line_number":883,"context_line":"              {\u0027algo\u0027: algorithm, \u0027image\u0027: image_path})"},{"line_number":884,"context_line":"    checksum \u003d hashlib.new(algorithm)  # Raises appropriate exceptions."},{"line_number":885,"context_line":"    with open(image_path, \u0027rb\u0027) as f:"},{"line_number":886,"context_line":"        for chunk in iter(lambda: f.read(65536), b\u0027\u0027):"},{"line_number":887,"context_line":"            checksum.update(chunk)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_356147d5","line":884,"in_reply_to":"ff570b3c_b5543700","updated":"2020-06-08 16:18:22.000000000","message":"vdrok, seems reasonable to ask them because otherwise sleep(0) is a noop but as you\u0027ve pointed out it does allow threads to switch.","commit_id":"9683ee8aa46bc04fd342325eab9465cb0f723445"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"563a68a97045bb4871910d67baa6e83404857fdb","unresolved":false,"context_lines":[{"line_number":891,"context_line":"    LOG.debug(\u0027Computed %(algo)s checksum for image %(image)s in \u0027"},{"line_number":892,"context_line":"              \u0027%(delta).2f seconds, checksum value: %(checksum)s.\u0027,"},{"line_number":893,"context_line":"              {\u0027algo\u0027: algorithm, \u0027image\u0027: image_path, \u0027delta\u0027: time_elapsed,"},{"line_number":894,"context_line":"               \u0027checksum\u0027: checksum})"},{"line_number":895,"context_line":"    return checksum_hash"},{"line_number":896,"context_line":""},{"line_number":897,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ff570b3c_55783b8e","line":894,"range":{"start_line":894,"start_character":27,"end_line":894,"end_character":35},"updated":"2020-06-08 16:17:30.000000000","message":"need to log checksum_hash here.","commit_id":"9683ee8aa46bc04fd342325eab9465cb0f723445"}]}
