)]}'
{"ironic_python_agent/hardware.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7c6749f4c1d36505657b9ccb192febb0036d8b04","unresolved":false,"context_lines":[{"line_number":1451,"context_line":"                       \"--force --run --metadata\u003d1\").format("},{"line_number":1452,"context_line":"                           md_device, raid_level, raid_device_count,"},{"line_number":1453,"context_line":"                           component_devices)"},{"line_number":1454,"context_line":"                utils.execute(cmd, shell\u003dTrue)"},{"line_number":1455,"context_line":"            except processutils.ProcessExecutionError as e:"},{"line_number":1456,"context_line":"                msg \u003d \"Failed to create md device {} on {}: {}\".format("},{"line_number":1457,"context_line":"                    md_device, component_devices, e)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_4e37fee4","line":1454,"updated":"2019-06-05 15:55:54.000000000","message":"I\u0027d prefer you don\u0027t fall back to using shell\u003dTrue. We don\u0027t need to load the whole bash. I\u0027d rather see something like\n\n cmd \u003d [\u0027mdadm\u0027, \u0027--create\u0027, .....]\n utils.execute(*cmd)\n\nor even better don\u0027t use the variable, just pass everything as arguments","commit_id":"4d685bd4a5c5d80b978bdf7f66819ec28a24dd1a"},{"author":{"_account_id":11292,"name":"Arne Wiebalck","email":"Arne.Wiebalck@cern.ch","username":"wiebalck"},"change_message_id":"8c7e4b57d04da103467bc0e3fbfbaf3be7240da4","unresolved":false,"context_lines":[{"line_number":1451,"context_line":"                       \"--force --run --metadata\u003d1\").format("},{"line_number":1452,"context_line":"                           md_device, raid_level, raid_device_count,"},{"line_number":1453,"context_line":"                           component_devices)"},{"line_number":1454,"context_line":"                utils.execute(cmd, shell\u003dTrue)"},{"line_number":1455,"context_line":"            except processutils.ProcessExecutionError as e:"},{"line_number":1456,"context_line":"                msg \u003d \"Failed to create md device {} on {}: {}\".format("},{"line_number":1457,"context_line":"                    md_device, component_devices, e)"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fb8cfa7_aec79a12","line":1454,"in_reply_to":"9fb8cfa7_4e37fee4","updated":"2019-06-05 16:29:05.000000000","message":"Yes, considered this, of course. Thought it\u0027d be hard to read. Coded it now, seems ok, actually :) Will update the patch.","commit_id":"4d685bd4a5c5d80b978bdf7f66819ec28a24dd1a"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"cb592a1910a2d44fae12dfc7e42d058ce678651d","unresolved":false,"context_lines":[{"line_number":1445,"context_line":"                raid_level \u003d \u002710\u0027"},{"line_number":1446,"context_line":"            try:"},{"line_number":1447,"context_line":"                LOG.debug(\"Creating md device {} on {}\".format("},{"line_number":1448,"context_line":"                          md_device, *component_devices))"},{"line_number":1449,"context_line":"                utils.execute(\u0027mdadm\u0027, \u0027--create\u0027, md_device, \u0027--force\u0027,"},{"line_number":1450,"context_line":"                              \u0027--run\u0027, \u0027--metadata\u003d1\u0027, \u0027--level\u0027, raid_level,"},{"line_number":1451,"context_line":"                              \u0027--raid-devices\u0027, raid_device_count,"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_de8cea80","line":1448,"updated":"2019-06-06 11:54:40.000000000","message":"won\u0027t work with more than one device, please remove * here","commit_id":"cbb2fea6afd3c869a933efb00316094613f1f120"}]}
