)]}'
{"cinder/tests/unit/test_volume_utils.py":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"6c2b6ec5a95a9595dd0cbc678d1dd2a66d059029","unresolved":false,"context_lines":[{"line_number":1189,"context_line":"            volume_utils.get_volume_image_metadata(fake.IMAGE_ID, image_meta))"},{"line_number":1190,"context_line":""},{"line_number":1191,"context_line":"    @ddt.data(True, False)"},{"line_number":1192,"context_line":"    def test__copy_image_to_volume(self, is_encrypted):"},{"line_number":1193,"context_line":"        ctxt \u003d context.get_admin_context()"},{"line_number":1194,"context_line":"        fake_driver \u003d mock.MagicMock()"},{"line_number":1195,"context_line":"        key \u003d fake.ENCRYPTION_KEY_ID if is_encrypted else None"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_eb4ba77c","line":1192,"range":{"start_line":1192,"start_character":13,"end_line":1192,"end_character":14},"updated":"2018-11-12 06:59:02.000000000","message":"NIT: since the actual method name is changed, this extra _ can be removed too.","commit_id":"66d189a7708b34d618c3fe0676843df79818a252"}],"cinder/volume/flows/manager/create_volume.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"3fdb798d3e17ae2fb3f7ed8009807cc98baa7606","unresolved":false,"context_lines":[{"line_number":491,"context_line":"                context, volume, source_volid\u003dsrcvol_ref.id)"},{"line_number":492,"context_line":"        return model_update"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def _copy_image_to_volume(self, context, volume,"},{"line_number":495,"context_line":"                              image_meta, image_location, image_service):"},{"line_number":496,"context_line":"        volume_utils.copy_image_to_volume(self.driver, context, volume,"},{"line_number":497,"context_line":"                                          image_meta, image_location,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_e0e9c418","line":494,"range":{"start_line":494,"start_character":8,"end_line":494,"end_character":29},"updated":"2018-10-25 11:58:01.000000000","message":"-1: There\u0027s not reason to keep this wrapper. You can call the function directly.","commit_id":"d3dd99a9b2c2b21318e4d872e64b82799cd0a91a"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"93a6dc4b7cd4d9f853d0c15f3875f2c5515fd231","unresolved":false,"context_lines":[{"line_number":491,"context_line":"                context, volume, source_volid\u003dsrcvol_ref.id)"},{"line_number":492,"context_line":"        return model_update"},{"line_number":493,"context_line":""},{"line_number":494,"context_line":"    def _copy_image_to_volume(self, context, volume,"},{"line_number":495,"context_line":"                              image_meta, image_location, image_service):"},{"line_number":496,"context_line":"        volume_utils.copy_image_to_volume(self.driver, context, volume,"},{"line_number":497,"context_line":"                                          image_meta, image_location,"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_33b5bfd0","line":494,"range":{"start_line":494,"start_character":8,"end_line":494,"end_character":29},"in_reply_to":"3f79a3b5_e0e9c418","updated":"2018-10-26 08:23:45.000000000","message":"Done","commit_id":"d3dd99a9b2c2b21318e4d872e64b82799cd0a91a"}],"cinder/volume/utils.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"a76f5a864c0f615ec40f550cd95bb34893731087","unresolved":false,"context_lines":[{"line_number":1187,"context_line":"        LOG.exception(\"Failed to copy image %(image_id)s to \""},{"line_number":1188,"context_line":"                      \"volume: %(volume_id)s\","},{"line_number":1189,"context_line":"                      {\u0027volume_id\u0027: volume.id, \u0027image_id\u0027: image_id})"},{"line_number":1190,"context_line":"        if not isinstance(ex, exception.ImageCopyFailure):"},{"line_number":1191,"context_line":"            raise exception.ImageCopyFailure(reason\u003dex)"},{"line_number":1192,"context_line":"        else:"},{"line_number":1193,"context_line":"            raise"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_9aa3c2fd","line":1190,"range":{"start_line":1190,"start_character":30,"end_line":1190,"end_character":56},"updated":"2018-12-18 22:23:32.000000000","message":"Seems like it would be cleaner to have\n\nexcept exception.ImageCopyFailure:\n    raise\nexcept Exception as ex:\n    ...","commit_id":"7f2961f439efaf799a445c34ec6586167a6c96d0"}]}
