)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"db8af5914afe7b98c8515bda690d4eb03421dd5d","unresolved":false,"context_lines":[{"line_number":12,"context_line":"set to positional arguments."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I0a4e35d4741ac3fb33e0e05b2b0702d5f773e08c"},{"line_number":15,"context_line":"Partially-Implements: blueprint bgp-spinout"},{"line_number":16,"context_line":"Partial-Bug: #156000"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9abb7d3a_e399887a","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":43},"updated":"2016-06-01 15:04:58.000000000","message":"I don\u0027t know why this is related to the spinout. Could you elaborate more?","commit_id":"d21fe198573ecc4eb3ce37d451baa8c6bd67fef0"},{"author":{"_account_id":6981,"name":"Yang Yu","email":"yangyu@vmware.com","username":"yuyangbj"},"change_message_id":"6e03372282b391a5cfd1ce55922af4638c98cf29","unresolved":false,"context_lines":[{"line_number":12,"context_line":"set to positional arguments."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I0a4e35d4741ac3fb33e0e05b2b0702d5f773e08c"},{"line_number":15,"context_line":"Partially-Implements: blueprint bgp-spinout"},{"line_number":16,"context_line":"Partial-Bug: #156000"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9abb7d3a_3012410a","line":15,"range":{"start_line":15,"start_character":0,"end_line":15,"end_character":43},"in_reply_to":"9abb7d3a_e399887a","updated":"2016-06-03 08:38:54.000000000","message":"I will move it out, it should not be related to the blueprint, thanks.","commit_id":"d21fe198573ecc4eb3ce37d451baa8c6bd67fef0"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"db8af5914afe7b98c8515bda690d4eb03421dd5d","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I0a4e35d4741ac3fb33e0e05b2b0702d5f773e08c"},{"line_number":15,"context_line":"Partially-Implements: blueprint bgp-spinout"},{"line_number":16,"context_line":"Partial-Bug: #156000"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9abb7d3a_e3bea8ac","line":16,"range":{"start_line":16,"start_character":14,"end_line":16,"end_character":20},"updated":"2016-06-01 15:04:58.000000000","message":"It points to a wrong bug.....","commit_id":"d21fe198573ecc4eb3ce37d451baa8c6bd67fef0"},{"author":{"_account_id":6981,"name":"Yang Yu","email":"yangyu@vmware.com","username":"yuyangbj"},"change_message_id":"6e03372282b391a5cfd1ce55922af4638c98cf29","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I0a4e35d4741ac3fb33e0e05b2b0702d5f773e08c"},{"line_number":15,"context_line":"Partially-Implements: blueprint bgp-spinout"},{"line_number":16,"context_line":"Partial-Bug: #156000"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9abb7d3a_d003f5b6","line":16,"range":{"start_line":16,"start_character":14,"end_line":16,"end_character":20},"in_reply_to":"9abb7d3a_e3bea8ac","updated":"2016-06-03 08:38:54.000000000","message":"Will open a bug, thanks.","commit_id":"d21fe198573ecc4eb3ce37d451baa8c6bd67fef0"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"ebf590fd0a315f7beb970624ad3ed445aed75303","unresolved":false,"context_lines":[{"line_number":9,"context_line":"For bgp peer, the peer-ip and remote-as are required arguments, but"},{"line_number":10,"context_line":"they are set into the optional arguments list by argparser lib. So"},{"line_number":11,"context_line":"changing the CLI usage to make sure the peer-ip and remote-as are"},{"line_number":12,"context_line":"set to required arguments. See below:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"positional arguments:"},{"line_number":15,"context_line":"  NAME                  Name of the BGP peer to create."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1aa78d24_173f6ad7","line":12,"updated":"2016-07-08 09:19:38.000000000","message":"while i agree \"optional arguments\" is confusing,\nit isn\u0027t a problem specific to the bgp-peer-create command\nor CreateCommand, right?","commit_id":"e9b934d11f56623fb8dd2cf2a2388a240b1a8130"},{"author":{"_account_id":6981,"name":"Yang Yu","email":"yangyu@vmware.com","username":"yuyangbj"},"change_message_id":"25ec773d7e67cce0962951ad05820d580a00198e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"For bgp peer, the peer-ip and remote-as are required arguments, but"},{"line_number":10,"context_line":"they are set into the optional arguments list by argparser lib. So"},{"line_number":11,"context_line":"changing the CLI usage to make sure the peer-ip and remote-as are"},{"line_number":12,"context_line":"set to required arguments. See below:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"positional arguments:"},{"line_number":15,"context_line":"  NAME                  Name of the BGP peer to create."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1aa78d24_f28d8c2b","line":12,"in_reply_to":"1aa78d24_173f6ad7","updated":"2016-07-08 09:22:39.000000000","message":"Yes, you are right, So I split the fix by case. It is common in create command. The other command do not have this problem.","commit_id":"e9b934d11f56623fb8dd2cf2a2388a240b1a8130"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"3734d068f1bb6f86eaf2f695b53220671b4d5587","unresolved":false,"context_lines":[{"line_number":9,"context_line":"For bgp peer, the peer-ip and remote-as are required arguments, but"},{"line_number":10,"context_line":"they are set into the optional arguments list by argparser lib. So"},{"line_number":11,"context_line":"changing the CLI usage to make sure the peer-ip and remote-as are"},{"line_number":12,"context_line":"set to required arguments. See below:"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"positional arguments:"},{"line_number":15,"context_line":"  NAME                  Name of the BGP peer to create."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1aa78d24_e64831cf","line":12,"in_reply_to":"1aa78d24_f28d8c2b","updated":"2016-07-08 09:41:35.000000000","message":"how about fixing it in a more generic way then?\neg. make NeutronCommand get_parser return a subclass of parser\nwhich checks \"required\" argument of add_argument.","commit_id":"e9b934d11f56623fb8dd2cf2a2388a240b1a8130"}],"neutronclient/neutron/v2_0/bgp/peer.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"6e30afe810bc55328e339d778b3e2c2e6ae816b7","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            \u0027name\u0027,"},{"line_number":68,"context_line":"            metavar\u003d\u0027NAME\u0027,"},{"line_number":69,"context_line":"            help\u003d_(\u0027Name of the BGP peer to create.\u0027))"},{"line_number":70,"context_line":"        self.required_group.add_argument("},{"line_number":71,"context_line":"            \u0027--peer-ip\u0027,"},{"line_number":72,"context_line":"            metavar\u003d\u0027PEER_IP_ADDRESS\u0027,"},{"line_number":73,"context_line":"            required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_34b27b94","line":70,"updated":"2016-06-15 06:37:41.000000000","message":"Why we need to this for positional arguments? These are mandatory by default?","commit_id":"9da2ebeb755c0a9394774dbc4ff35cd42c7d56c7"},{"author":{"_account_id":6981,"name":"Yang Yu","email":"yangyu@vmware.com","username":"yuyangbj"},"change_message_id":"c40f9cea44e949dc37f0e5f3b67573db92789daa","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            \u0027name\u0027,"},{"line_number":68,"context_line":"            metavar\u003d\u0027NAME\u0027,"},{"line_number":69,"context_line":"            help\u003d_(\u0027Name of the BGP peer to create.\u0027))"},{"line_number":70,"context_line":"        self.required_group.add_argument("},{"line_number":71,"context_line":"            \u0027--peer-ip\u0027,"},{"line_number":72,"context_line":"            metavar\u003d\u0027PEER_IP_ADDRESS\u0027,"},{"line_number":73,"context_line":"            required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_62b9de15","line":70,"in_reply_to":"7aa08908_34b27b94","updated":"2016-06-15 08:36:03.000000000","message":"Actually, for argparser lib, there are 2 default group positional and optional. for other groups, we need to put the arguments manually.","commit_id":"9da2ebeb755c0a9394774dbc4ff35cd42c7d56c7"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"737a53a5d0c997d9bc3e1d5709510e409aea9854","unresolved":false,"context_lines":[{"line_number":67,"context_line":"            \u0027name\u0027,"},{"line_number":68,"context_line":"            metavar\u003d\u0027NAME\u0027,"},{"line_number":69,"context_line":"            help\u003d_(\u0027Name of the BGP peer to create.\u0027))"},{"line_number":70,"context_line":"        self.required_group.add_argument("},{"line_number":71,"context_line":"            \u0027--peer-ip\u0027,"},{"line_number":72,"context_line":"            metavar\u003d\u0027PEER_IP_ADDRESS\u0027,"},{"line_number":73,"context_line":"            required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_596c86d0","line":70,"in_reply_to":"7aa08908_62b9de15","updated":"2016-06-15 14:56:25.000000000","message":"ok","commit_id":"9da2ebeb755c0a9394774dbc4ff35cd42c7d56c7"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"6e30afe810bc55328e339d778b3e2c2e6ae816b7","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        self.required_group.add_argument("},{"line_number":71,"context_line":"            \u0027--peer-ip\u0027,"},{"line_number":72,"context_line":"            metavar\u003d\u0027PEER_IP_ADDRESS\u0027,"},{"line_number":73,"context_line":"            required\u003dTrue,"},{"line_number":74,"context_line":"            help\u003d_(\u0027Peer IP address.\u0027))"},{"line_number":75,"context_line":"        self.required_group.add_argument("},{"line_number":76,"context_line":"            \u0027--remote-as\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_14865fb8","line":73,"updated":"2016-06-15 06:37:41.000000000","message":"Do we need to specify required\u003dTrue now?","commit_id":"9da2ebeb755c0a9394774dbc4ff35cd42c7d56c7"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"737a53a5d0c997d9bc3e1d5709510e409aea9854","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        self.required_group.add_argument("},{"line_number":71,"context_line":"            \u0027--peer-ip\u0027,"},{"line_number":72,"context_line":"            metavar\u003d\u0027PEER_IP_ADDRESS\u0027,"},{"line_number":73,"context_line":"            required\u003dTrue,"},{"line_number":74,"context_line":"            help\u003d_(\u0027Peer IP address.\u0027))"},{"line_number":75,"context_line":"        self.required_group.add_argument("},{"line_number":76,"context_line":"            \u0027--remote-as\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_f97612a2","line":73,"in_reply_to":"7aa08908_027a9a77","updated":"2016-06-15 14:56:25.000000000","message":"ok","commit_id":"9da2ebeb755c0a9394774dbc4ff35cd42c7d56c7"},{"author":{"_account_id":6981,"name":"Yang Yu","email":"yangyu@vmware.com","username":"yuyangbj"},"change_message_id":"c40f9cea44e949dc37f0e5f3b67573db92789daa","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        self.required_group.add_argument("},{"line_number":71,"context_line":"            \u0027--peer-ip\u0027,"},{"line_number":72,"context_line":"            metavar\u003d\u0027PEER_IP_ADDRESS\u0027,"},{"line_number":73,"context_line":"            required\u003dTrue,"},{"line_number":74,"context_line":"            help\u003d_(\u0027Peer IP address.\u0027))"},{"line_number":75,"context_line":"        self.required_group.add_argument("},{"line_number":76,"context_line":"            \u0027--remote-as\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_027a9a77","line":73,"in_reply_to":"7aa08908_14865fb8","updated":"2016-06-15 08:36:03.000000000","message":"Yes, the required_group is only a group name, every arguments can put into this, we need to pick up the required one into it. If we removed the required\u003dTrue, the argument will be changed to optional one.(add [] around the argument)","commit_id":"9da2ebeb755c0a9394774dbc4ff35cd42c7d56c7"}],"neutronclient/neutron/v2_0/bgp/speaker.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"6e30afe810bc55328e339d778b3e2c2e6ae816b7","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            \u0027name\u0027,"},{"line_number":94,"context_line":"            metavar\u003d\u0027NAME\u0027,"},{"line_number":95,"context_line":"            help\u003d_(\u0027Name of the BGP speaker to create.\u0027))"},{"line_number":96,"context_line":"        self.required_group.add_argument("},{"line_number":97,"context_line":"            \u0027--local-as\u0027,"},{"line_number":98,"context_line":"            metavar\u003d\u0027LOCAL_AS\u0027,"},{"line_number":99,"context_line":"            required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":3,"id":"7aa08908_54a3c742","line":96,"updated":"2016-06-15 06:37:41.000000000","message":"Why we need this for positional arguments?","commit_id":"9da2ebeb755c0a9394774dbc4ff35cd42c7d56c7"}]}
