)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"8dede40aa34c8273617b1972ac7d4e4bdb0558f9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Dirk Mueller \u003cdirk@dmllr.de\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-01-29 14:11:35 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Make snapshot_delete more robust"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since there is no equivalent of a force-snapshot-delete,"},{"line_number":10,"context_line":"the normal snapshot-delete should be more robust to"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa81d914_ce38eca2","line":7,"updated":"2015-01-29 15:25:21.000000000","message":"Would be nice to prefix the summary with \"RBD:\" when fixing the other issues.","commit_id":"542b81363da0c1173b0fb5791d5edd555761ea2e"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"17a372ff902d049b361a4d57a8de2f2ab183b069","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Since there is no equivalent of a force-snapshot-delete,"},{"line_number":10,"context_line":"the normal snapshot-delete should be more robust to"},{"line_number":11,"context_line":"also handle backend errors. In case the backen does not have"},{"line_number":12,"context_line":"the image snapshot anymore, log an info message and succeed the"},{"line_number":13,"context_line":"operation."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa81d914_835fb040","line":11,"updated":"2015-01-29 14:28:26.000000000","message":"/backen/backend/","commit_id":"542b81363da0c1173b0fb5791d5edd555761ea2e"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"f110eb95a36269e2d23187a16f352731ba3f3ef3","unresolved":false,"context_lines":[{"line_number":12,"context_line":"the image snapshot anymore, log an info message and succeed the"},{"line_number":13,"context_line":"operation."},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Also explicitely handle the ImageBusy that can be raised by remove_snap"},{"line_number":16,"context_line":"to have the standard exception being bubbled up."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Change-Id: I7fe0878dbc07053ac78272b6998513fafa1c36e8"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"da86d52c_fd17664f","line":15,"updated":"2015-02-02 15:21:59.000000000","message":"Typo: explicitly. \n\nBetter: s/ImageBusy/ImageBusy exception/\n\nBetter: s/remove_snap/remove_snap method/","commit_id":"ccccdadfe461f4f3473d8f947086f2b475787c31"}],"cinder/volume/drivers/rbd.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"17a372ff902d049b361a4d57a8de2f2ab183b069","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                    try:"},{"line_number":705,"context_line":"                        volume.unprotect_snap(snap_name)"},{"line_number":706,"context_line":"                    except self.rbd.ImageNotFound:"},{"line_number":707,"context_line":"                        LOG.info(_(\"snapshot %s no longer exists in backend\")"},{"line_number":708,"context_line":"                                 % (volume_name))"},{"line_number":709,"context_line":"                        return"},{"line_number":710,"context_line":"                volume.remove_snap(snap_name)"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa81d914_b5306be9","line":707,"updated":"2015-01-29 14:28:26.000000000","message":"Change _() to _LI().\nChange % to , so the logger can handle the string formatting only when necessary.\nRemove unecessary () around the volume_name argument.","commit_id":"542b81363da0c1173b0fb5791d5edd555761ea2e"},{"author":{"_account_id":5538,"name":"Rushi Agrawal","email":"rushi.openstack@gmail.com","username":"rushiagr"},"change_message_id":"f110eb95a36269e2d23187a16f352731ba3f3ef3","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                    try:"},{"line_number":705,"context_line":"                        volume.unprotect_snap(snap_name)"},{"line_number":706,"context_line":"                    except self.rbd.ImageNotFound:"},{"line_number":707,"context_line":"                        LOG.info(_LI(\"snapshot %s no longer exists in backend\")"},{"line_number":708,"context_line":"                                 % snap_name)"},{"line_number":709,"context_line":"                        return"},{"line_number":710,"context_line":"                volume.remove_snap(snap_name)"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_dd446276","line":707,"updated":"2015-02-02 15:21:59.000000000","message":"Do we want to use a comma instead of % for lazy translation thingy?","commit_id":"ccccdadfe461f4f3473d8f947086f2b475787c31"},{"author":{"_account_id":17151,"name":"chenying","email":"chenyingko@gmail.com","username":"chenying"},"change_message_id":"007022e67ac519ad8184c6c48a7b400e738b5354","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                    try:"},{"line_number":705,"context_line":"                        volume.unprotect_snap(snap_name)"},{"line_number":706,"context_line":"                    except self.rbd.ImageNotFound:"},{"line_number":707,"context_line":"                        LOG.info(_LI(\"snapshot %s does not exist in backend\"),"},{"line_number":708,"context_line":"                                 snap_name)"},{"line_number":709,"context_line":"                        return"},{"line_number":710,"context_line":"                volume.remove_snap(snap_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a4dcd0f_e7c72910","line":707,"updated":"2015-08-12 09:16:31.000000000","message":"Add a \u0027.\u0027 to the EOL.","commit_id":"4bda32bea01479b528a5e851d19930c067c2c0d3"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"c5a3eed123c669d864ff67280727c35af745dca4","unresolved":false,"context_lines":[{"line_number":704,"context_line":"                    try:"},{"line_number":705,"context_line":"                        volume.unprotect_snap(snap_name)"},{"line_number":706,"context_line":"                    except self.rbd.ImageNotFound:"},{"line_number":707,"context_line":"                        LOG.info(_LI(\"snapshot %s does not exist in backend\"),"},{"line_number":708,"context_line":"                                 snap_name)"},{"line_number":709,"context_line":"                        return"},{"line_number":710,"context_line":"                volume.remove_snap(snap_name)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3afb71cf_5546817b","line":707,"updated":"2015-06-10 18:14:25.000000000","message":"s/snapshot/Snapshot","commit_id":"4bda32bea01479b528a5e851d19930c067c2c0d3"}]}
