)]}'
{"cinder/volume/manager.py":[{"author":{"_account_id":2861,"name":"Vincent Hou","email":"shou@us.ibm.com","username":"houshengbo"},"change_message_id":"e5eb0aca7112122987efedb7ada6ba002a3d2d64","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        for volume in volumes:"},{"line_number":148,"context_line":"            if volume[\u0027status\u0027] in [\u0027available\u0027, \u0027in-use\u0027]:"},{"line_number":149,"context_line":"                self.driver.ensure_export(ctxt, volume)"},{"line_number":150,"context_line":"            elif volume[\u0027status\u0027] \u003d\u003d \u0027downloading\u0027:"},{"line_number":151,"context_line":"                LOG.info(_(\"volume %s stuck in a downloading state\"),"},{"line_number":152,"context_line":"                         volume[\u0027id\u0027])"},{"line_number":153,"context_line":"                self.driver.clear_download(ctxt, volume)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FuFA%3D","line":150,"updated":"2013-04-26 09:10:01.000000000","message":"Just a little tip: the status of the volume may be in some other \"ABNORMAL\" states, like attaching, detaching, etc. It is also some other states brought into cinder in future. It is best for this method to also handle the clearance for other states instead of \"downloading\" only. What do you think, Dermot?","commit_id":"3d18b30329183c6d89f287c5dd23248cbcc24607"},{"author":{"_account_id":5215,"name":"Dermot Tynan","email":"tynan@hpe.com","username":"dtynan"},"change_message_id":"fa2ef7e71dc137f6b7d1790cb79183891cd2f60c","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        for volume in volumes:"},{"line_number":148,"context_line":"            if volume[\u0027status\u0027] in [\u0027available\u0027, \u0027in-use\u0027]:"},{"line_number":149,"context_line":"                self.driver.ensure_export(ctxt, volume)"},{"line_number":150,"context_line":"            elif volume[\u0027status\u0027] \u003d\u003d \u0027downloading\u0027:"},{"line_number":151,"context_line":"                LOG.info(_(\"volume %s stuck in a downloading state\"),"},{"line_number":152,"context_line":"                         volume[\u0027id\u0027])"},{"line_number":153,"context_line":"                self.driver.clear_download(ctxt, volume)"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAOn%2F%2FuDA%3D","line":150,"in_reply_to":"AAAAOn%2F%2FuFA%3D","updated":"2013-04-26 10:08:30.000000000","message":"You\u0027re right.\n\nHowever, as those other half-eaten states are much more involved, I wasn\u0027t sure how to unwind a \u0027creating\u0027 or \u0027attaching\u0027 volume without leaving driver-crumbs on the ground. I figured it was a better approach to start with the \u0027downloading\u0027 ones and then see if we can\u0027t deal with each of the others, in turn. Probably one at a time.\n\nI know there was some discussion at OpenStack around unwinding states and the state machine in general. I believe there will be a significant effort for Havana to get these -ing states cleaned up.\n\nConsider this the first step...","commit_id":"3d18b30329183c6d89f287c5dd23248cbcc24607"}]}
