)]}'
{"ironicclient/osc/v1/baremetal_node.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"46b16cb624ce2760d3ede8c413221159c53162d6","unresolved":false,"context_lines":[{"line_number":1213,"context_line":"        for (k, v) in vars(parsed_args).items():"},{"line_number":1214,"context_line":"            if k \u003d\u003d \u0027vif_info\u0027:"},{"line_number":1215,"context_line":"                custom_fields \u003d v"},{"line_number":1216,"context_line":"        fields \u003d utils.key_value_pairs_to_dict(custom_fields)"},{"line_number":1217,"context_line":"        baremetal_client.node.vif_attach(parsed_args.node, parsed_args.vif_id,"},{"line_number":1218,"context_line":"                                         **fields)"},{"line_number":1219,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_c00e7531","line":1216,"range":{"start_line":1216,"start_character":47,"end_line":1216,"end_character":60},"updated":"2017-01-11 12:32:06.000000000","message":"ditto, why not just parsed_args.vif_info or []?","commit_id":"df5a2e55e4f8b881b79afb1feab05e5e015a171d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"2cb0dafcdf6c42f5b345fe157174c9b98fb41429","unresolved":false,"context_lines":[{"line_number":1213,"context_line":"        for (k, v) in vars(parsed_args).items():"},{"line_number":1214,"context_line":"            if k \u003d\u003d \u0027vif_info\u0027:"},{"line_number":1215,"context_line":"                custom_fields \u003d v"},{"line_number":1216,"context_line":"        fields \u003d utils.key_value_pairs_to_dict(custom_fields)"},{"line_number":1217,"context_line":"        baremetal_client.node.vif_attach(parsed_args.node, parsed_args.vif_id,"},{"line_number":1218,"context_line":"                                         **fields)"},{"line_number":1219,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_c0abd51c","line":1216,"range":{"start_line":1216,"start_character":47,"end_line":1216,"end_character":60},"in_reply_to":"ba5201f7_c00e7531","updated":"2017-01-11 12:47:59.000000000","message":"Done","commit_id":"df5a2e55e4f8b881b79afb1feab05e5e015a171d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6c559002cea44d62eb16541ec299f177f337d634","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"            \u0027--vif-info\u0027,"},{"line_number":1201,"context_line":"            metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":1202,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":1203,"context_line":"            help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":1204,"context_line":"                 \"Can be specified multiple times. Mandatory parameters \""},{"line_number":1205,"context_line":"                 \"cannot be specified as keys.\")"},{"line_number":1206,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a57fde8_9b9fe15e","line":1203,"updated":"2017-01-12 15:33:01.000000000","message":"nit: Reading this, I wonder \"What exactly does this control?  what would I use this for?\" which is not really something I can really glean from this help. Perhaps s/metadata/custom metadata/?","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f40a7e05956191f9990b3e0bd619cd9fe396cd7b","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"            \u0027--vif-info\u0027,"},{"line_number":1201,"context_line":"            metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":1202,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":1203,"context_line":"            help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":1204,"context_line":"                 \"Can be specified multiple times. Mandatory parameters \""},{"line_number":1205,"context_line":"                 \"cannot be specified as keys.\")"},{"line_number":1206,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a57fde8_3a826153","line":1203,"in_reply_to":"9a57fde8_9b9fe15e","updated":"2017-01-12 20:15:52.000000000","message":"Done","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cd3aaf6b40c7d49553007f674779c021a40c9ebe","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"            \u0027--vif-info\u0027,"},{"line_number":1201,"context_line":"            metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":1202,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":1203,"context_line":"            help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":1204,"context_line":"                 \"Can be specified multiple times. Mandatory parameters \""},{"line_number":1205,"context_line":"                 \"cannot be specified as keys.\")"},{"line_number":1206,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a57fde8_ea7498fe","line":1203,"in_reply_to":"9a57fde8_9b9fe15e","updated":"2017-01-12 16:07:53.000000000","message":"Yeah, but I\u0027m not sure whether putting \u0027custom\u0027 helps. Right now, anything added there is just ignored. Until we have a driver that uses more than \u0027id\u0027.\n\nNow I\u0027m wondering whether we should put this patch on hold, until we need it. But then, I guess some out-of-tree interface/driver may want it...","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f40a7e05956191f9990b3e0bd619cd9fe396cd7b","unresolved":false,"context_lines":[{"line_number":1200,"context_line":"            \u0027--vif-info\u0027,"},{"line_number":1201,"context_line":"            metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":1202,"context_line":"            action\u003d\u0027append\u0027,"},{"line_number":1203,"context_line":"            help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":1204,"context_line":"                 \"Can be specified multiple times. Mandatory parameters \""},{"line_number":1205,"context_line":"                 \"cannot be specified as keys.\")"},{"line_number":1206,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a57fde8_9ae26d02","line":1203,"in_reply_to":"9a57fde8_ea7498fe","updated":"2017-01-12 20:15:52.000000000","message":"exactly, that is why it wasn\u0027t included into the base change.","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"}],"ironicclient/v1/node.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"46b16cb624ce2760d3ede8c413221159c53162d6","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        \"\"\""},{"line_number":264,"context_line":"        path \u003d \"%s/vifs\" % node_ident"},{"line_number":265,"context_line":"        data \u003d {\"id\": vif_id}"},{"line_number":266,"context_line":"        for (key, value) in kwargs.items():"},{"line_number":267,"context_line":"            if key \u003d\u003d \u0027id\u0027:"},{"line_number":268,"context_line":"                raise exc.InvalidAttribute(\"The attribute \u0027id\u0027 can\u0027t be \""},{"line_number":269,"context_line":"                                           \"specified in vif_info\")"},{"line_number":270,"context_line":"            data[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_fdede2b7","line":267,"range":{"start_line":266,"start_character":8,"end_line":267,"end_character":27},"updated":"2017-01-11 12:32:06.000000000","message":"WUT :)\n\n if \u0027id\u0027 in kwargs:\n   raise ...\n data.update(kwargs)","commit_id":"df5a2e55e4f8b881b79afb1feab05e5e015a171d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"2cb0dafcdf6c42f5b345fe157174c9b98fb41429","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        \"\"\""},{"line_number":264,"context_line":"        path \u003d \"%s/vifs\" % node_ident"},{"line_number":265,"context_line":"        data \u003d {\"id\": vif_id}"},{"line_number":266,"context_line":"        for (key, value) in kwargs.items():"},{"line_number":267,"context_line":"            if key \u003d\u003d \u0027id\u0027:"},{"line_number":268,"context_line":"                raise exc.InvalidAttribute(\"The attribute \u0027id\u0027 can\u0027t be \""},{"line_number":269,"context_line":"                                           \"specified in vif_info\")"},{"line_number":270,"context_line":"            data[key] \u003d value"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_537c1d72","line":267,"range":{"start_line":266,"start_character":8,"end_line":267,"end_character":27},"in_reply_to":"ba5201f7_fdede2b7","updated":"2017-01-11 12:47:59.000000000","message":"Done","commit_id":"df5a2e55e4f8b881b79afb1feab05e5e015a171d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7f6dca44456d0dfa8cca81070a0b3c1ba5f579d6","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        data \u003d {\"id\": vif_id}"},{"line_number":266,"context_line":"        if \u0027id\u0027 in kwargs:"},{"line_number":267,"context_line":"            raise exc.InvalidAttribute(\"The attribute \u0027id\u0027 can\u0027t be \""},{"line_number":268,"context_line":"                                       \"specified in vif_info\")"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"        data.update(kwargs)"},{"line_number":271,"context_line":"        self.update(path, data, http_method\u003d\"POST\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5201f7_27a58946","line":268,"updated":"2017-01-11 16:55:43.000000000","message":"s/vif_info/vif-info/ (because the argument is --vif-info)","commit_id":"a53e6829a7c0463ffa2a382d22ba54cd4653ca7d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"7400f4abe9e55bd90c3d759113a2693371212d76","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        data \u003d {\"id\": vif_id}"},{"line_number":266,"context_line":"        if \u0027id\u0027 in kwargs:"},{"line_number":267,"context_line":"            raise exc.InvalidAttribute(\"The attribute \u0027id\u0027 can\u0027t be \""},{"line_number":268,"context_line":"                                       \"specified in vif_info\")"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"        data.update(kwargs)"},{"line_number":271,"context_line":"        self.update(path, data, http_method\u003d\"POST\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a57fde8_d234024c","line":268,"in_reply_to":"ba5201f7_27a58946","updated":"2017-01-12 08:58:51.000000000","message":"Done","commit_id":"a53e6829a7c0463ffa2a382d22ba54cd4653ca7d"}],"ironicclient/v1/node_shell.py":[{"author":{"_account_id":12356,"name":"Vladyslav Drok","email":"vdrok@mirantis.com","username":"vdrok"},"change_message_id":"46b16cb624ce2760d3ede8c413221159c53162d6","unresolved":false,"context_lines":[{"line_number":628,"context_line":"    for (k, v) in vars(args).items():"},{"line_number":629,"context_line":"        if k \u003d\u003d \u0027vif_info\u0027:"},{"line_number":630,"context_line":"            custom_fields \u003d v"},{"line_number":631,"context_line":"    fields \u003d utils.key_value_pairs_to_dict(custom_fields)"},{"line_number":632,"context_line":"    cc.node.vif_attach(args.node, args.vif_id, **fields)"},{"line_number":633,"context_line":""},{"line_number":634,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_ddaade18","line":631,"range":{"start_line":631,"start_character":43,"end_line":631,"end_character":56},"updated":"2017-01-11 12:32:06.000000000","message":"Why not just args.vif_info or [] here?","commit_id":"df5a2e55e4f8b881b79afb1feab05e5e015a171d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"2cb0dafcdf6c42f5b345fe157174c9b98fb41429","unresolved":false,"context_lines":[{"line_number":628,"context_line":"    for (k, v) in vars(args).items():"},{"line_number":629,"context_line":"        if k \u003d\u003d \u0027vif_info\u0027:"},{"line_number":630,"context_line":"            custom_fields \u003d v"},{"line_number":631,"context_line":"    fields \u003d utils.key_value_pairs_to_dict(custom_fields)"},{"line_number":632,"context_line":"    cc.node.vif_attach(args.node, args.vif_id, **fields)"},{"line_number":633,"context_line":""},{"line_number":634,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"ba5201f7_339eb9b8","line":631,"range":{"start_line":631,"start_character":43,"end_line":631,"end_character":56},"in_reply_to":"ba5201f7_ddaade18","updated":"2017-01-11 12:47:59.000000000","message":"Done","commit_id":"df5a2e55e4f8b881b79afb1feab05e5e015a171d"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"7f6dca44456d0dfa8cca81070a0b3c1ba5f579d6","unresolved":false,"context_lines":[{"line_number":621,"context_line":"    metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":622,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":623,"context_line":"    help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":624,"context_line":"         \"Can be specified multiple times.\")"},{"line_number":625,"context_line":"def do_node_vif_attach(cc, args):"},{"line_number":626,"context_line":"    \"\"\"List vifs for a given node.\"\"\""},{"line_number":627,"context_line":"    fields \u003d utils.key_value_pairs_to_dict(args.vif_info or [])"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5201f7_a746d978","line":624,"updated":"2017-01-11 16:55:43.000000000","message":"I wonder if we should mention that the key cannot be \u0027id\u0027.","commit_id":"a53e6829a7c0463ffa2a382d22ba54cd4653ca7d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"7400f4abe9e55bd90c3d759113a2693371212d76","unresolved":false,"context_lines":[{"line_number":621,"context_line":"    metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":622,"context_line":"    action\u003d\u0027append\u0027,"},{"line_number":623,"context_line":"    help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":624,"context_line":"         \"Can be specified multiple times.\")"},{"line_number":625,"context_line":"def do_node_vif_attach(cc, args):"},{"line_number":626,"context_line":"    \"\"\"List vifs for a given node.\"\"\""},{"line_number":627,"context_line":"    fields \u003d utils.key_value_pairs_to_dict(args.vif_info or [])"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a57fde8_52e572a6","line":624,"in_reply_to":"ba5201f7_a746d978","updated":"2017-01-12 08:58:51.000000000","message":"Done","commit_id":"a53e6829a7c0463ffa2a382d22ba54cd4653ca7d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6c559002cea44d62eb16541ec299f177f337d634","unresolved":false,"context_lines":[{"line_number":617,"context_line":"              help\u003d\"Name or UUID of the VIF to attach to node.\")"},{"line_number":618,"context_line":"@cliutils.arg(\u0027--vif-info\u0027, metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":619,"context_line":"              action\u003d\u0027append\u0027,"},{"line_number":620,"context_line":"              help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":621,"context_line":"                   \"Can be specified multiple times. Mandatory parameters \""},{"line_number":622,"context_line":"                   \"cannot be specified as keys.\")"},{"line_number":623,"context_line":"def do_node_vif_attach(cc, args):"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a57fde8_1be8517c","line":620,"updated":"2017-01-12 15:33:01.000000000","message":"Nit: Same as the other help text. I\u0027m wondering what I might put in here.","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6c559002cea44d62eb16541ec299f177f337d634","unresolved":false,"context_lines":[{"line_number":618,"context_line":"@cliutils.arg(\u0027--vif-info\u0027, metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":619,"context_line":"              action\u003d\u0027append\u0027,"},{"line_number":620,"context_line":"              help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":621,"context_line":"                   \"Can be specified multiple times. Mandatory parameters \""},{"line_number":622,"context_line":"                   \"cannot be specified as keys.\")"},{"line_number":623,"context_line":"def do_node_vif_attach(cc, args):"},{"line_number":624,"context_line":"    \"\"\"List vifs for a given node.\"\"\""},{"line_number":625,"context_line":"    fields \u003d utils.key_value_pairs_to_dict(args.vif_info or [])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a57fde8_1bb6918a","line":622,"range":{"start_line":621,"start_character":53,"end_line":622,"end_character":49},"updated":"2017-01-12 15:33:01.000000000","message":"It may also be a good idea to explicitly detail that the id:value pair in this case as the code is set to raise an exception if attempted in vif_attach.","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"},{"author":{"_account_id":6618,"name":"Ruby Loo","email":"opensrloo@gmail.com","username":"rloo"},"change_message_id":"cd3aaf6b40c7d49553007f674779c021a40c9ebe","unresolved":false,"context_lines":[{"line_number":618,"context_line":"@cliutils.arg(\u0027--vif-info\u0027, metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":619,"context_line":"              action\u003d\u0027append\u0027,"},{"line_number":620,"context_line":"              help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":621,"context_line":"                   \"Can be specified multiple times. Mandatory parameters \""},{"line_number":622,"context_line":"                   \"cannot be specified as keys.\")"},{"line_number":623,"context_line":"def do_node_vif_attach(cc, args):"},{"line_number":624,"context_line":"    \"\"\"List vifs for a given node.\"\"\""},{"line_number":625,"context_line":"    fields \u003d utils.key_value_pairs_to_dict(args.vif_info or [])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a57fde8_ca9354f9","line":622,"range":{"start_line":621,"start_character":53,"end_line":622,"end_character":49},"in_reply_to":"9a57fde8_1bb6918a","updated":"2017-01-12 16:07:53.000000000","message":"Yes. eg \u0027\u0027The mandatory \u0027id\u0027 parameter cannot be specified as a key.\"","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f40a7e05956191f9990b3e0bd619cd9fe396cd7b","unresolved":false,"context_lines":[{"line_number":618,"context_line":"@cliutils.arg(\u0027--vif-info\u0027, metavar\u003d\u0027\u003ckey\u003dvalue\u003e\u0027,"},{"line_number":619,"context_line":"              action\u003d\u0027append\u0027,"},{"line_number":620,"context_line":"              help\u003d\"Record arbitrary key/value metadata. \""},{"line_number":621,"context_line":"                   \"Can be specified multiple times. Mandatory parameters \""},{"line_number":622,"context_line":"                   \"cannot be specified as keys.\")"},{"line_number":623,"context_line":"def do_node_vif_attach(cc, args):"},{"line_number":624,"context_line":"    \"\"\"List vifs for a given node.\"\"\""},{"line_number":625,"context_line":"    fields \u003d utils.key_value_pairs_to_dict(args.vif_info or [])"}],"source_content_type":"text/x-python","patch_set":3,"id":"9a57fde8_7a6ea9ca","line":622,"range":{"start_line":621,"start_character":53,"end_line":622,"end_character":49},"in_reply_to":"9a57fde8_ca9354f9","updated":"2017-01-12 20:15:52.000000000","message":"Done","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"}],"releasenotes/notes/extend-vif-attach-commands-ef3a931413ddcee7.yaml":[{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"c562f2ff265e06d1dd7bc7285290bccf7cc78ec9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds ability to set custom VIF info fields via --vif-info \u003ckey\u003dvalue\u003e"},{"line_number":4,"context_line":"    option in `ironic node-vif-attach` and `openstack baremetal node vif attach`"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ba5201f7_29648520","line":3,"updated":"2017-01-11 15:22:43.000000000","message":"nit: backticks around --vif-info \u003ckey\u003dvalue\u003e\n\nAlso add \"the\" before --vif-info","commit_id":"a53e6829a7c0463ffa2a382d22ba54cd4653ca7d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"7400f4abe9e55bd90c3d759113a2693371212d76","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds ability to set custom VIF info fields via --vif-info \u003ckey\u003dvalue\u003e"},{"line_number":4,"context_line":"    option in `ironic node-vif-attach` and `openstack baremetal node vif attach`"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9a57fde8_92bb5a75","line":3,"in_reply_to":"ba5201f7_29648520","updated":"2017-01-12 08:58:51.000000000","message":"Done","commit_id":"a53e6829a7c0463ffa2a382d22ba54cd4653ca7d"},{"author":{"_account_id":10343,"name":"Jim Rollenhagen","email":"jim@jimrollenhagen.com","username":"jimrollenhagen"},"change_message_id":"c562f2ff265e06d1dd7bc7285290bccf7cc78ec9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds ability to set custom VIF info fields via --vif-info \u003ckey\u003dvalue\u003e"},{"line_number":4,"context_line":"    option in `ironic node-vif-attach` and `openstack baremetal node vif attach`"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"ba5201f7_29bd6568","line":4,"updated":"2017-01-11 15:22:43.000000000","message":"nit: in the \u003c...\u003e commands.","commit_id":"a53e6829a7c0463ffa2a382d22ba54cd4653ca7d"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"7400f4abe9e55bd90c3d759113a2693371212d76","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds ability to set custom VIF info fields via --vif-info \u003ckey\u003dvalue\u003e"},{"line_number":4,"context_line":"    option in `ironic node-vif-attach` and `openstack baremetal node vif attach`"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9a57fde8_f2bae66d","line":4,"in_reply_to":"ba5201f7_29bd6568","updated":"2017-01-12 08:58:51.000000000","message":"Done","commit_id":"a53e6829a7c0463ffa2a382d22ba54cd4653ca7d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"6c559002cea44d62eb16541ec299f177f337d634","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds ability to set custom VIF info fields via the `--vif-info \u003ckey\u003dvalue\u003e`"},{"line_number":4,"context_line":"    option in the `ironic node-vif-attach` and `openstack baremetal node vif attach`"},{"line_number":5,"context_line":"    commands."},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9a57fde8_365c4c25","line":3,"range":{"start_line":3,"start_character":35,"end_line":3,"end_character":39},"updated":"2017-01-12 15:33:01.000000000","message":"nit: s/info/information/","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"},{"author":{"_account_id":14525,"name":"Vasyl Saienko","email":"vsaienko@mirantis.com","username":"vsaienko"},"change_message_id":"f40a7e05956191f9990b3e0bd619cd9fe396cd7b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Adds ability to set custom VIF info fields via the `--vif-info \u003ckey\u003dvalue\u003e`"},{"line_number":4,"context_line":"    option in the `ironic node-vif-attach` and `openstack baremetal node vif attach`"},{"line_number":5,"context_line":"    commands."},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9a57fde8_9a3a6d35","line":3,"range":{"start_line":3,"start_character":35,"end_line":3,"end_character":39},"in_reply_to":"9a57fde8_365c4c25","updated":"2017-01-12 20:15:52.000000000","message":"Done","commit_id":"cb0d5fa1ebbe0fae268ec8d0da0a0ef563e1c511"}]}
