)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"332d72d4ab092233119ae68ad5613b35499a5537","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Help information for lbaasV2 Update CLIs lack a lot of option[1][2][3]."},{"line_number":10,"context_line":"This patch adds these options."},{"line_number":11,"context_line":"[1]:http://paste.openstack.org/show/478503/"},{"line_number":12,"context_line":"[2]:https://specs.openstack.org/openstack/neutron-specs/specs/kilo/lbaas-api-and-objmodel-improvement.html#rest-api-impact"},{"line_number":13,"context_line":"[3]:https://github.com/openstack/neutron-lbaas/blob/master/neutron_lbaas/extensions/loadbalancerv2.py"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Also updated is the --http-option for HealthMonitor, making it case in-sensitive."},{"line_number":16,"context_line":"Change-Id: If859dc899efa92173c7a654e3f1481b35790faaa"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":14,"id":"3a57f1b5_c7f8c7c5","line":13,"range":{"start_line":11,"start_character":0,"end_line":13,"end_character":101},"updated":"2016-02-15 08:57:57.000000000","message":"This kind of details should be described in the bug report.\nThere is no need that the commit describes the precise details.","commit_id":"ddba2b6dcf8c256d5db297de89ffb29cd94faf67"}],"neutronclient/neutron/v2_0/lb/v2/healthmonitor.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"82d1886689d785a36754df410a2132ab27da74b4","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        help\u003d_(\u0027The time in seconds between sending probes to members.\u0027))"},{"line_number":27,"context_line":"    parser.add_argument("},{"line_number":28,"context_line":"        \u0027--name\u0027,"},{"line_number":29,"context_line":"        help\u003d_(\u0027Name of the health monitor.\u0027))"},{"line_number":30,"context_line":"    parser.add_argument("},{"line_number":31,"context_line":"        \u0027--timeout\u0027,"},{"line_number":32,"context_line":"        required\u003dis_create,"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_2c6720ea","line":29,"updated":"2016-01-15 09:20:41.000000000","message":"Since this function is being called from update as well won\u0027t you feel the help should also include ID?","commit_id":"eb29ab496306bb8ca941e5b80638f781e0afbd2f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2f90e570ec80d45d1fff8435d0c843b539a1a911","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        help\u003d_(\u0027The time in seconds between sending probes to members.\u0027))"},{"line_number":27,"context_line":"    parser.add_argument("},{"line_number":28,"context_line":"        \u0027--name\u0027,"},{"line_number":29,"context_line":"        help\u003d_(\u0027Name of the health monitor.\u0027))"},{"line_number":30,"context_line":"    parser.add_argument("},{"line_number":31,"context_line":"        \u0027--timeout\u0027,"},{"line_number":32,"context_line":"        required\u003dis_create,"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_e239c3d9","line":29,"in_reply_to":"da6ed579_2c6720ea","updated":"2016-01-18 01:47:14.000000000","message":"No, because we cannot update ID of the healthmonitor, and we cannot assign an ID during creation of the healthmonitor.\n\nThis attribute will be used to Update the name of the Healthmonitor , or assign a new name when we are creating the Health Monitor.","commit_id":"eb29ab496306bb8ca941e5b80638f781e0afbd2f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"332d72d4ab092233119ae68ad5613b35499a5537","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    parser.add_argument("},{"line_number":42,"context_line":"        \u0027--url-path\u0027,"},{"line_number":43,"context_line":"        help\u003d_(\u0027The HTTP path used in the HTTP request used by the monitor\u0027"},{"line_number":44,"context_line":"               \u0027 to test a member health. This must be a string \u0027"},{"line_number":45,"context_line":"               \u0027beginning with a / (forward slash).\u0027))"},{"line_number":46,"context_line":"    parser.add_argument("},{"line_number":47,"context_line":"        \u0027--max-retries\u0027,"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_c7c9a75a","line":44,"range":{"start_line":44,"start_character":15,"end_line":44,"end_character":19},"updated":"2016-02-15 08:57:57.000000000","message":"nit: I hope the place of a space is consistent.\nWhy don\u0027t you place this space at the end of line?","commit_id":"ddba2b6dcf8c256d5db297de89ffb29cd94faf67"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"332d72d4ab092233119ae68ad5613b35499a5537","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            parser, \u0027--admin-state-up\u0027,"},{"line_number":128,"context_line":"            dest\u003d\u0027admin_state_up\u0027,"},{"line_number":129,"context_line":"            help\u003d_(\u0027Update the administrative state of \u0027"},{"line_number":130,"context_line":"                   \u0027the load balancer.(True meaning \"Up\")\u0027))"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def args2body(self, parsed_args):"},{"line_number":133,"context_line":"        body \u003d {}"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_e78063c1","line":130,"range":{"start_line":130,"start_character":23,"end_line":130,"end_character":38},"updated":"2016-02-15 08:57:57.000000000","message":"health monitor?\n\nNeeds a space before \"(\".\n\nIn addition, a period is placed after \"(xxx)\", so I think it is better to change it to:\n\n  the health monitor (True meaning \"Up\").","commit_id":"ddba2b6dcf8c256d5db297de89ffb29cd94faf67"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0a81604f785dc5b1da73fb8f6164b847bf18160e","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        _add_common_args(parser, is_create\u003dFalse)"},{"line_number":126,"context_line":"        utils.add_boolean_argument("},{"line_number":127,"context_line":"            parser, \u0027--admin-state-up\u0027,"},{"line_number":128,"context_line":"            dest\u003d\u0027admin_state_up\u0027,"},{"line_number":129,"context_line":"            help\u003d_(\u0027Update the administrative state of \u0027"},{"line_number":130,"context_line":"                   \u0027the health monitor (True meaning \"Up\").\u0027))"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_598f15cc","line":128,"range":{"start_line":128,"start_character":12,"end_line":128,"end_character":34},"updated":"2016-02-22 01:02:28.000000000","message":"unnecessary","commit_id":"180bc22d3d27d4844599468e595c6ee3803be079"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"07a09bb8ea385816dfaba14f50bdc93a8956a3f6","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        _add_common_args(parser, is_create\u003dFalse)"},{"line_number":126,"context_line":"        utils.add_boolean_argument("},{"line_number":127,"context_line":"            parser, \u0027--admin-state-up\u0027,"},{"line_number":128,"context_line":"            dest\u003d\u0027admin_state_up\u0027,"},{"line_number":129,"context_line":"            help\u003d_(\u0027Update the administrative state of \u0027"},{"line_number":130,"context_line":"                   \u0027the health monitor (True meaning \"Up\").\u0027))"},{"line_number":131,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_0436c451","line":128,"range":{"start_line":128,"start_character":12,"end_line":128,"end_character":34},"in_reply_to":"bae84128_598f15cc","updated":"2016-02-22 01:28:01.000000000","message":"Done","commit_id":"180bc22d3d27d4844599468e595c6ee3803be079"}],"neutronclient/neutron/v2_0/lb/v2/listener.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"82d1886689d785a36754df410a2132ab27da74b4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        help\u003d_(\u0027Description of the listener.\u0027))"},{"line_number":35,"context_line":"    parser.add_argument("},{"line_number":36,"context_line":"        \u0027--name\u0027,"},{"line_number":37,"context_line":"        help\u003d_(\u0027Name of the listener.\u0027))"},{"line_number":38,"context_line":"    parser.add_argument("},{"line_number":39,"context_line":"        \u0027--connection-limit\u0027,"},{"line_number":40,"context_line":"        type\u003dint,"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_1162790a","line":37,"updated":"2016-01-15 09:20:41.000000000","message":"Since this function is being called from update as well won\u0027t you feel the help should also include ID?","commit_id":"eb29ab496306bb8ca941e5b80638f781e0afbd2f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2f90e570ec80d45d1fff8435d0c843b539a1a911","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        help\u003d_(\u0027Description of the listener.\u0027))"},{"line_number":35,"context_line":"    parser.add_argument("},{"line_number":36,"context_line":"        \u0027--name\u0027,"},{"line_number":37,"context_line":"        help\u003d_(\u0027Name of the listener.\u0027))"},{"line_number":38,"context_line":"    parser.add_argument("},{"line_number":39,"context_line":"        \u0027--connection-limit\u0027,"},{"line_number":40,"context_line":"        type\u003dint,"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_a233cbf5","line":37,"in_reply_to":"da6ed579_1162790a","updated":"2016-01-18 01:47:14.000000000","message":"Same as the previous comment","commit_id":"eb29ab496306bb8ca941e5b80638f781e0afbd2f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"332d72d4ab092233119ae68ad5613b35499a5537","unresolved":false,"context_lines":[{"line_number":128,"context_line":"        _add_common_args(parser)"},{"line_number":129,"context_line":"        utils.add_boolean_argument("},{"line_number":130,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":131,"context_line":"            help\u003d_(\u0027Specify the administrative state of the router.\u0027"},{"line_number":132,"context_line":"                   \u0027(True meaning \"Up\")\u0027))"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_e7094385","line":131,"range":{"start_line":131,"start_character":59,"end_line":131,"end_character":66},"updated":"2016-02-15 08:57:57.000000000","message":"router?","commit_id":"ddba2b6dcf8c256d5db297de89ffb29cd94faf67"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"332d72d4ab092233119ae68ad5613b35499a5537","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        utils.add_boolean_argument("},{"line_number":130,"context_line":"            parser, \u0027--admin-state-up\u0027, dest\u003d\u0027admin_state_up\u0027,"},{"line_number":131,"context_line":"            help\u003d_(\u0027Specify the administrative state of the router.\u0027"},{"line_number":132,"context_line":"                   \u0027(True meaning \"Up\")\u0027))"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def args2body(self, parsed_args):"},{"line_number":135,"context_line":"        body \u003d {}"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_47f5b754","line":132,"updated":"2016-02-15 08:57:57.000000000","message":"Needs a space before \"(\".","commit_id":"ddba2b6dcf8c256d5db297de89ffb29cd94faf67"}],"neutronclient/neutron/v2_0/lb/v2/loadbalancer.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"82d1886689d785a36754df410a2132ab27da74b4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        help\u003d_(\u0027Description of the load balancer.\u0027))"},{"line_number":26,"context_line":"    parser.add_argument("},{"line_number":27,"context_line":"        \u0027--name\u0027, metavar\u003d\u0027NAME\u0027,"},{"line_number":28,"context_line":"        help\u003d_(\u0027Name of the load balancer.\u0027))"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def _parse_common_args(body, parsed_args):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_31245dc3","line":28,"updated":"2016-01-15 09:20:41.000000000","message":"ditto","commit_id":"eb29ab496306bb8ca941e5b80638f781e0afbd2f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2f90e570ec80d45d1fff8435d0c843b539a1a911","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        help\u003d_(\u0027Description of the load balancer.\u0027))"},{"line_number":26,"context_line":"    parser.add_argument("},{"line_number":27,"context_line":"        \u0027--name\u0027, metavar\u003d\u0027NAME\u0027,"},{"line_number":28,"context_line":"        help\u003d_(\u0027Name of the load balancer.\u0027))"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"def _parse_common_args(body, parsed_args):"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_c2303feb","line":28,"in_reply_to":"da6ed579_31245dc3","updated":"2016-01-18 01:47:14.000000000","message":"ditto","commit_id":"eb29ab496306bb8ca941e5b80638f781e0afbd2f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"332d72d4ab092233119ae68ad5613b35499a5537","unresolved":false,"context_lines":[{"line_number":101,"context_line":"        utils.add_boolean_argument("},{"line_number":102,"context_line":"            parser, \u0027--admin-state-up\u0027,"},{"line_number":103,"context_line":"            help\u003d_(\u0027Update the administrative state of \u0027"},{"line_number":104,"context_line":"                   \u0027the load balancer.(True meaning \"Up\")\u0027))"},{"line_number":105,"context_line":"        _add_common_args(parser)"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def args2body(self, parsed_args):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_07a25f4b","line":104,"updated":"2016-02-15 08:57:57.000000000","message":"Needs a space before \"(\".","commit_id":"ddba2b6dcf8c256d5db297de89ffb29cd94faf67"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"b59e9ef48f92b38a29736f12c70cf3caec9ed22c","unresolved":false,"context_lines":[{"line_number":55,"context_line":"    \"\"\"LBaaS v2 Create a loadbalancer.\"\"\""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"    resource \u003d \u0027loadbalancer\u0027"},{"line_number":58,"context_line":"    allow_names \u003d True"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":61,"context_line":"        _add_common_args(parser)"}],"source_content_type":"text/x-python","patch_set":23,"id":"7af24918_ca610207","line":58,"updated":"2016-03-04 06:10:22.000000000","message":"I think this is not required.. :).. We don\u0027t have alllow_names support for Create..\nhttps://github.com/openstack/python-neutronclient/blob/928ed81773b3cbbfce2677fcc93764772b60b9f1/neutronclient/neutron/v2_0/__init__.py#L457","commit_id":"0f81fc06c66c8402d8f9ed3510b3003485e1027f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"76ac8703f9795a70724e05eb59706f57d33dc9ce","unresolved":false,"context_lines":[{"line_number":115,"context_line":"class DeleteLoadBalancer(neutronV20.DeleteCommand):"},{"line_number":116,"context_line":"    \"\"\"LBaaS v2 Delete a given loadbalancer.\"\"\""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    resource \u003d \u0027loadbalancer\u0027"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"class RetrieveLoadBalancerStats(neutronV20.ShowCommand):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7af24918_1e251e08","line":118,"updated":"2016-03-03 13:59:00.000000000","message":"why we removed allow_names?","commit_id":"0f81fc06c66c8402d8f9ed3510b3003485e1027f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"b4f03bedd7aab8ab486ee8011cfc16967ca9ddad","unresolved":false,"context_lines":[{"line_number":115,"context_line":"class DeleteLoadBalancer(neutronV20.DeleteCommand):"},{"line_number":116,"context_line":"    \"\"\"LBaaS v2 Delete a given loadbalancer.\"\"\""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    resource \u003d \u0027loadbalancer\u0027"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"class RetrieveLoadBalancerStats(neutronV20.ShowCommand):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7af24918_9438ced4","line":118,"in_reply_to":"7af24918_1e251e08","updated":"2016-03-03 22:09:04.000000000","message":"Its True By Default :)\n\nhttps://github.com/openstack/python-neutronclient/blob/928ed81773b3cbbfce2677fcc93764772b60b9f1/neutronclient/neutron/v2_0/__init__.py#L501\n\nhttps://github.com/openstack/python-neutronclient/blob/928ed81773b3cbbfce2677fcc93764772b60b9f1/neutronclient/neutron/v2_0/__init__.py#L557","commit_id":"0f81fc06c66c8402d8f9ed3510b3003485e1027f"},{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"b59e9ef48f92b38a29736f12c70cf3caec9ed22c","unresolved":false,"context_lines":[{"line_number":115,"context_line":"class DeleteLoadBalancer(neutronV20.DeleteCommand):"},{"line_number":116,"context_line":"    \"\"\"LBaaS v2 Delete a given loadbalancer.\"\"\""},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"    resource \u003d \u0027loadbalancer\u0027"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"class RetrieveLoadBalancerStats(neutronV20.ShowCommand):"}],"source_content_type":"text/x-python","patch_set":23,"id":"7af24918_4f1b4481","line":118,"in_reply_to":"7af24918_9438ced4","updated":"2016-03-04 06:10:22.000000000","message":"Ok.. I just saw it\u0027s removed so felt curious..","commit_id":"0f81fc06c66c8402d8f9ed3510b3003485e1027f"}],"neutronclient/neutron/v2_0/lb/v2/member.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"82d1886689d785a36754df410a2132ab27da74b4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def _add_common_args(parser):"},{"line_number":41,"context_line":"        parser.add_argument("},{"line_number":42,"context_line":"            \u0027--name\u0027,"},{"line_number":43,"context_line":"            help\u003d_(\u0027Name of the member.\u0027))"},{"line_number":44,"context_line":"        parser.add_argument("},{"line_number":45,"context_line":"            \u0027--weight\u0027,"},{"line_number":46,"context_line":"            help\u003d_(\u0027Weight of member in the pool (default:1, [0..256])\u0027))"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_11103956","line":43,"updated":"2016-01-15 09:20:41.000000000","message":"ditto","commit_id":"eb29ab496306bb8ca941e5b80638f781e0afbd2f"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"2f90e570ec80d45d1fff8435d0c843b539a1a911","unresolved":false,"context_lines":[{"line_number":40,"context_line":"def _add_common_args(parser):"},{"line_number":41,"context_line":"        parser.add_argument("},{"line_number":42,"context_line":"            \u0027--name\u0027,"},{"line_number":43,"context_line":"            help\u003d_(\u0027Name of the member.\u0027))"},{"line_number":44,"context_line":"        parser.add_argument("},{"line_number":45,"context_line":"            \u0027--weight\u0027,"},{"line_number":46,"context_line":"            help\u003d_(\u0027Weight of member in the pool (default:1, [0..256])\u0027))"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_624cf376","line":43,"in_reply_to":"da6ed579_11103956","updated":"2016-01-18 01:47:14.000000000","message":"ditto","commit_id":"eb29ab496306bb8ca941e5b80638f781e0afbd2f"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"332d72d4ab092233119ae68ad5613b35499a5537","unresolved":false,"context_lines":[{"line_number":43,"context_line":"            help\u003d_(\u0027Name of the member.\u0027))"},{"line_number":44,"context_line":"        parser.add_argument("},{"line_number":45,"context_line":"            \u0027--weight\u0027,"},{"line_number":46,"context_line":"            help\u003d_(\u0027Weight of member in the pool (default:1, [0..256])\u0027))"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"def _parse_common_args(body, parsed_args):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_476a97ef","line":46,"updated":"2016-02-15 08:57:57.000000000","message":"Needs a period at the end of the help message.","commit_id":"ddba2b6dcf8c256d5db297de89ffb29cd94faf67"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"332d72d4ab092233119ae68ad5613b35499a5537","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        parser.add_argument("},{"line_number":130,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":131,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":132,"context_line":"            help\u003d_(\u0027[DEPRECATED in Mitaka]Set admin state up to false\u0027))"},{"line_number":133,"context_line":"        parser.add_argument("},{"line_number":134,"context_line":"            \u0027pool\u0027, metavar\u003d\u0027POOL\u0027,"},{"line_number":135,"context_line":"            help\u003d_(\u0027ID or name of the pool that this member belongs to\u0027))"}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_2733db15","line":132,"updated":"2016-02-15 08:57:57.000000000","message":"A space after ]","commit_id":"ddba2b6dcf8c256d5db297de89ffb29cd94faf67"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"332d72d4ab092233119ae68ad5613b35499a5537","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            parser, \u0027--admin-state-up\u0027,"},{"line_number":138,"context_line":"            dest\u003d\u0027admin_state\u0027,"},{"line_number":139,"context_line":"            help\u003d_(\u0027Update the administrative state of \u0027"},{"line_number":140,"context_line":"                   \u0027the load balancer.(True meaning \"Up\")\u0027))"},{"line_number":141,"context_line":"        # ToDo(reedip): After Mitaka, remove admin-state-down"},{"line_number":142,"context_line":"        _add_common_args(parser)"},{"line_number":143,"context_line":""}],"source_content_type":"text/x-python","patch_set":14,"id":"3a57f1b5_073edfd9","line":140,"updated":"2016-02-15 08:57:57.000000000","message":"load balancer -\u003e member\n\nA space before (","commit_id":"ddba2b6dcf8c256d5db297de89ffb29cd94faf67"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0a81604f785dc5b1da73fb8f6164b847bf18160e","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":129,"context_line":"        parser.add_argument("},{"line_number":130,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":131,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":132,"context_line":"            help\u003d_(\u0027[DEPRECATED in Mitaka] Set admin state up to false.\u0027))"},{"line_number":133,"context_line":"        parser.add_argument("},{"line_number":134,"context_line":"            \u0027pool\u0027, metavar\u003d\u0027POOL\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_59543520","line":131,"range":{"start_line":131,"start_character":32,"end_line":131,"end_character":53},"updated":"2016-02-22 01:02:28.000000000","message":"I think default\u003dargparse.SUPPRESS is required. It is an existing problem though.\n\nIn my testing,\n\n  parser.parse_args(\u0027\u0027.split())\n\nreturns\n\n  Namespace(admin_state\u003dTrue)\n\nThis means admin_state_up True will be sent to the server\nwhen no option is specified.","commit_id":"180bc22d3d27d4844599468e595c6ee3803be079"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"1d6cca34e05ef5806bfed780eff2c7a7cca7de1c","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":129,"context_line":"        parser.add_argument("},{"line_number":130,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":131,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":132,"context_line":"            help\u003d_(\u0027[DEPRECATED in Mitaka] Set admin state up to false.\u0027))"},{"line_number":133,"context_line":"        parser.add_argument("},{"line_number":134,"context_line":"            \u0027pool\u0027, metavar\u003d\u0027POOL\u0027,"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_a43a7896","line":131,"range":{"start_line":131,"start_character":32,"end_line":131,"end_character":53},"in_reply_to":"bae84128_59543520","updated":"2016-02-22 01:27:50.000000000","message":"Yes I agree. I overlooked it here.","commit_id":"180bc22d3d27d4844599468e595c6ee3803be079"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0a81604f785dc5b1da73fb8f6164b847bf18160e","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        parser.add_argument("},{"line_number":130,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":131,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":132,"context_line":"            help\u003d_(\u0027[DEPRECATED in Mitaka] Set admin state up to false.\u0027))"},{"line_number":133,"context_line":"        parser.add_argument("},{"line_number":134,"context_line":"            \u0027pool\u0027, metavar\u003d\u0027POOL\u0027,"},{"line_number":135,"context_line":"            help\u003d_(\u0027ID or name of the pool that this member belongs to.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_046fe4c5","line":132,"range":{"start_line":132,"start_character":31,"end_line":132,"end_character":41},"updated":"2016-02-22 01:02:28.000000000","message":"Is Mitaka needed?","commit_id":"180bc22d3d27d4844599468e595c6ee3803be079"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"1d6cca34e05ef5806bfed780eff2c7a7cca7de1c","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        parser.add_argument("},{"line_number":130,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":131,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":132,"context_line":"            help\u003d_(\u0027[DEPRECATED in Mitaka] Set admin state up to false.\u0027))"},{"line_number":133,"context_line":"        parser.add_argument("},{"line_number":134,"context_line":"            \u0027pool\u0027, metavar\u003d\u0027POOL\u0027,"},{"line_number":135,"context_line":"            help\u003d_(\u0027ID or name of the pool that this member belongs to.\u0027))"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_64687088","line":132,"range":{"start_line":132,"start_character":31,"end_line":132,"end_character":41},"in_reply_to":"bae84128_046fe4c5","updated":"2016-02-22 01:27:50.000000000","message":"I have found other committed code in NeutronClient with the similar code. Thats why I wrote it here.\nIf you want, I can remove it. Ideally , Mitaka would be useful if the NeutronClient code is latest in the User repo, while the other Clientside implementations are at a previous version ( which I do not think would ideally happen)\n\nReference:https://github.com/openstack/python-neutronclient/blob/master/neutronclient/neutron/v2_0/vpn/vpnservice.py#L60","commit_id":"180bc22d3d27d4844599468e595c6ee3803be079"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0a81604f785dc5b1da73fb8f6164b847bf18160e","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        parser.add_argument("},{"line_number":134,"context_line":"            \u0027pool\u0027, metavar\u003d\u0027POOL\u0027,"},{"line_number":135,"context_line":"            help\u003d_(\u0027ID or name of the pool that this member belongs to.\u0027))"},{"line_number":136,"context_line":"        utils.add_boolean_argument("},{"line_number":137,"context_line":"            parser, \u0027--admin-state-up\u0027,"},{"line_number":138,"context_line":"            dest\u003d\u0027admin_state\u0027,"},{"line_number":139,"context_line":"            help\u003d_(\u0027Update the administrative state of \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_d93e85d9","line":136,"range":{"start_line":136,"start_character":8,"end_line":136,"end_character":35},"updated":"2016-02-22 01:02:28.000000000","message":"nit: It is better that --admin-state-up and --admin-state-down are mutual-exclusive.","commit_id":"180bc22d3d27d4844599468e595c6ee3803be079"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"1d6cca34e05ef5806bfed780eff2c7a7cca7de1c","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        parser.add_argument("},{"line_number":134,"context_line":"            \u0027pool\u0027, metavar\u003d\u0027POOL\u0027,"},{"line_number":135,"context_line":"            help\u003d_(\u0027ID or name of the pool that this member belongs to.\u0027))"},{"line_number":136,"context_line":"        utils.add_boolean_argument("},{"line_number":137,"context_line":"            parser, \u0027--admin-state-up\u0027,"},{"line_number":138,"context_line":"            dest\u003d\u0027admin_state\u0027,"},{"line_number":139,"context_line":"            help\u003d_(\u0027Update the administrative state of \u0027"}],"source_content_type":"text/x-python","patch_set":16,"id":"bae84128_64eeb0b5","line":136,"range":{"start_line":136,"start_character":8,"end_line":136,"end_character":35},"in_reply_to":"bae84128_d93e85d9","updated":"2016-02-22 01:27:50.000000000","message":"I do agree, but IMHO as --admin-state-down is deprecated, I do not think user would try to provide it.\nConsidering it is only for this release, I skipped the mutual-exclusiveness, as from the next release admin-state-down would be removed and we would use the following code( add_boolean_argument for admin-state-up).\nHowever, if you think that the check is still necessary, please let me know","commit_id":"180bc22d3d27d4844599468e595c6ee3803be079"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"1a6b549fc06919cca148fe09a639b953232720b8","unresolved":false,"context_lines":[{"line_number":140,"context_line":"            parser, \u0027--admin-state-up\u0027,"},{"line_number":141,"context_line":"            dest\u003d\u0027admin_state\u0027,"},{"line_number":142,"context_line":"            help\u003d_(\u0027Update the administrative state of \u0027"},{"line_number":143,"context_line":"                   \u0027the load balancer (True meaning \"Up\").\u0027))"},{"line_number":144,"context_line":"        # ToDo(reedip): After Mitaka, remove admin-state-down"},{"line_number":145,"context_line":"        _add_common_args(parser)"},{"line_number":146,"context_line":""}],"source_content_type":"text/x-python","patch_set":20,"id":"9aed3d3a_3f2a7a90","line":143,"range":{"start_line":143,"start_character":24,"end_line":143,"end_character":37},"updated":"2016-03-01 07:25:11.000000000","message":"Nit: This is a member we are manipulating.","commit_id":"4bb2b9f7f73793b082d3b8b3b7665be4ff6f7f03"}],"neutronclient/neutron/v2_0/lb/v2/pool.py":[{"author":{"_account_id":14605,"name":"vikram.choudhary","email":"vikschw@gmail.com","username":"vikram.choudhary"},"change_message_id":"82d1886689d785a36754df410a2132ab27da74b4","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        help\u003d_(\u0027The type of session persistence to use and associated \u0027"},{"line_number":34,"context_line":"               \u0027cookie name\u0027))"},{"line_number":35,"context_line":"    parser.add_argument("},{"line_number":36,"context_line":"        \u0027--name\u0027, help\u003d_(\u0027The name of the pool.\u0027))"},{"line_number":37,"context_line":"    parser.add_argument("},{"line_number":38,"context_line":"        \u0027--lb-algorithm\u0027,"},{"line_number":39,"context_line":"        required\u003dTrue,"}],"source_content_type":"text/x-python","patch_set":11,"id":"da6ed579_6c0bd824","line":36,"updated":"2016-01-15 09:20:41.000000000","message":"ditto","commit_id":"eb29ab496306bb8ca941e5b80638f781e0afbd2f"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"1a6b549fc06919cca148fe09a639b953232720b8","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":105,"context_line":"        _add_common_args(parser)"},{"line_number":106,"context_line":"        parser.add_argument("},{"line_number":107,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":108,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":109,"context_line":"            help\u003d_(\u0027Set admin state up to false.\u0027))"},{"line_number":110,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":20,"id":"9aed3d3a_9a9e34b7","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":33},"updated":"2016-03-01 07:25:11.000000000","message":"Should this be a common argument? Tenants can alter this with an update as well as create.","commit_id":"4bb2b9f7f73793b082d3b8b3b7665be4ff6f7f03"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"dc4727c8903ea4aeb39f079fb485ae902af07188","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":105,"context_line":"        _add_common_args(parser)"},{"line_number":106,"context_line":"        parser.add_argument("},{"line_number":107,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":108,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":109,"context_line":"            help\u003d_(\u0027Set admin state up to false.\u0027))"},{"line_number":110,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":20,"id":"9aed3d3a_752c2399","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":33},"in_reply_to":"9aed3d3a_9a075481","updated":"2016-03-01 07:51:31.000000000","message":"The issue/design is that admin-state can be turned off during create if tenant wants it.\nBut during Update, tenant can switch it on if required.\nThat is the default behavior followed in all the patches in NeutronClient.\n\nThat said, I would agree to having the same option (--admin-state-up) if possible in both Create and Update options of all CLIs\nA similar approach is being taken in the transition of NeutronClient to OpenstackClient ( both --admin-state\u003denable and --admin-state\u003ddisable options are visible in all CLIs)","commit_id":"4bb2b9f7f73793b082d3b8b3b7665be4ff6f7f03"},{"author":{"_account_id":17776,"name":"Reedip","email":"reedip.banerjee@gmail.com","username":"Reedip"},"change_message_id":"4c287c07e14c5f63415927fa6dc47398b9549194","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":105,"context_line":"        _add_common_args(parser)"},{"line_number":106,"context_line":"        parser.add_argument("},{"line_number":107,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":108,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":109,"context_line":"            help\u003d_(\u0027Set admin state up to false.\u0027))"},{"line_number":110,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":20,"id":"9aed3d3a_fac2e083","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":33},"in_reply_to":"9aed3d3a_9a9e34b7","updated":"2016-03-01 07:32:21.000000000","message":"Not for Update.\nUpdate should have admin-state-up ( which in fact I seem I have missed)\nI will provide the same in the next PS.","commit_id":"4bb2b9f7f73793b082d3b8b3b7665be4ff6f7f03"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"a045bf7af6bb7762acf740768319439a37118ce6","unresolved":false,"context_lines":[{"line_number":104,"context_line":"    def add_known_arguments(self, parser):"},{"line_number":105,"context_line":"        _add_common_args(parser)"},{"line_number":106,"context_line":"        parser.add_argument("},{"line_number":107,"context_line":"            \u0027--admin-state-down\u0027,"},{"line_number":108,"context_line":"            dest\u003d\u0027admin_state\u0027, action\u003d\u0027store_false\u0027,"},{"line_number":109,"context_line":"            help\u003d_(\u0027Set admin state up to false.\u0027))"},{"line_number":110,"context_line":"        parser.add_argument("}],"source_content_type":"text/x-python","patch_set":20,"id":"9aed3d3a_9a075481","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":33},"in_reply_to":"9aed3d3a_fac2e083","updated":"2016-03-01 07:36:31.000000000","message":"That\u0027s super confusing. But I suppose it can\u0027t be helped, given we don\u0027t want to break backward-compatibility with people with code interfacing with this CLI, eh?\n\nWhat do y\u0027all think of the idea of allowing --admin-state-up as a hidden option in the create command, to mirror the update?","commit_id":"4bb2b9f7f73793b082d3b8b3b7665be4ff6f7f03"}]}
