)]}'
{"openstackclient/volume/v2/volume.py":[{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"3cec6e0ccc2c734361d4062982308f9650655563","unresolved":false,"context_lines":[{"line_number":30,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def _sort_parser(parsed_args):"},{"line_number":34,"context_line":"    if parsed_args.remote_host or (parsed_args.remote_source_id or"},{"line_number":35,"context_line":"                                   parsed_args.remote_source_name):"},{"line_number":36,"context_line":"        if parsed_args.remote_host and (parsed_args.remote_source_id or"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_af1b3d7f","line":33,"range":{"start_line":33,"start_character":4,"end_line":33,"end_character":16},"updated":"2016-09-21 01:06:53.000000000","message":"_sort_parser is kind of a weird name for this helper... it doesn\u0027t explain anything about what the method is doing or why its return value should be true or false based on remote_hosts and source id\u0027s/etc.","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3168aec493d92f6b866bca9a9dcac0e859227c9c","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def _sort_parser(parsed_args):"},{"line_number":34,"context_line":"    if parsed_args.remote_host or (parsed_args.remote_source_id or"},{"line_number":35,"context_line":"                                   parsed_args.remote_source_name):"},{"line_number":36,"context_line":"        if parsed_args.remote_host and (parsed_args.remote_source_id or"},{"line_number":37,"context_line":"                                        parsed_args.remote_source_name):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_ef5aa529","line":34,"range":{"start_line":34,"start_character":7,"end_line":34,"end_character":8},"updated":"2016-09-21 00:35:57.000000000","message":"nit: the bracket \"(\" in this case is used to line wrap should go in the beginning, not before source_id","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3168aec493d92f6b866bca9a9dcac0e859227c9c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"def _sort_parser(parsed_args):"},{"line_number":34,"context_line":"    if parsed_args.remote_host or (parsed_args.remote_source_id or"},{"line_number":35,"context_line":"                                   parsed_args.remote_source_name):"},{"line_number":36,"context_line":"        if parsed_args.remote_host and (parsed_args.remote_source_id or"},{"line_number":37,"context_line":"                                        parsed_args.remote_source_name):"},{"line_number":38,"context_line":"            # Check if there are any useless options"},{"line_number":39,"context_line":"            if parsed_args.image or parsed_args.snapshot or \\"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_0fb0b142","line":36,"range":{"start_line":36,"start_character":39,"end_line":36,"end_character":40},"updated":"2016-09-21 00:35:57.000000000","message":"in this case the bracket is needed here :)","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3168aec493d92f6b866bca9a9dcac0e859227c9c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        if parsed_args.remote_host and (parsed_args.remote_source_id or"},{"line_number":37,"context_line":"                                        parsed_args.remote_source_name):"},{"line_number":38,"context_line":"            # Check if there are any useless options"},{"line_number":39,"context_line":"            if parsed_args.image or parsed_args.snapshot or \\"},{"line_number":40,"context_line":"                parsed_args.source or parsed_args.user or \\"},{"line_number":41,"context_line":"                    parsed_args.project or parsed_args.size:"},{"line_number":42,"context_line":"                msg \u003d (_(\"\u0027--size\u0027, \u0027--image\u0027, \u0027--snapshot\u0027, \""},{"line_number":43,"context_line":"                         \"\u0027--source\u0027, \u0027--user\u0027 and \u0027--project\u0027 \""},{"line_number":44,"context_line":"                         \"options will not work when you create \""}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_8f820151","line":41,"range":{"start_line":39,"start_character":15,"end_line":41,"end_character":59},"updated":"2016-09-21 00:35:57.000000000","message":"use brackets around the first and last, you won\u0027t need slashes \"\\\"","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3168aec493d92f6b866bca9a9dcac0e859227c9c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"                msg \u003d (_(\"\u0027--size\u0027, \u0027--image\u0027, \u0027--snapshot\u0027, \""},{"line_number":43,"context_line":"                         \"\u0027--source\u0027, \u0027--user\u0027 and \u0027--project\u0027 \""},{"line_number":44,"context_line":"                         \"options will not work when you create \""},{"line_number":45,"context_line":"                         \"new volume from an existing remote volume\"))"},{"line_number":46,"context_line":"                LOG.warning(msg)"},{"line_number":47,"context_line":"            # All required options are specified."},{"line_number":48,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_0fdef16c","line":45,"range":{"start_line":45,"start_character":26,"end_line":45,"end_character":36},"updated":"2016-09-21 00:35:57.000000000","message":"\"a* new volume\"","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3168aec493d92f6b866bca9a9dcac0e859227c9c","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        )"},{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            \"--remote-host\","},{"line_number":132,"context_line":"            metavar\u003d\"\u003cremote\u003e\","},{"line_number":133,"context_line":"            help\u003d_(\"Cinder host on which the existing remote volume resides \""},{"line_number":134,"context_line":"                   \"(takes the form: host@backend-name#pool)\"),"},{"line_number":135,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_2f364de7","line":132,"range":{"start_line":132,"start_character":22,"end_line":132,"end_character":28},"updated":"2016-09-21 00:35:57.000000000","message":"remote-host?","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3168aec493d92f6b866bca9a9dcac0e859227c9c","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            \"--remote-host\","},{"line_number":132,"context_line":"            metavar\u003d\"\u003cremote\u003e\","},{"line_number":133,"context_line":"            help\u003d_(\"Cinder host on which the existing remote volume resides \""},{"line_number":134,"context_line":"                   \"(takes the form: host@backend-name#pool)\"),"},{"line_number":135,"context_line":"        )"},{"line_number":136,"context_line":"        source_group \u003d parser.add_mutually_exclusive_group()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_9431380e","line":133,"range":{"start_line":133,"start_character":20,"end_line":133,"end_character":26},"updated":"2016-09-21 00:35:57.000000000","message":"i\u0027d either remove \"Cinder\" or prefer \"Volume\" here, we try to avoid project code names","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3168aec493d92f6b866bca9a9dcac0e859227c9c","unresolved":false,"context_lines":[{"line_number":152,"context_line":"        image_client \u003d self.app.client_manager.image"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if (_sort_parser(parsed_args)):"},{"line_number":155,"context_line":"            # create a new volume from an existing remote volume"},{"line_number":156,"context_line":"            if parsed_args.remote_source_id:"},{"line_number":157,"context_line":"                ref_dict \u003d {\u0027source-id\u0027: parsed_args.remote_source_id}"},{"line_number":158,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_cf20899e","line":155,"range":{"start_line":155,"start_character":12,"end_line":155,"end_character":64},"updated":"2016-09-21 00:35:57.000000000","message":"you can mention that this is the functional equivalent to \"manage\" APIs exposed by cinder","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"},{"author":{"_account_id":12924,"name":"Patrick East","email":"east.patrick@gmail.com","username":"patrick.east"},"change_message_id":"3cec6e0ccc2c734361d4062982308f9650655563","unresolved":false,"context_lines":[{"line_number":153,"context_line":""},{"line_number":154,"context_line":"        if (_sort_parser(parsed_args)):"},{"line_number":155,"context_line":"            # create a new volume from an existing remote volume"},{"line_number":156,"context_line":"            if parsed_args.remote_source_id:"},{"line_number":157,"context_line":"                ref_dict \u003d {\u0027source-id\u0027: parsed_args.remote_source_id}"},{"line_number":158,"context_line":"            else:"},{"line_number":159,"context_line":"                ref_dict \u003d {\u0027source-name\u0027: parsed_args.remote_source_name}"},{"line_number":160,"context_line":"            volume \u003d volume_client.volumes.manage("},{"line_number":161,"context_line":"                host\u003dparsed_args.remote_host,"},{"line_number":162,"context_line":"                ref\u003dref_dict,"}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_4f59d959","line":159,"range":{"start_line":156,"start_character":12,"end_line":159,"end_character":74},"updated":"2016-09-21 01:06:53.000000000","message":"This ref dict key and value need to be passed in by whoever is calling this from the cli or wherever, there are no hard requirements for backends to use source-id or source-name. Thats why the cinderclient cli had a like id-type and reference which was basically the key and value to pass to the api.","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"},{"author":{"_account_id":6482,"name":"Steve Martinelli","email":"s.martinelli@gmail.com","username":"stevemar"},"change_message_id":"3168aec493d92f6b866bca9a9dcac0e859227c9c","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                metadata\u003dparsed_args.property,"},{"line_number":168,"context_line":"                bootable\u003dparsed_args.bootable,"},{"line_number":169,"context_line":"            )"},{"line_number":170,"context_line":"        else:"},{"line_number":171,"context_line":"            source_volume \u003d None"},{"line_number":172,"context_line":"            if parsed_args.source:"},{"line_number":173,"context_line":"                source_volume \u003d utils.find_resource("}],"source_content_type":"text/x-python","patch_set":2,"id":"7a8ec9b2_5407b01b","line":170,"range":{"start_line":170,"start_character":8,"end_line":170,"end_character":13},"updated":"2016-09-21 00:35:57.000000000","message":"similar to line 155, a comment saying what this block does would be helpful\n\n  # create a new volume in the cinder backend\n\nor something similar","commit_id":"b05c14706fa93580b871f4459891b2130043cbef"}]}
