)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"4a04dc89701e4b9df32bb0060f45f24d8fbf2c25","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"So, this patch try to fix this error, if we can\u0027t find a"},{"line_number":18,"context_line":"type by uuid, we need call \"get_volume_type_by_name\" to check"},{"line_number":19,"context_line":"agiain can we get this type by name."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Co-Authored-By: Yikun Jiang \u003cyikunkero@gmail.com\u003e"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_af2d4990","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":6},"updated":"2018-09-27 11:52:29.000000000","message":"again if we can get","commit_id":"cdda95dfc0ce741082435893552beb76d99e2fcb"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"f73967dc0b55a65015085e0f6a18092c0e9c7804","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"So, this patch try to fix this error, if we can\u0027t find a"},{"line_number":18,"context_line":"type by uuid, we need call \"get_volume_type_by_name\" to check"},{"line_number":19,"context_line":"agiain can we get this type by name."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Co-Authored-By: Yikun Jiang \u003cyikunkero@gmail.com\u003e"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3f79a3b5_dac2c186","line":19,"range":{"start_line":19,"start_character":0,"end_line":19,"end_character":6},"in_reply_to":"3f79a3b5_af2d4990","updated":"2018-09-27 12:37:34.000000000","message":"Done","commit_id":"cdda95dfc0ce741082435893552beb76d99e2fcb"}],"cinder/volume/volume_types.py":[{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"4a04dc89701e4b9df32bb0060f45f24d8fbf2c25","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    \"\"\"Retrieves volume type by id or name\"\"\""},{"line_number":135,"context_line":"    if not uuidutils.is_uuid_like(identity):"},{"line_number":136,"context_line":"        return get_volume_type_by_name(context, identity)"},{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_8f608dd1","line":137,"updated":"2018-09-27 11:52:29.000000000","message":"This is a very peculiar situation, but I agree that we have to handle that. Just one thing, can you please add a comment here explaining why do you need to do that? It won\u0027t be easy to figure this out in the future.","commit_id":"cdda95dfc0ce741082435893552beb76d99e2fcb"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"f73967dc0b55a65015085e0f6a18092c0e9c7804","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    \"\"\"Retrieves volume type by id or name\"\"\""},{"line_number":135,"context_line":"    if not uuidutils.is_uuid_like(identity):"},{"line_number":136,"context_line":"        return get_volume_type_by_name(context, identity)"},{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"3f79a3b5_9abc4907","line":137,"in_reply_to":"3f79a3b5_8f608dd1","updated":"2018-09-27 12:37:34.000000000","message":"Done","commit_id":"cdda95dfc0ce741082435893552beb76d99e2fcb"},{"author":{"_account_id":10058,"name":"Erlon R. Cruz","email":"erlon.rodrigues.cruz@canonical.com","username":"sombrafam"},"change_message_id":"d5f44632a5004520145e3fa38659f105ee86f838","unresolved":false,"context_lines":[{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        # check again if we get this volume type by uuid-like name"},{"line_number":141,"context_line":"        try:"},{"line_number":142,"context_line":"            return get_volume_type_by_name(context, identity)"},{"line_number":143,"context_line":"        except exception.VolumeTypeNotFoundByName:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_64a97adb","line":140,"range":{"start_line":140,"start_character":10,"end_line":140,"end_character":66},"updated":"2018-09-28 11:59:59.000000000","message":"Something like:\n# A user can create a type with the name in a UUID format,\n# so here we check that.","commit_id":"9cabaa527d69423415213b54583c3f8e20c78fd3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"ccc0b2504e676a9bd1e8282ff6e0425e6cec5f84","unresolved":false,"context_lines":[{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        # check again if we get this volume type by uuid-like name"},{"line_number":141,"context_line":"        try:"},{"line_number":142,"context_line":"            return get_volume_type_by_name(context, identity)"},{"line_number":143,"context_line":"        except exception.VolumeTypeNotFoundByName:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_362e46fa","line":140,"range":{"start_line":140,"start_character":10,"end_line":140,"end_character":66},"in_reply_to":"3f79a3b5_64a97adb","updated":"2018-09-29 02:08:43.000000000","message":"Done","commit_id":"9cabaa527d69423415213b54583c3f8e20c78fd3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"65a1d4d67458861ddb579c4015471e84a2fde21b","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"def get_by_name_or_id(context, identity):"},{"line_number":134,"context_line":"    \"\"\"Retrieves volume type by id or name\"\"\""},{"line_number":135,"context_line":"    if not uuidutils.is_uuid_like(identity):"},{"line_number":136,"context_line":"        return get_volume_type_by_name(context, identity)"},{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        # check again if we get this volume type by uuid-like name"},{"line_number":141,"context_line":"        try:"},{"line_number":142,"context_line":"            return get_volume_type_by_name(context, identity)"},{"line_number":143,"context_line":"        except exception.VolumeTypeNotFoundByName:"},{"line_number":144,"context_line":"            raise exception.VolumeTypeNotFound(volume_type_id\u003didentity)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"def get_volume_type_by_name(context, name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_71738b17","line":144,"range":{"start_line":135,"start_character":4,"end_line":144,"end_character":71},"updated":"2018-09-27 18:00:17.000000000","message":"if the function needs to be modified, IMO it would be simpler like this :\n\n    try:\n        return get_volume_type_by_name(context, identity)\n    except exception.VolumeTypeNotFoundByName:\n        return get_volume_type(context, identity)","commit_id":"9cabaa527d69423415213b54583c3f8e20c78fd3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"efff85bb31b72a4ef1e96a642fba946d889127da","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"def get_by_name_or_id(context, identity):"},{"line_number":134,"context_line":"    \"\"\"Retrieves volume type by id or name\"\"\""},{"line_number":135,"context_line":"    if not uuidutils.is_uuid_like(identity):"},{"line_number":136,"context_line":"        return get_volume_type_by_name(context, identity)"},{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        # check again if we get this volume type by uuid-like name"},{"line_number":141,"context_line":"        try:"},{"line_number":142,"context_line":"            return get_volume_type_by_name(context, identity)"},{"line_number":143,"context_line":"        except exception.VolumeTypeNotFoundByName:"},{"line_number":144,"context_line":"            raise exception.VolumeTypeNotFound(volume_type_id\u003didentity)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"def get_volume_type_by_name(context, name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_8c94098e","line":144,"range":{"start_line":135,"start_character":4,"end_line":144,"end_character":71},"in_reply_to":"3f79a3b5_71738b17","updated":"2018-09-28 01:01:16.000000000","message":"I think your option is okay in function side, but the extra cost is that we have to do twice db query(1st by name, 2nd by id) when we real want get type by id.","commit_id":"9cabaa527d69423415213b54583c3f8e20c78fd3"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"ad93ddba57809bad81368aac9cbc473abb10f27f","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"def get_by_name_or_id(context, identity):"},{"line_number":134,"context_line":"    \"\"\"Retrieves volume type by id or name\"\"\""},{"line_number":135,"context_line":"    if not uuidutils.is_uuid_like(identity):"},{"line_number":136,"context_line":"        return get_volume_type_by_name(context, identity)"},{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        # check again if we get this volume type by uuid-like name"},{"line_number":141,"context_line":"        try:"},{"line_number":142,"context_line":"            return get_volume_type_by_name(context, identity)"},{"line_number":143,"context_line":"        except exception.VolumeTypeNotFoundByName:"},{"line_number":144,"context_line":"            raise exception.VolumeTypeNotFound(volume_type_id\u003didentity)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"def get_volume_type_by_name(context, name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_b910225b","line":144,"range":{"start_line":135,"start_character":4,"end_line":144,"end_character":71},"in_reply_to":"3f79a3b5_8c94098e","updated":"2018-09-28 05:38:46.000000000","message":"So yes, i see the problem with my code,\nthis is similar to your code with a little change.\n\nif uuidutils.is_uuid_like(identity):\n    #both name and id can be in uuid format\n    try:\n        return get_volume_type(context, identity)\n    except exception.VolumeTypeNotFound:\n        try:\n            #check for uuid-like name\n            get_volume_type_by_name(context, identity)\n        except exception.VolumeTypeNotFoundByName:\n            raise exception.VolumeTypeNotFound            \nreturn get_volume_type_by_name(context, identity)","commit_id":"9cabaa527d69423415213b54583c3f8e20c78fd3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"135fd7653bca5b49bbee3c18c6406c964c41ae46","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"def get_by_name_or_id(context, identity):"},{"line_number":134,"context_line":"    \"\"\"Retrieves volume type by id or name\"\"\""},{"line_number":135,"context_line":"    if not uuidutils.is_uuid_like(identity):"},{"line_number":136,"context_line":"        return get_volume_type_by_name(context, identity)"},{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        # check again if we get this volume type by uuid-like name"},{"line_number":141,"context_line":"        try:"},{"line_number":142,"context_line":"            return get_volume_type_by_name(context, identity)"},{"line_number":143,"context_line":"        except exception.VolumeTypeNotFoundByName:"},{"line_number":144,"context_line":"            raise exception.VolumeTypeNotFound(volume_type_id\u003didentity)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"def get_volume_type_by_name(context, name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_fc91a8f8","line":144,"range":{"start_line":135,"start_character":4,"end_line":144,"end_character":71},"in_reply_to":"3f79a3b5_b910225b","updated":"2018-09-28 06:13:22.000000000","message":"++","commit_id":"9cabaa527d69423415213b54583c3f8e20c78fd3"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"ccc0b2504e676a9bd1e8282ff6e0425e6cec5f84","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"def get_by_name_or_id(context, identity):"},{"line_number":134,"context_line":"    \"\"\"Retrieves volume type by id or name\"\"\""},{"line_number":135,"context_line":"    if not uuidutils.is_uuid_like(identity):"},{"line_number":136,"context_line":"        return get_volume_type_by_name(context, identity)"},{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        # check again if we get this volume type by uuid-like name"},{"line_number":141,"context_line":"        try:"},{"line_number":142,"context_line":"            return get_volume_type_by_name(context, identity)"},{"line_number":143,"context_line":"        except exception.VolumeTypeNotFoundByName:"},{"line_number":144,"context_line":"            raise exception.VolumeTypeNotFound(volume_type_id\u003didentity)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"def get_volume_type_by_name(context, name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_1629caf0","line":144,"range":{"start_line":135,"start_character":4,"end_line":144,"end_character":71},"in_reply_to":"3f79a3b5_b910225b","updated":"2018-09-29 02:08:43.000000000","message":"Done","commit_id":"9cabaa527d69423415213b54583c3f8e20c78fd3"},{"author":{"_account_id":24454,"name":"suguangfeng","email":"suguangfeng@inspur.com","username":"suguangfeng"},"change_message_id":"f038b163e31d02bb7ad9aa580c77edb529328a6c","unresolved":false,"context_lines":[{"line_number":132,"context_line":""},{"line_number":133,"context_line":"def get_by_name_or_id(context, identity):"},{"line_number":134,"context_line":"    \"\"\"Retrieves volume type by id or name\"\"\""},{"line_number":135,"context_line":"    if not uuidutils.is_uuid_like(identity):"},{"line_number":136,"context_line":"        return get_volume_type_by_name(context, identity)"},{"line_number":137,"context_line":"    try:"},{"line_number":138,"context_line":"        return get_volume_type(context, identity)"},{"line_number":139,"context_line":"    except exception.VolumeTypeNotFound:"},{"line_number":140,"context_line":"        # check again if we get this volume type by uuid-like name"},{"line_number":141,"context_line":"        try:"},{"line_number":142,"context_line":"            return get_volume_type_by_name(context, identity)"},{"line_number":143,"context_line":"        except exception.VolumeTypeNotFoundByName:"},{"line_number":144,"context_line":"            raise exception.VolumeTypeNotFound(volume_type_id\u003didentity)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"def get_volume_type_by_name(context, name):"}],"source_content_type":"text/x-python","patch_set":3,"id":"3f79a3b5_fc5e8877","line":144,"range":{"start_line":135,"start_character":4,"end_line":144,"end_character":71},"in_reply_to":"3f79a3b5_b910225b","updated":"2018-09-28 06:05:51.000000000","message":"Thanks for your advice.This seems to improve the readability of the code. I will update this in next patch.","commit_id":"9cabaa527d69423415213b54583c3f8e20c78fd3"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"b72dd14481e22ad448e18a48f5a10188e7f7c9bf","unresolved":false,"context_lines":[{"line_number":140,"context_line":"            try:"},{"line_number":141,"context_line":"                # A user can create a type with the name in a UUID format,"},{"line_number":142,"context_line":"                # so here we check for the uuid-like name."},{"line_number":143,"context_line":"                get_volume_type_by_name(context, identity)"},{"line_number":144,"context_line":"            except exception.VolumeTypeNotFoundByName:"},{"line_number":145,"context_line":"                raise exception.VolumeTypeNotFound"},{"line_number":146,"context_line":"    return get_volume_type_by_name(context, identity)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_f6b68e89","line":143,"range":{"start_line":143,"start_character":15,"end_line":143,"end_character":16},"updated":"2018-09-29 02:29:10.000000000","message":"The \"return\" is missing? Otherwise, go to the last call \"get_volume_type_by_name()\" again.","commit_id":"d8ca2cc1a879ba53b75be7f982c2e1b76732b888"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"d8f95fb759fceb627b38b5948c35e52e8c4e9282","unresolved":false,"context_lines":[{"line_number":140,"context_line":"            try:"},{"line_number":141,"context_line":"                # A user can create a type with the name in a UUID format,"},{"line_number":142,"context_line":"                # so here we check for the uuid-like name."},{"line_number":143,"context_line":"                get_volume_type_by_name(context, identity)"},{"line_number":144,"context_line":"            except exception.VolumeTypeNotFoundByName:"},{"line_number":145,"context_line":"                raise exception.VolumeTypeNotFound"},{"line_number":146,"context_line":"    return get_volume_type_by_name(context, identity)"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_3c4f0793","line":143,"range":{"start_line":143,"start_character":15,"end_line":143,"end_character":16},"in_reply_to":"3f79a3b5_f6b68e89","updated":"2018-09-29 06:46:37.000000000","message":"Done","commit_id":"d8ca2cc1a879ba53b75be7f982c2e1b76732b888"}]}
