)]}'
{"ironic_lib/disk_utils.py":[{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"99bc198c29f29f374cf18e40d9c94943ad8776ea","unresolved":false,"context_lines":[{"line_number":954,"context_line":"    \"\"\""},{"line_number":955,"context_line":"    try:"},{"line_number":956,"context_line":"        # flush buffers out"},{"line_number":957,"context_line":"        utils.execute(\u0027sync\u0027)"},{"line_number":958,"context_line":"        utils.execute(\u0027partprobe\u0027, device, run_as_root\u003dTrue,"},{"line_number":959,"context_line":"                      attempts\u003dCONF.disk_utils.partprobe_attempts)"},{"line_number":960,"context_line":"    except processutils.ProcessExecutionError as exc:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_2ea2b54c","line":957,"range":{"start_line":957,"start_character":23,"end_line":957,"end_character":27},"updated":"2019-01-24 07:36:21.000000000","message":"nit: failed `sync` would skip `partprobe`, may be have them in separate try-except blocks?","commit_id":"2a36ac0120c561612543af7bf8235c4f5a2cb612"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"99bc198c29f29f374cf18e40d9c94943ad8776ea","unresolved":false,"context_lines":[{"line_number":967,"context_line":"    # second copy is written to disk."},{"line_number":968,"context_line":"    fix_gpt_partition(device, node_uuid)"},{"line_number":969,"context_line":"    LOG.debug(\u0027Waiting until udev event queue is empty\u0027)"},{"line_number":970,"context_line":"    utils.execute(\u0027udevadm\u0027, \u0027settle\u0027)"},{"line_number":971,"context_line":""},{"line_number":972,"context_line":"    oem_part \u003d _get_labelled_partition(device,"},{"line_number":973,"context_line":"                                       OEM_LABEL,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_0e6d7103","line":970,"range":{"start_line":970,"start_character":10,"end_line":970,"end_character":17},"updated":"2019-01-24 07:36:21.000000000","message":"this `exec` is the only exec not being in the try-except block","commit_id":"2a36ac0120c561612543af7bf8235c4f5a2cb612"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"99bc198c29f29f374cf18e40d9c94943ad8776ea","unresolved":false,"context_lines":[{"line_number":996,"context_line":"    # OEM partition is labeled in CoreOS images, and the ignition"},{"line_number":997,"context_line":"    # configuration that is read is config.ign based in the root of"},{"line_number":998,"context_line":"    # the filesystem."},{"line_number":999,"context_line":"    ignition_file \u003d path + \u0027/config.ign\u0027"},{"line_number":1000,"context_line":""},{"line_number":1001,"context_line":"    try:"},{"line_number":1002,"context_line":"        with open(ignition_file, \"w\") as target_file:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_4ebe1966","line":999,"range":{"start_line":999,"start_character":20,"end_line":999,"end_character":24},"updated":"2019-01-24 07:36:21.000000000","message":"may be `os.path.join`?","commit_id":"2a36ac0120c561612543af7bf8235c4f5a2cb612"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"99bc198c29f29f374cf18e40d9c94943ad8776ea","unresolved":false,"context_lines":[{"line_number":1001,"context_line":"    try:"},{"line_number":1002,"context_line":"        with open(ignition_file, \"w\") as target_file:"},{"line_number":1003,"context_line":"            target_file.write(response.content)"},{"line_number":1004,"context_line":"    except OSError as exc:"},{"line_number":1005,"context_line":"        msg \u003d (_(\u0027Failed to write ignition configuration to disk %(disk)s \u0027"},{"line_number":1006,"context_line":"                 \u0027for node %(node)s. Error: %(error)s\u0027) %"},{"line_number":1007,"context_line":"               {\u0027disk\u0027: device, \u0027node\u0027: node_uuid, \u0027error\u0027: exc})"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_2ebb9572","line":1004,"range":{"start_line":1004,"start_character":4,"end_line":1004,"end_character":10},"updated":"2019-01-24 07:36:21.000000000","message":"should we rm the remnants of the file?","commit_id":"2a36ac0120c561612543af7bf8235c4f5a2cb612"},{"author":{"_account_id":26340,"name":"Ilya Etingof","email":"etingof@gmail.com","username":"etingof"},"change_message_id":"99bc198c29f29f374cf18e40d9c94943ad8776ea","unresolved":false,"context_lines":[{"line_number":1014,"context_line":"    except OSError as exc:"},{"line_number":1015,"context_line":"        # Basically non-fatal, but would be good to log that something"},{"line_number":1016,"context_line":"        # happened if there was a failure."},{"line_number":1017,"context_line":"        LOG.warning(\u0027Failed to un-mount the OEM partition and sync the \u0027"},{"line_number":1018,"context_line":"                    \u0027content to disk %(disk)s.\u0027, {\u0027disk\u0027: device})"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_eeacad36","line":1017,"range":{"start_line":1017,"start_character":58,"end_line":1017,"end_character":61},"updated":"2019-01-24 07:36:21.000000000","message":"and/or perhaps?","commit_id":"2a36ac0120c561612543af7bf8235c4f5a2cb612"}]}
