)]}'
{"neutronclient/neutron/v2_0/router.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"7a11f2ed397e3a125c4b4b5ef0e7fd5779612e2d","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                   \u0027 distributed mode.\u0027))"},{"line_number":110,"context_line":"        routes_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":111,"context_line":"        routes_group.add_argument("},{"line_number":112,"context_line":"            \u0027--route\u0027, metavar\u003d\u0027destination\u003dCIDR,nexthop\u003dIP_ADDR\u0027,"},{"line_number":113,"context_line":"            action\u003d\u0027append\u0027, dest\u003d\u0027routes\u0027, type\u003dutils.str2dict,"},{"line_number":114,"context_line":"            help\u003d_(\u0027Route to associate with the router.\u0027"},{"line_number":115,"context_line":"                   \u0027 You can repeat this option.\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_41977290","line":112,"updated":"2015-11-17 02:10:34.000000000","message":"If you are adding a route option to UpdateRouter, then why not add a route option in the CreateRouter as well?\nI am not sure if such a change ( adding/removing routes) is required( other reviewers may be able to guide better), but if it is, then it should be in both Create and Update Router.\n\n\n\nAlso , the metavar defined seems a bit complicated, because we are expecting the user here to separate the information by a ´,´ with/without a space between destination and nexthop. ( Just my opinion)\n\nAlso, what are the possible values of nexthop?\nWould you be verifying the argument structure of nexthop and CIDR( or if I am understanding it correctly, let the Neutron API take care of it?)","commit_id":"7e95fefd933c46c87179893db2ce6f4c8f59b8a3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"b7722899da1760128290f91c00a2a874ea4293c5","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                   \u0027 distributed mode.\u0027))"},{"line_number":110,"context_line":"        routes_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":111,"context_line":"        routes_group.add_argument("},{"line_number":112,"context_line":"            \u0027--route\u0027, metavar\u003d\u0027destination\u003dCIDR,nexthop\u003dIP_ADDR\u0027,"},{"line_number":113,"context_line":"            action\u003d\u0027append\u0027, dest\u003d\u0027routes\u0027, type\u003dutils.str2dict,"},{"line_number":114,"context_line":"            help\u003d_(\u0027Route to associate with the router.\u0027"},{"line_number":115,"context_line":"                   \u0027 You can repeat this option.\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_e36451e6","line":112,"in_reply_to":"ba8a016a_41977290","updated":"2015-11-17 13:44:09.000000000","message":"(1) I can investigate a route option in CreateRouter, but will do so in another patch set.\n\n(2) The metavar definition is consistent with the --host-route option on neutron subnet-update and the use of the \u0027,\u0027 separator is consistent with several other neutron commands which utilize utils.str2dict.  Using a space separator won\u0027t work.\n\n(3) The value for nexthop must be an IP address.  Both destination and nexthop are verified by the Neutron API.","commit_id":"7e95fefd933c46c87179893db2ce6f4c8f59b8a3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"32c0ed95fc911c244d1765ea31bd86271c742024","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                   \u0027 distributed mode.\u0027))"},{"line_number":110,"context_line":"        routes_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":111,"context_line":"        routes_group.add_argument("},{"line_number":112,"context_line":"            \u0027--route\u0027, metavar\u003d\u0027destination\u003dCIDR,nexthop\u003dIP_ADDR\u0027,"},{"line_number":113,"context_line":"            action\u003d\u0027append\u0027, dest\u003d\u0027routes\u0027, type\u003dutils.str2dict,"},{"line_number":114,"context_line":"            help\u003d_(\u0027Route to associate with the router.\u0027"},{"line_number":115,"context_line":"                   \u0027 You can repeat this option.\u0027))"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_9d44bd74","line":112,"in_reply_to":"ba8a016a_e36451e6","updated":"2015-11-17 15:07:43.000000000","message":"(1) The \"routes\" attribute is not allowed on create.","commit_id":"7e95fefd933c46c87179893db2ce6f4c8f59b8a3"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"7a11f2ed397e3a125c4b4b5ef0e7fd5779612e2d","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        if hasattr(parsed_args, \u0027admin_state\u0027):"},{"line_number":124,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":125,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":126,"context_line":"                               [\u0027name\u0027, \u0027distributed\u0027, \u0027routes\u0027])"},{"line_number":127,"context_line":"        if parsed_args.no_routes:"},{"line_number":128,"context_line":"            body[\u0027routes\u0027] \u003d None"},{"line_number":129,"context_line":"        elif parsed_args.routes:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_61c87656","line":126,"updated":"2015-11-17 02:10:34.000000000","message":"You do not need to put routes in the neutronV20.update_dict, I guess, becuase you are already taking care of them in Line#127-130, isnt it?","commit_id":"7e95fefd933c46c87179893db2ce6f4c8f59b8a3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"b7722899da1760128290f91c00a2a874ea4293c5","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        if hasattr(parsed_args, \u0027admin_state\u0027):"},{"line_number":124,"context_line":"            body[\u0027admin_state_up\u0027] \u003d parsed_args.admin_state"},{"line_number":125,"context_line":"        neutronV20.update_dict(parsed_args, body,"},{"line_number":126,"context_line":"                               [\u0027name\u0027, \u0027distributed\u0027, \u0027routes\u0027])"},{"line_number":127,"context_line":"        if parsed_args.no_routes:"},{"line_number":128,"context_line":"            body[\u0027routes\u0027] \u003d None"},{"line_number":129,"context_line":"        elif parsed_args.routes:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_6877e03a","line":126,"in_reply_to":"ba8a016a_61c87656","updated":"2015-11-17 13:44:09.000000000","message":"That is correct.  I will remove it.","commit_id":"7e95fefd933c46c87179893db2ce6f4c8f59b8a3"}],"neutronclient/tests/unit/test_cli20_router.py":[{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"7a11f2ed397e3a125c4b4b5ef0e7fd5779612e2d","unresolved":false,"context_lines":[{"line_number":222,"context_line":"    def test_update_router_add_routes(self):"},{"line_number":223,"context_line":"        \"\"\"Update router: myid"},{"line_number":224,"context_line":"        --route destination\u003d10.0.3.0/24,nexthop\u003d10.0.0.10"},{"line_number":225,"context_line":"        --route destination\u003d10.0.4.0/24,nexthop\u003d10.0.0.11"},{"line_number":226,"context_line":"        \"\"\""},{"line_number":227,"context_line":"        resource \u003d \u0027router\u0027"},{"line_number":228,"context_line":"        cmd \u003d router.UpdateRouter(test_cli20.MyApp(sys.stdout), None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_01dc0a11","line":225,"updated":"2015-11-17 02:10:34.000000000","message":"Add an IPv6 address as well( or change this test to add one route of IPv4 and one of IPv6)","commit_id":"7e95fefd933c46c87179893db2ce6f4c8f59b8a3"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"b7722899da1760128290f91c00a2a874ea4293c5","unresolved":false,"context_lines":[{"line_number":222,"context_line":"    def test_update_router_add_routes(self):"},{"line_number":223,"context_line":"        \"\"\"Update router: myid"},{"line_number":224,"context_line":"        --route destination\u003d10.0.3.0/24,nexthop\u003d10.0.0.10"},{"line_number":225,"context_line":"        --route destination\u003d10.0.4.0/24,nexthop\u003d10.0.0.11"},{"line_number":226,"context_line":"        \"\"\""},{"line_number":227,"context_line":"        resource \u003d \u0027router\u0027"},{"line_number":228,"context_line":"        cmd \u003d router.UpdateRouter(test_cli20.MyApp(sys.stdout), None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_c57355e6","line":225,"in_reply_to":"ba8a016a_01dc0a11","updated":"2015-11-17 13:44:09.000000000","message":"Done","commit_id":"7e95fefd933c46c87179893db2ce6f4c8f59b8a3"}]}
