)]}'
{"shade/__init__.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"cd89feec327aec20abf064293646c57ca7216ee0","unresolved":false,"context_lines":[{"line_number":569,"context_line":"                if volume.status \u003d\u003d \u0027available\u0027:"},{"line_number":570,"context_line":"                    return volume"},{"line_number":571,"context_line":""},{"line_number":572,"context_line":"                if volume.status \u003d\u003d \u0027error\u0027:"},{"line_number":573,"context_line":"                    raise OpenStackCloudException("},{"line_number":574,"context_line":"                        \"Error in creating volume, please check logs\")"},{"line_number":575,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_3c94c0e7","line":572,"updated":"2015-02-07 00:23:00.000000000","message":"Huh does cinder use lowercase status and nova upper case? woo :) Maybe we should even tolower() to be extra safe? Not sure that this is an actual issue.","commit_id":"1e572aaff584b8934ff19f36101d0ecc94b79ddd"},{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"cd89feec327aec20abf064293646c57ca7216ee0","unresolved":false,"context_lines":[{"line_number":588,"context_line":"        volume \u003d self.get_volume(name_or_id, cache\u003dFalse)"},{"line_number":589,"context_line":""},{"line_number":590,"context_line":"        try:"},{"line_number":591,"context_line":"            cinder.volumes.delete(volume.id)"},{"line_number":592,"context_line":"        except Exception as e:"},{"line_number":593,"context_line":"            self.log.debug(\"Volume deletion failed\", exc_info\u003dTrue)"},{"line_number":594,"context_line":"            raise OpenStackCloudException("}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_5c99741e","line":591,"updated":"2015-02-07 00:23:00.000000000","message":"The swift delete object function Adam proposed does a similar thing to this one where it gets the object before deleting it. Why not just delete it and if it fails because it doesn\u0027t exist that is one type of error and if deletion fails thats another error?","commit_id":"1e572aaff584b8934ff19f36101d0ecc94b79ddd"},{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"cc7bb79e137b883861d8be11ed6502611f3daf8d","unresolved":false,"context_lines":[{"line_number":588,"context_line":"        volume \u003d self.get_volume(name_or_id, cache\u003dFalse)"},{"line_number":589,"context_line":""},{"line_number":590,"context_line":"        try:"},{"line_number":591,"context_line":"            cinder.volumes.delete(volume.id)"},{"line_number":592,"context_line":"        except Exception as e:"},{"line_number":593,"context_line":"            self.log.debug(\"Volume deletion failed\", exc_info\u003dTrue)"},{"line_number":594,"context_line":"            raise OpenStackCloudException("}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_eac88858","line":591,"in_reply_to":"da86d52c_2fe63245","updated":"2015-02-08 19:25:22.000000000","message":"Clark, Monty is correct here.","commit_id":"1e572aaff584b8934ff19f36101d0ecc94b79ddd"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"6efb3b27d0c45f2d65824f8f1f69c0d783f46d4e","unresolved":false,"context_lines":[{"line_number":588,"context_line":"        volume \u003d self.get_volume(name_or_id, cache\u003dFalse)"},{"line_number":589,"context_line":""},{"line_number":590,"context_line":"        try:"},{"line_number":591,"context_line":"            cinder.volumes.delete(volume.id)"},{"line_number":592,"context_line":"        except Exception as e:"},{"line_number":593,"context_line":"            self.log.debug(\"Volume deletion failed\", exc_info\u003dTrue)"},{"line_number":594,"context_line":"            raise OpenStackCloudException("}],"source_content_type":"text/x-python","patch_set":4,"id":"da86d52c_2fe63245","line":591,"in_reply_to":"da86d52c_5c99741e","updated":"2015-02-08 15:16:25.000000000","message":"I believe that\u0027s because delete takes id as a param, but this method takes either name or id - so we have to get the volume dict so that we have the id.","commit_id":"1e572aaff584b8934ff19f36101d0ecc94b79ddd"}]}
