)]}'
{"ironicclient/common/utils.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"2000167c974a93b10ebad45aff99bdf6a777c4ca","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    params[\u0027detail\u0027] \u003d args.detail"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    if args.fields:"},{"line_number":171,"context_line":"        input_fields \u003d args.fields[0][0].split(\u0027,\u0027)"},{"line_number":172,"context_line":"        requested_fields \u003d get_fields_by_labels(input_fields)"},{"line_number":173,"context_line":"    else:"},{"line_number":174,"context_line":"        requested_fields \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_6efe156d","line":171,"updated":"2015-12-31 10:31:26.000000000","message":"ditto, one [0] is redundant.","commit_id":"351fa23f41c3d336fd5e7adc13dd952193a58a2b"}],"ironicclient/v1/node_shell.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"2000167c974a93b10ebad45aff99bdf6a777c4ca","unresolved":false,"context_lines":[{"line_number":54,"context_line":"def do_node_show(cc, args):"},{"line_number":55,"context_line":"    \"\"\"Show detailed information about a node.\"\"\""},{"line_number":56,"context_line":"    if args.fields:"},{"line_number":57,"context_line":"        input_fields \u003d args.fields[0][0].split(\u0027,\u0027)"},{"line_number":58,"context_line":"        fields \u003d utils.get_fields_by_labels(input_fields)"},{"line_number":59,"context_line":"    else:"},{"line_number":60,"context_line":"        fields \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_4ec8f155","line":57,"updated":"2015-12-31 10:31:26.000000000","message":"This should be args.fields[0].split(\u0027,\u0027), otherwise it won\u0027t work. ditto for all other functions.","commit_id":"351fa23f41c3d336fd5e7adc13dd952193a58a2b"},{"author":{"_account_id":14810,"name":"Kan","email":"sofaopenstack@gmail.com","username":"Kan"},"change_message_id":"5fa972e2dd0a01561fb542b5b4d2ed34fe0c8a47","unresolved":false,"context_lines":[{"line_number":54,"context_line":"def do_node_show(cc, args):"},{"line_number":55,"context_line":"    \"\"\"Show detailed information about a node.\"\"\""},{"line_number":56,"context_line":"    if args.fields:"},{"line_number":57,"context_line":"        input_fields \u003d args.fields[0][0].split(\u0027,\u0027)"},{"line_number":58,"context_line":"        fields \u003d utils.get_fields_by_labels(input_fields)"},{"line_number":59,"context_line":"    else:"},{"line_number":60,"context_line":"        fields \u003d None"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_6ea02b44","line":57,"in_reply_to":"fa69d971_4ec8f155","updated":"2016-01-04 10:45:39.000000000","message":"Actually the args.fields here is [[\u0027Instance UUID,Power State\u0027]] when using the command \u0027ironic node-show node1 --fields \"Instance UUID,Power State\"\u0027. So I think the double \u0027[0]\u0027 here is correct.","commit_id":"351fa23f41c3d336fd5e7adc13dd952193a58a2b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"2000167c974a93b10ebad45aff99bdf6a777c4ca","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    utils.check_for_invalid_fields("},{"line_number":63,"context_line":"        fields,"},{"line_number":64,"context_line":"        res_fields.NODE_DETAILED_RESOURCE.fields,"},{"line_number":65,"context_line":"        res_fields.NODE_DETAILED_RESOURCE.labels)"},{"line_number":66,"context_line":"    if args.instance_uuid:"},{"line_number":67,"context_line":"        node \u003d cc.node.get_by_instance_uuid(args.node, fields\u003dfields)"},{"line_number":68,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_69092f2c","line":65,"updated":"2015-12-31 10:31:26.000000000","message":"Why do you add labels here after you already converted labels to fields on L58? ditto for other functions.","commit_id":"351fa23f41c3d336fd5e7adc13dd952193a58a2b"},{"author":{"_account_id":14810,"name":"Kan","email":"sofaopenstack@gmail.com","username":"Kan"},"change_message_id":"5fa972e2dd0a01561fb542b5b4d2ed34fe0c8a47","unresolved":false,"context_lines":[{"line_number":62,"context_line":"    utils.check_for_invalid_fields("},{"line_number":63,"context_line":"        fields,"},{"line_number":64,"context_line":"        res_fields.NODE_DETAILED_RESOURCE.fields,"},{"line_number":65,"context_line":"        res_fields.NODE_DETAILED_RESOURCE.labels)"},{"line_number":66,"context_line":"    if args.instance_uuid:"},{"line_number":67,"context_line":"        node \u003d cc.node.get_by_instance_uuid(args.node, fields\u003dfields)"},{"line_number":68,"context_line":"    else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa69d971_710d6e8f","line":65,"in_reply_to":"fa69d971_69092f2c","updated":"2016-01-04 10:45:39.000000000","message":"Thanks for the comment, will correct the logic check sequence here to make the check first.","commit_id":"351fa23f41c3d336fd5e7adc13dd952193a58a2b"},{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"ba75c1255c1dd715c3e13908516c75ae13bd1a11","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    \"\"\"Show detailed information about a node.\"\"\""},{"line_number":56,"context_line":"    utils.check_empty_arg(args.node, \u0027\u003cid\u003e\u0027)"},{"line_number":57,"context_line":"    if args.fields:"},{"line_number":58,"context_line":"        input_fields \u003d args.fields[0][0].split(\u0027,\u0027)"},{"line_number":59,"context_line":"    else:"},{"line_number":60,"context_line":"        input_fields \u003d None"},{"line_number":61,"context_line":"    utils.check_for_invalid_fields("}],"source_content_type":"text/x-python","patch_set":7,"id":"fa69d971_e2ed0a26","line":58,"updated":"2016-01-04 11:27:29.000000000","message":"When I do\n\n ironic node-show vm-2 --fields\u003d\"instance_uuid\"\n\nI get the following:\n\n usage: ironic node-show [--instance] [--fields \u003cfields\u003e] \u003cid\u003e\n ironic node-show: error: Invalid field(s) requested: i. Valid fields are: [\u0027target_power_state\u0027, \u0027extra\u0027, \u0027Clean Step\u0027, \u0027updated_at\u0027, \u0027maintenance_reason\u0027, \u0027Target Power State\u0027, \u0027Maintenance\u0027, \u0027provision_state\u0027, \u0027clean_step\u0027, \u0027Created At\u0027, \u0027Console Enabled\u0027, \u0027Maintenance Reason\u0027, \u0027properties\u0027, \u0027uuid\u0027, \u0027name\u0027, \u0027console_enabled\u0027, \u0027target_provision_state\u0027, \u0027Driver\u0027, \u0027Target Provision State\u0027, \u0027provision_updated_at\u0027, \u0027maintenance\u0027, \u0027last_error\u0027, \u0027Reservation\u0027, \u0027power_state\u0027, \u0027Properties\u0027, \u0027Power State\u0027, \u0027inspection_started_at\u0027, \u0027inspection_finished_at\u0027, \u0027Name\u0027, \u0027Provisioning State\u0027, \u0027Chassis UUID\u0027, \u0027driver\u0027, \u0027Driver Info\u0027, \u0027reservation\u0027, \u0027Inspection Started At\u0027, \u0027Instance UUID\u0027, \u0027instance_uuid\u0027, \u0027UUID\u0027, \u0027driver_info\u0027, \u0027Extra\u0027, \u0027Inspection Finished At\u0027, \u0027created_at\u0027, \u0027Instance Info\u0027, \u0027Driver Internal Info\u0027, \u0027driver_internal_info\u0027, \u0027chassis_uuid\u0027, \u0027Last Error\u0027, \u0027Updated At\u0027, \u0027Provision Updated At\u0027, \u0027instance_info\u0027].\n\nAfter removing second [0] it works fine:\n\n ironic node-show vm-2 --fields\u003d\"instance_uuid\"\n +---------------+--------------------------------------+\n | Property      | Value                                |\n +---------------+--------------------------------------+\n | instance_uuid | 565dfcc4-962f-4602-b221-e3d3328ee924 |\n +---------------+--------------------------------------+","commit_id":"eccf7ed4a8309ad39951626f6eeded66c3f56e5a"}]}
