)]}'
{"ironic_lib/disk_utils.py":[{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"7f5d8a387ca26d9db15ae2ea60bfa35c8d1614a5","unresolved":false,"context_lines":[{"line_number":742,"context_line":"        commands fail."},{"line_number":743,"context_line":"    \"\"\""},{"line_number":744,"context_line":"    try:"},{"line_number":745,"context_line":"        output, _err \u003d utils.execute(\u0027sgdisk\u0027, \u0027-v\u0027, device, run_as_root\u003dTrue)"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"        search_str \u003d \"it doesn\u0027t reside\\nat the end of the disk\""},{"line_number":748,"context_line":"        if search_str in output:"},{"line_number":749,"context_line":"            utils.execute(\u0027sgdisk\u0027, \u0027-e\u0027, device, run_as_root\u003dTrue)"},{"line_number":750,"context_line":"    except (processutils.UnknownArgumentError,"},{"line_number":751,"context_line":"            processutils.ProcessExecutionError, OSError) as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_7d33cb14","line":748,"range":{"start_line":745,"start_character":8,"end_line":748,"end_character":32},"updated":"2018-08-28 15:06:15.000000000","message":"Can we use same logic as in IPA [1]?\n[1] https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/shell/write_image.sh#L40-L45","commit_id":"b9a109c65f23b217aac9e698fdfd47f4fc174331"},{"author":{"_account_id":27641,"name":"cheng li","email":"li.chenga@h3c.com","username":"chenga"},"change_message_id":"68fbce8234c94ab0ba06dd58edbc84a17023efd6","unresolved":false,"context_lines":[{"line_number":742,"context_line":"        commands fail."},{"line_number":743,"context_line":"    \"\"\""},{"line_number":744,"context_line":"    try:"},{"line_number":745,"context_line":"        output, _err \u003d utils.execute(\u0027sgdisk\u0027, \u0027-v\u0027, device, run_as_root\u003dTrue)"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"        search_str \u003d \"it doesn\u0027t reside\\nat the end of the disk\""},{"line_number":748,"context_line":"        if search_str in output:"},{"line_number":749,"context_line":"            utils.execute(\u0027sgdisk\u0027, \u0027-e\u0027, device, run_as_root\u003dTrue)"},{"line_number":750,"context_line":"    except (processutils.UnknownArgumentError,"},{"line_number":751,"context_line":"            processutils.ProcessExecutionError, OSError) as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_d0e66f4b","line":748,"range":{"start_line":745,"start_character":8,"end_line":748,"end_character":32},"in_reply_to":"3f79a3b5_7d33cb14","updated":"2018-08-29 11:45:58.000000000","message":"The goal here is to test if GPT backup table is at the end of the disk.\nSo you mean we read the last 33 sectors, and test if it\u0027s a valid GPT table?\n\nI prefer the \"sgdisk\" way, as it\u0027s an existing tool, and the \u0027-v\u0027 option doesn\u0027t do extra work more than verifying disk. Seems it\u0027s the right tool.","commit_id":"b9a109c65f23b217aac9e698fdfd47f4fc174331"},{"author":{"_account_id":11076,"name":"Shivanand Tendulker","email":"stendulker@gmail.com","username":"stendulker"},"change_message_id":"e9dfae29113edc7380b076ba605f1a80c7b588e7","unresolved":false,"context_lines":[{"line_number":742,"context_line":"        commands fail."},{"line_number":743,"context_line":"    \"\"\""},{"line_number":744,"context_line":"    try:"},{"line_number":745,"context_line":"        output, _err \u003d utils.execute(\u0027sgdisk\u0027, \u0027-v\u0027, device, run_as_root\u003dTrue)"},{"line_number":746,"context_line":""},{"line_number":747,"context_line":"        search_str \u003d \"it doesn\u0027t reside\\nat the end of the disk\""},{"line_number":748,"context_line":"        if search_str in output:"},{"line_number":749,"context_line":"            utils.execute(\u0027sgdisk\u0027, \u0027-e\u0027, device, run_as_root\u003dTrue)"},{"line_number":750,"context_line":"    except (processutils.UnknownArgumentError,"},{"line_number":751,"context_line":"            processutils.ProcessExecutionError, OSError) as e:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_cbbef2d2","line":748,"range":{"start_line":745,"start_character":8,"end_line":748,"end_character":32},"in_reply_to":"3f79a3b5_d0e66f4b","updated":"2018-09-21 04:14:50.000000000","message":"Thank you. Makes sense.","commit_id":"b9a109c65f23b217aac9e698fdfd47f4fc174331"}]}
