)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"4d50ed345cf98513c7eb22d6063a35e664d22627","unresolved":false,"context_lines":[{"line_number":14,"context_line":"Partial-Bug: #1546849"},{"line_number":15,"context_line":"Implements: blueprint neutron-client-advanced-router"},{"line_number":16,"context_line":"Change-Id: Ia3770c41026194bdb1543d4e67446f81936d44d1"},{"line_number":17,"context_line":"Depends-On: I9783bc4ccceae3d361dce52d51483ef2187920a9"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":11,"id":"1af94dfe_b9c90f7b","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":53},"updated":"2016-03-16 12:18:55.000000000","message":"This patch has been merged. So we can remove this now.","commit_id":"28494ee3be450fa2a289ccdf3f7ae0491e511978"},{"author":{"_account_id":14937,"name":"Tang Chen","email":"imtangchen@163.com","username":"tangchen"},"change_message_id":"cf633f8ad18489381e74cd3dd398e6a97c0ef960","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Reedip \u003creedip.banerjee@nectechnologies.in\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-03-21 02:09:05 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add Subnet interface to router"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The following patch adds the support for"},{"line_number":10,"context_line":"\"router add subnet\" and \"router remove subnet\""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"fa0719c6_17992b6f","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":30},"updated":"2016-03-21 03:41:50.000000000","message":"nit: The title is not correct.\n\nHow about \"Add router add/remove subnet commands\" ?","commit_id":"7fc0c7c368b868cb4d13661d6ceac65e7f56d726"}],"doc/source/command-objects/router-subnet.rst":[{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"a2d46e4a5809a9a64e99968515d981e8d3e72e51","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"    os router add subnet"},{"line_number":15,"context_line":"        \u003csubnet\u003e"},{"line_number":16,"context_line":"        \u003crouter\u003e"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. option:: \u003csubnet\u003e"},{"line_number":19,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"1af94dfe_13d01253","line":16,"updated":"2016-03-15 15:55:34.000000000","message":"I see that the neutron client allows either a subnet or a port to be specified.  We should probably decide the best way to handle adding a port OR a subnet to a router in openstack client before we implement the commands.  It looks like blueprint https://blueprints.launchpad.net/python-openstackclient/+spec/neutron-client-advanced-router  was created for this and other topics that might need some design discussion.  There seem to be several options, including separating \u003csubnet\u003e in this command into either --subnet \u003csubnet\u003e or --port \u003cport\u003e, or to add another command \"os router add port\"","commit_id":"74aaac70e67c7e40d04df120c81174ec522a5bdc"}],"doc/source/command-objects/router.rst":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"fd276d1ddd7d5335d7622aaf3715ea2f9e2bfbfd","unresolved":false,"context_lines":[{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    Router from which port will be removed (name or ID)"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"router add subnet"},{"line_number":193,"context_line":"---------------"},{"line_number":194,"context_line":"Add a subnet to a router"},{"line_number":195,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"1af94dfe_defd4fb2","line":192,"updated":"2016-03-18 17:07:52.000000000","message":"These commands need to be sorted, and the underline length must match below","commit_id":"5aa61eb0b1462a230d076579629c290119e8ba40"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"fd276d1ddd7d5335d7622aaf3715ea2f9e2bfbfd","unresolved":false,"context_lines":[{"line_number":200,"context_line":"        \u003crouter\u003e"},{"line_number":201,"context_line":"        \u003csubnet\u003e"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":".. describe:: \u003csubnet\u003e"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"    Subnet to be added (name or ID)"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"1af94dfe_beea03d9","line":203,"updated":"2016-03-18 17:07:52.000000000","message":"These need to be in the same order as the command line above","commit_id":"5aa61eb0b1462a230d076579629c290119e8ba40"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"fd276d1ddd7d5335d7622aaf3715ea2f9e2bfbfd","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        \u003crouter\u003e"},{"line_number":223,"context_line":"        \u003csubnet\u003e"},{"line_number":224,"context_line":""},{"line_number":225,"context_line":".. describe:: \u003csubnet\u003e"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"    Subnet to be removed (name or ID)"},{"line_number":228,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"1af94dfe_deeb8fda","line":225,"updated":"2016-03-18 17:07:52.000000000","message":"order","commit_id":"5aa61eb0b1462a230d076579629c290119e8ba40"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"cd9038b1c85b10d2f934febcd281b98a46b533e3","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    Port to be removed (name or ID)"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"router remove subnet"},{"line_number":151,"context_line":"---------------------"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"Remove a subnet from a router"},{"line_number":154,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"fa0719c6_6d1b4f1c","line":151,"updated":"2016-03-21 18:50:18.000000000","message":"nit...extra dash","commit_id":"d9bb4d6ddbcb9d876575754830d2dbc8a3078107"}],"openstackclient/network/v2/router.py":[{"author":{"_account_id":14957,"name":"Brad Behle","email":"behle@us.ibm.com","username":"behle"},"change_message_id":"86e105e54235fc6e8ac013565b05ec348e81140c","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        parser.add_argument("},{"line_number":115,"context_line":"            \u0027router\u0027,"},{"line_number":116,"context_line":"            metavar\u003d\u0027\u003crouter\u003e\u0027,"},{"line_number":117,"context_line":"            help\u003d\" Router to which subnet will be added (name or ID)\","},{"line_number":118,"context_line":"        )"},{"line_number":119,"context_line":"        parser.add_argument("},{"line_number":120,"context_line":"            \u0027subnet\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa0719c6_fde71c3e","line":117,"updated":"2016-03-21 15:34:29.000000000","message":"Nit: leading space in help text","commit_id":"d9bb4d6ddbcb9d876575754830d2dbc8a3078107"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"18a7421f8987b7d5b745c3450e303c1bae3706a1","unresolved":false,"context_lines":[{"line_number":114,"context_line":"        parser.add_argument("},{"line_number":115,"context_line":"            \u0027router\u0027,"},{"line_number":116,"context_line":"            metavar\u003d\u0027\u003crouter\u003e\u0027,"},{"line_number":117,"context_line":"            help\u003d\" Router to which subnet will be added (name or ID)\","},{"line_number":118,"context_line":"        )"},{"line_number":119,"context_line":"        parser.add_argument("},{"line_number":120,"context_line":"            \u0027subnet\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa0719c6_42360a53","line":117,"in_reply_to":"fa0719c6_fde71c3e","updated":"2016-03-22 01:55:40.000000000","message":"Done","commit_id":"d9bb4d6ddbcb9d876575754830d2dbc8a3078107"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"cd9038b1c85b10d2f934febcd281b98a46b533e3","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        parser.add_argument("},{"line_number":301,"context_line":"            \u0027router\u0027,"},{"line_number":302,"context_line":"            metavar\u003d\u0027\u003crouter\u003e\u0027,"},{"line_number":303,"context_line":"            help\u003d\"Router from which the subnet will be removed(name or ID)\","},{"line_number":304,"context_line":"        )"},{"line_number":305,"context_line":"        parser.add_argument("},{"line_number":306,"context_line":"            \u0027subnet\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa0719c6_cd9edb55","line":303,"updated":"2016-03-21 18:50:18.000000000","message":"Space needed after \"removed\"","commit_id":"d9bb4d6ddbcb9d876575754830d2dbc8a3078107"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"18a7421f8987b7d5b745c3450e303c1bae3706a1","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        parser.add_argument("},{"line_number":301,"context_line":"            \u0027router\u0027,"},{"line_number":302,"context_line":"            metavar\u003d\u0027\u003crouter\u003e\u0027,"},{"line_number":303,"context_line":"            help\u003d\"Router from which the subnet will be removed(name or ID)\","},{"line_number":304,"context_line":"        )"},{"line_number":305,"context_line":"        parser.add_argument("},{"line_number":306,"context_line":"            \u0027subnet\u0027,"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa0719c6_22395642","line":303,"in_reply_to":"fa0719c6_cd9edb55","updated":"2016-03-22 01:55:40.000000000","message":"Done","commit_id":"d9bb4d6ddbcb9d876575754830d2dbc8a3078107"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"cd9038b1c85b10d2f934febcd281b98a46b533e3","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        )"},{"line_number":305,"context_line":"        parser.add_argument("},{"line_number":306,"context_line":"            \u0027subnet\u0027,"},{"line_number":307,"context_line":"            metavar\u003d\u0027\u003csubnet\u003e\u0027,"},{"line_number":308,"context_line":"            help\u003d\"Subnet to be removed(name or ID).\","},{"line_number":309,"context_line":"        )"},{"line_number":310,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa0719c6_2da4b7a4","line":307,"updated":"2016-03-21 18:50:18.000000000","message":"Space needed after \"removed\"","commit_id":"d9bb4d6ddbcb9d876575754830d2dbc8a3078107"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"18a7421f8987b7d5b745c3450e303c1bae3706a1","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        )"},{"line_number":305,"context_line":"        parser.add_argument("},{"line_number":306,"context_line":"            \u0027subnet\u0027,"},{"line_number":307,"context_line":"            metavar\u003d\u0027\u003csubnet\u003e\u0027,"},{"line_number":308,"context_line":"            help\u003d\"Subnet to be removed(name or ID).\","},{"line_number":309,"context_line":"        )"},{"line_number":310,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":21,"id":"fa0719c6_824022a7","line":307,"in_reply_to":"fa0719c6_2da4b7a4","updated":"2016-03-22 01:55:40.000000000","message":"Done","commit_id":"d9bb4d6ddbcb9d876575754830d2dbc8a3078107"}],"openstackclient/network/v2/router_interface.py":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"fd276d1ddd7d5335d7622aaf3715ea2f9e2bfbfd","unresolved":false,"context_lines":[{"line_number":64,"context_line":"            parsed_args.router, ignore_missing\u003dFalse), port_id\u003dport.id)"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"class AddSubnetToRouter(command.Command):"},{"line_number":68,"context_line":"    \"\"\"Add a subnet to a router\"\"\""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    def get_parser(self, prog_name):"}],"source_content_type":"text/x-python","patch_set":14,"id":"1af94dfe_9e1e270a","line":67,"updated":"2016-03-18 17:07:52.000000000","message":"These classes must be sorted","commit_id":"5aa61eb0b1462a230d076579629c290119e8ba40"}],"setup.cfg":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"fd276d1ddd7d5335d7622aaf3715ea2f9e2bfbfd","unresolved":false,"context_lines":[{"line_number":346,"context_line":"    router_add_port \u003d openstackclient.network.v2.router_interface:AddPortToRouter"},{"line_number":347,"context_line":"    router_remove_port \u003d openstackclient.network.v2.router_interface:RemovePortFromRouter"},{"line_number":348,"context_line":"    router_add_subnet \u003d openstackclient.network.v2.router_interface:AddSubnetToRouter"},{"line_number":349,"context_line":"    router_remove_subnet \u003d openstackclient.network.v2.router_interface:RemoveSubnetFromRouter"},{"line_number":350,"context_line":""},{"line_number":351,"context_line":"    security_group_delete \u003d openstackclient.network.v2.security_group:DeleteSecurityGroup"},{"line_number":352,"context_line":"    security_group_list \u003d openstackclient.network.v2.security_group:ListSecurityGroup"}],"source_content_type":"text/x-ttcn-cfg","patch_set":14,"id":"1af94dfe_de70af42","line":349,"updated":"2016-03-18 17:07:52.000000000","message":"sort","commit_id":"5aa61eb0b1462a230d076579629c290119e8ba40"}]}
