)]}'
{"cinder/volume/drivers/fujitsu/eternus_dx/eternus_dx_common.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a8f5fd1432121e14fc01ef6da7f0b0800a8a0677","unresolved":false,"context_lines":[{"line_number":1606,"context_line":"                     \u0027Error: Volume is in Busy state\u0027)"},{"line_number":1607,"context_line":"                   % {\u0027cpsession\u0027: cpsession,"},{"line_number":1608,"context_line":"                      \u0027operation\u0027: operation})"},{"line_number":1609,"context_line":"            raise exception.VolumeIsBusy(msg)"},{"line_number":1610,"context_line":"        elif rc !\u003d 0:"},{"line_number":1611,"context_line":"            msg \u003d (_(\u0027_delete_copysession, \u0027"},{"line_number":1612,"context_line":"                     \u0027copysession: %(cpsession)s, \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_aca06891","line":1609,"updated":"2019-03-15 18:23:42.000000000","message":"I think VolumeIsBusy is intended to take a \"volume_name\" arg?","commit_id":"288e414371ec19686cc0cf7fb132f8029321f6f0"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"6a015f0275241e40d5786f9412a90f67ce873aa4","unresolved":false,"context_lines":[{"line_number":1606,"context_line":"                     \u0027Error: Volume is in Busy state\u0027)"},{"line_number":1607,"context_line":"                   % {\u0027cpsession\u0027: cpsession,"},{"line_number":1608,"context_line":"                      \u0027operation\u0027: operation})"},{"line_number":1609,"context_line":"            raise exception.VolumeIsBusy(msg)"},{"line_number":1610,"context_line":"        elif rc !\u003d 0:"},{"line_number":1611,"context_line":"            msg \u003d (_(\u0027_delete_copysession, \u0027"},{"line_number":1612,"context_line":"                     \u0027copysession: %(cpsession)s, \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_536f182a","line":1609,"in_reply_to":"5fc1f717_aca06891","updated":"2019-03-18 01:29:58.000000000","message":"Yes, we can either pass volume_name or msg, and here because msg is very detailed so we directly pass msg.","commit_id":"288e414371ec19686cc0cf7fb132f8029321f6f0"}],"cinder/volume/drivers/hpe/hpe_3par_common.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"1eaf932344fdb044783a70ccb27e8c73b2b7d90f","unresolved":false,"context_lines":[{"line_number":3193,"context_line":"            if not (host_type \u003d\u003d \u0027HPE3PARDriver\u0027):"},{"line_number":3194,"context_line":"                reason \u003d (_(\"Cannot retype from HPE3PARDriver to %s.\") %"},{"line_number":3195,"context_line":"                          host_type)"},{"line_number":3196,"context_line":"                raise exception.InvalidHost(reason\u003dreason)"},{"line_number":3197,"context_line":""},{"line_number":3198,"context_line":"            sys_info \u003d self.client.getStorageSystemInfo()"},{"line_number":3199,"context_line":"            if not (host_id \u003d\u003d sys_info[\u0027serialNumber\u0027]):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_31178054","line":3196,"range":{"start_line":3196,"start_character":44,"end_line":3196,"end_character":51},"updated":"2019-05-22 11:34:32.000000000","message":"Why are you adding reason\u003d here and removing from the others?","commit_id":"559870d6617ed215941c97dd73bf8877121a14fb"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"ca691e6bc1ef6953f2fa23a964c1ed7ff2de0b89","unresolved":false,"context_lines":[{"line_number":3193,"context_line":"            if not (host_type \u003d\u003d \u0027HPE3PARDriver\u0027):"},{"line_number":3194,"context_line":"                reason \u003d (_(\"Cannot retype from HPE3PARDriver to %s.\") %"},{"line_number":3195,"context_line":"                          host_type)"},{"line_number":3196,"context_line":"                raise exception.InvalidHost(reason\u003dreason)"},{"line_number":3197,"context_line":""},{"line_number":3198,"context_line":"            sys_info \u003d self.client.getStorageSystemInfo()"},{"line_number":3199,"context_line":"            if not (host_id \u003d\u003d sys_info[\u0027serialNumber\u0027]):"}],"source_content_type":"text/x-python","patch_set":3,"id":"bfb3d3c7_6688ce70","line":3196,"range":{"start_line":3196,"start_character":44,"end_line":3196,"end_character":51},"in_reply_to":"bfb3d3c7_31178054","updated":"2019-05-23 01:37:20.000000000","message":"class InvalidHost(Invalid):\n    message \u003d _(\"Invalid host: %(reason)s\")\n\nBecause InvalidHost accepts reason parameter, while others not.","commit_id":"559870d6617ed215941c97dd73bf8877121a14fb"}],"cinder/volume/drivers/netapp/utils.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a8f5fd1432121e14fc01ef6da7f0b0800a8a0677","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    except (re.error, TypeError):"},{"line_number":136,"context_line":"        msg \u003d _(\u0027Cannot parse the API trace pattern. %s is not a \u0027"},{"line_number":137,"context_line":"                \u0027valid python regular expression.\u0027) % api_trace_pattern"},{"line_number":138,"context_line":"        raise exception.InvalidConfigurationValue(msg)"},{"line_number":139,"context_line":"    API_TRACE_PATTERN \u003d api_trace_pattern"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_0c92dc4c","line":138,"updated":"2019-03-15 18:23:42.000000000","message":"Shouldn\u0027t this just be changed to InvalidConfigurationValue(message\u003dmsg)?","commit_id":"288e414371ec19686cc0cf7fb132f8029321f6f0"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"6a015f0275241e40d5786f9412a90f67ce873aa4","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    except (re.error, TypeError):"},{"line_number":136,"context_line":"        msg \u003d _(\u0027Cannot parse the API trace pattern. %s is not a \u0027"},{"line_number":137,"context_line":"                \u0027valid python regular expression.\u0027) % api_trace_pattern"},{"line_number":138,"context_line":"        raise exception.InvalidConfigurationValue(msg)"},{"line_number":139,"context_line":"    API_TRACE_PATTERN \u003d api_trace_pattern"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_d37b08f2","line":138,"in_reply_to":"5fc1f717_0c92dc4c","updated":"2019-03-18 01:29:58.000000000","message":"oh, either InvalidConfigurationValue(message\u003dmsg) or InvalidConfigurationValue(msg) can do.","commit_id":"288e414371ec19686cc0cf7fb132f8029321f6f0"}]}
