)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"c47cd6931cc726ed657e1fd3edf3348b0704cfa0","unresolved":false,"context_lines":[{"line_number":17,"context_line":"6.cinder backup-list"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"These subcommands\u0027 valid sort-keys are different, but now in"},{"line_number":20,"context_line":"python-cinderclient, it just simplely use a SORT_KEY_VALUES dict."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"The patch( https://review.openstack.org/#/c/445774/ ) already fix"},{"line_number":23,"context_line":"manageable-list and snapshot-manageable-list subcommands problem."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a1ced50_fc4b5f29","line":20,"range":{"start_line":20,"start_character":29,"end_line":20,"end_character":41},"updated":"2017-03-17 19:24:29.000000000","message":"simply uses","commit_id":"40898d0734db3ee28e3eb08e512ef831e334fb91"}],"cinderclient/base.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"c47cd6931cc726ed657e1fd3edf3348b0704cfa0","unresolved":false,"context_lines":[{"line_number":240,"context_line":"            return SORT_KEY_MAPPINGS.get(sort_key, sort_key)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"        if valid_sort_keys:"},{"line_number":243,"context_line":"            msg \u003d (\u0027sort_key must be one of the following: %s.\u0027 %"},{"line_number":244,"context_line":"                   \u0027, \u0027.join(valid_sort_keys))"},{"line_number":245,"context_line":"        else:"},{"line_number":246,"context_line":"            msg \u003d \u0027can not get valid sort keys.\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_5cef13e8","line":243,"range":{"start_line":243,"start_character":17,"end_line":243,"end_character":19},"updated":"2017-03-17 19:24:29.000000000","message":"Need _( as this will be user visable.","commit_id":"40898d0734db3ee28e3eb08e512ef831e334fb91"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"3a5d9781e58d73cb38e271e0dfc42c5786089819","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                 \u0027resource_uuid\u0027, \u0027message_level\u0027),"},{"line_number":45,"context_line":"    \u0027snapshots\u0027: (\u0027id\u0027, \u0027volume_id\u0027, \u0027status\u0027, \u0027src_volume_size\u0027, \u0027name\u0027),"},{"line_number":46,"context_line":"    \u0027attachments\u0027: (\u0027id\u0027, \u0027volume_id\u0027, \u0027attach_status\u0027, \u0027instance_uuid\u0027),"},{"line_number":47,"context_line":"    \u0027backups\u0027: (\u0027id\u0027, \u0027volume_id\u0027, \u0027status\u0027, \u0027name\u0027, \u0027size\u0027, \u0027data_timestamp\u0027)"},{"line_number":48,"context_line":"}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# Mapping of client keys to actual sort keys"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_8dc6a047","line":47,"range":{"start_line":47,"start_character":62,"end_line":47,"end_character":76},"updated":"2017-03-20 02:13:37.000000000","message":"Since you added this sort_key, then I suggest you should add all the properties from db tables. E.g.: service_metadata, availability_zone and so on.","commit_id":"722b7a24649be7c0c0e05f46bf8369e25ffd1c4b"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"7b32f863a32ff08921d76d6c5f0cbe13a250c53a","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                 \u0027resource_uuid\u0027, \u0027message_level\u0027),"},{"line_number":45,"context_line":"    \u0027snapshots\u0027: (\u0027id\u0027, \u0027volume_id\u0027, \u0027status\u0027, \u0027src_volume_size\u0027, \u0027name\u0027),"},{"line_number":46,"context_line":"    \u0027attachments\u0027: (\u0027id\u0027, \u0027volume_id\u0027, \u0027attach_status\u0027, \u0027instance_uuid\u0027),"},{"line_number":47,"context_line":"    \u0027backups\u0027: (\u0027id\u0027, \u0027volume_id\u0027, \u0027status\u0027, \u0027name\u0027, \u0027size\u0027, \u0027data_timestamp\u0027)"},{"line_number":48,"context_line":"}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# Mapping of client keys to actual sort keys"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_ed9554e4","line":47,"range":{"start_line":47,"start_character":62,"end_line":47,"end_character":76},"in_reply_to":"1a1ced50_8dc6a047","updated":"2017-03-20 02:32:55.000000000","message":"think again. Since client doesn\u0027t show all of the resource\u0027s properties, only need to add some of the fields here. Such as object_count and container\nlink: https://github.com/openstack/python-cinderclient/blob/master/cinderclient/v2/shell.py#L1326-L1327\n\nAnd the same with other resources. Please take a check, thanks.","commit_id":"722b7a24649be7c0c0e05f46bf8369e25ffd1c4b"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"bfefe41f30beda42da6f416e595a931a6f0ab20e","unresolved":false,"context_lines":[{"line_number":44,"context_line":"                 \u0027resource_uuid\u0027, \u0027message_level\u0027),"},{"line_number":45,"context_line":"    \u0027snapshots\u0027: (\u0027id\u0027, \u0027volume_id\u0027, \u0027status\u0027, \u0027src_volume_size\u0027, \u0027name\u0027),"},{"line_number":46,"context_line":"    \u0027attachments\u0027: (\u0027id\u0027, \u0027volume_id\u0027, \u0027attach_status\u0027, \u0027instance_uuid\u0027),"},{"line_number":47,"context_line":"    \u0027backups\u0027: (\u0027id\u0027, \u0027volume_id\u0027, \u0027status\u0027, \u0027name\u0027, \u0027size\u0027, \u0027data_timestamp\u0027)"},{"line_number":48,"context_line":"}"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"# Mapping of client keys to actual sort keys"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_ed639418","line":47,"range":{"start_line":47,"start_character":62,"end_line":47,"end_character":76},"in_reply_to":"1a1ced50_ed9554e4","updated":"2017-03-20 02:37:08.000000000","message":"Yes, that is my opinion too. I\u0027ll add some missing sort-keys~","commit_id":"722b7a24649be7c0c0e05f46bf8369e25ffd1c4b"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"a639991ce31986d756adee647a34721ce24bf02a","unresolved":false,"context_lines":[{"line_number":42,"context_line":"SORT_KEY_ADD_VALUES \u003d {"},{"line_number":43,"context_line":"    \u0027backups\u0027: (\u0027data_timestamp\u0027, ),"},{"line_number":44,"context_line":"    \u0027messages\u0027: (\u0027resource_type\u0027, \u0027event_id\u0027, \u0027resource_uuid\u0027,"},{"line_number":45,"context_line":"                 \u0027message_level\u0027, \u0027guaranteed_until\u0027, \u0027request_id\u0027),"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Resource \u003d common_base.Resource"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a1ced50_fcb6d688","side":"PARENT","line":45,"range":{"start_line":45,"start_character":17,"end_line":45,"end_character":52},"updated":"2017-03-20 12:29:45.000000000","message":"I know these two key are not shown. But IMO, we\u0027d better not change the previous behavior if there\u0027no bug. Maybe some users use them before. So instead of removing them, I prefer that we can show them to users, or just leave as it is.","commit_id":"29d29a7cd4c31fd96157beae90cb483403afe1af"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"3a682a3d29d4a1aafc40ca9fff80167f6d3deb74","unresolved":false,"context_lines":[{"line_number":42,"context_line":"SORT_KEY_ADD_VALUES \u003d {"},{"line_number":43,"context_line":"    \u0027backups\u0027: (\u0027data_timestamp\u0027, ),"},{"line_number":44,"context_line":"    \u0027messages\u0027: (\u0027resource_type\u0027, \u0027event_id\u0027, \u0027resource_uuid\u0027,"},{"line_number":45,"context_line":"                 \u0027message_level\u0027, \u0027guaranteed_until\u0027, \u0027request_id\u0027),"},{"line_number":46,"context_line":"}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Resource \u003d common_base.Resource"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a1ced50_36ea3010","side":"PARENT","line":45,"range":{"start_line":45,"start_character":17,"end_line":45,"end_character":52},"in_reply_to":"1a1ced50_fcb6d688","updated":"2017-03-21 00:00:36.000000000","message":"I\u0027ll add \u0027message_level\u0027 again. But the \u0027guaranteed_until\u0027 key doesn\u0027t exist in messages DB table.","commit_id":"29d29a7cd4c31fd96157beae90cb483403afe1af"}],"cinderclient/tests/unit/v3/test_snapshot_actions.py":[{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"a8b534fe952b2e044e6bab00bbffeefa732a3713","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1a1ced50_8a2079f9","updated":"2017-03-17 07:24:43.000000000","message":"When I run ut tests, some snapshot test cases failed. I found these test cases called v3/volume_snapshots.py . So I moved unit/v2/test_snapshot_actions.py to unit/v3/test_snapshot_actions.py.","commit_id":"fca29b76ddf420d0a84b07c8dc88dbadfcd804cd"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"3a5d9781e58d73cb38e271e0dfc42c5786089819","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2013 Red Hat, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_ed3714ae","line":1,"range":{"start_line":1,"start_character":12,"end_line":1,"end_character":24},"updated":"2017-03-20 02:13:37.000000000","message":"nit","commit_id":"722b7a24649be7c0c0e05f46bf8369e25ffd1c4b"}],"cinderclient/v2/shell.py":[{"author":{"_account_id":7198,"name":"Jay Bryant","email":"jungleboyj@electronicjungle.net","username":"jsbryant"},"change_message_id":"c47cd6931cc726ed657e1fd3edf3348b0704cfa0","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"@utils.arg(\u0027volume\u0027,"},{"line_number":349,"context_line":"           metavar\u003d\u0027\u003cvolume\u003e\u0027,"},{"line_number":350,"context_line":"           help\u003d\u0027Name or ID of volume to snapshot.\u0027)"},{"line_number":351,"context_line":"@utils.arg(\u0027--force\u0027,"},{"line_number":352,"context_line":"           metavar\u003d\u0027\u003cTrue|False\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_bcb007df","side":"PARENT","line":349,"updated":"2017-03-17 19:24:29.000000000","message":"Why was all of this removed?  This doesn\u0027t look right.","commit_id":"29d29a7cd4c31fd96157beae90cb483403afe1af"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"f298147334b4de2eb07aed90c65142697b57559e","unresolved":false,"context_lines":[{"line_number":346,"context_line":""},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"@utils.arg(\u0027volume\u0027,"},{"line_number":349,"context_line":"           metavar\u003d\u0027\u003cvolume\u003e\u0027,"},{"line_number":350,"context_line":"           help\u003d\u0027Name or ID of volume to snapshot.\u0027)"},{"line_number":351,"context_line":"@utils.arg(\u0027--force\u0027,"},{"line_number":352,"context_line":"           metavar\u003d\u0027\u003cTrue|False\u003e\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a1ced50_3186f013","side":"PARENT","line":349,"in_reply_to":"1a1ced50_bcb007df","updated":"2017-03-19 01:50:41.000000000","message":"Hi, in this file line348 and line1107, you can find the same method defination. In my opinion, it doesn\u0027t make sense. So I just remove one of them.","commit_id":"29d29a7cd4c31fd96157beae90cb483403afe1af"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"3a5d9781e58d73cb38e271e0dfc42c5786089819","unresolved":false,"context_lines":[{"line_number":376,"context_line":"           help\u003d\u0027The new image name.\u0027)"},{"line_number":377,"context_line":"@utils.arg(\u0027--image_name\u0027,"},{"line_number":378,"context_line":"           help\u003dargparse.SUPPRESS)"},{"line_number":379,"context_line":"def do_upload_to_image(cs, args):"},{"line_number":380,"context_line":"    \"\"\"Uploads volume to Image Service as an image.\"\"\""},{"line_number":381,"context_line":"    volume \u003d utils.find_volume(cs, args.volume)"},{"line_number":382,"context_line":"    shell_utils.print_volume_image("}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_4d5ca8ed","side":"PARENT","line":379,"updated":"2017-03-20 02:13:37.000000000","message":"Nice catch. But I suggest it\u0027s better to do it in a single patch. It\u0027s not related to this patch, right?","commit_id":"29d29a7cd4c31fd96157beae90cb483403afe1af"},{"author":{"_account_id":22299,"name":"lihaijing","email":"lihaijing@fiberhome.com","username":"lihaijing"},"change_message_id":"bfefe41f30beda42da6f416e595a931a6f0ab20e","unresolved":false,"context_lines":[{"line_number":376,"context_line":"           help\u003d\u0027The new image name.\u0027)"},{"line_number":377,"context_line":"@utils.arg(\u0027--image_name\u0027,"},{"line_number":378,"context_line":"           help\u003dargparse.SUPPRESS)"},{"line_number":379,"context_line":"def do_upload_to_image(cs, args):"},{"line_number":380,"context_line":"    \"\"\"Uploads volume to Image Service as an image.\"\"\""},{"line_number":381,"context_line":"    volume \u003d utils.find_volume(cs, args.volume)"},{"line_number":382,"context_line":"    shell_utils.print_volume_image("}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_cd8fb8ca","side":"PARENT","line":379,"in_reply_to":"1a1ced50_4d5ca8ed","updated":"2017-03-20 02:37:08.000000000","message":"OK, I will do this in another patch.  :)","commit_id":"29d29a7cd4c31fd96157beae90cb483403afe1af"}]}
