)]}'
{"shade/openstackcloud.py":[{"author":{"_account_id":3099,"name":"David Shrewsbury","email":"dshrewsb@redhat.com","username":"dshrews"},"change_message_id":"0e871bcc0d516eee697206c693827984cbd8442f","unresolved":false,"context_lines":[{"line_number":3054,"context_line":"        except OpenStackCloudTimeout:"},{"line_number":3055,"context_line":"            self.log.debug("},{"line_number":3056,"context_line":"                \"Timeout waiting for image to become ready. Deleting.\")"},{"line_number":3057,"context_line":"            self.delete_image(image.id, wait\u003dTrue)"},{"line_number":3058,"context_line":"            raise"},{"line_number":3059,"context_line":""},{"line_number":3060,"context_line":"    def _upload_image_task("}],"source_content_type":"text/x-python","patch_set":1,"id":"fa6399be_178cb9d8","line":3057,"updated":"2016-10-17 12:53:47.000000000","message":"Could this delete possibly raise another exception if nothing was actually uploaded and there is nothing there to delete? Would we want to catch that and hide it?","commit_id":"e27516fa1cb754062663b26c0ba58cd60e471d5b"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"ddaf82e48e9bad42f05864bd0fdb8ef6e0a39c8a","unresolved":false,"context_lines":[{"line_number":3054,"context_line":"        except OpenStackCloudTimeout:"},{"line_number":3055,"context_line":"            self.log.debug("},{"line_number":3056,"context_line":"                \"Timeout waiting for image to become ready. Deleting.\")"},{"line_number":3057,"context_line":"            self.delete_image(image.id, wait\u003dTrue)"},{"line_number":3058,"context_line":"            raise"},{"line_number":3059,"context_line":""},{"line_number":3060,"context_line":"    def _upload_image_task("}],"source_content_type":"text/x-python","patch_set":1,"id":"da6895a0_e162f5d7","line":3057,"updated":"2016-10-21 17:02:59.000000000","message":"I think we\u0027d actually want to log the timeout exception, and raise the delete failure exception, because that is the one that will cost the user money if they\u0027re charged for the upload.","commit_id":"e27516fa1cb754062663b26c0ba58cd60e471d5b"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"911d4be7b37a07f8741a1ab702a4c2755007f7f5","unresolved":false,"context_lines":[{"line_number":3054,"context_line":"        except OpenStackCloudTimeout:"},{"line_number":3055,"context_line":"            self.log.debug("},{"line_number":3056,"context_line":"                \"Timeout waiting for image to become ready. Deleting.\")"},{"line_number":3057,"context_line":"            self.delete_image(image.id, wait\u003dTrue)"},{"line_number":3058,"context_line":"            raise"},{"line_number":3059,"context_line":""},{"line_number":3060,"context_line":"    def _upload_image_task("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_c1497fd2","line":3057,"updated":"2016-11-07 18:32:38.000000000","message":"Ok, on further inspection, either the timeout or the delete will raise, so it should work \"fine\", especially if delete_image follows the convention of just returning False when it doesn\u0027t actually delete anything.","commit_id":"e27516fa1cb754062663b26c0ba58cd60e471d5b"},{"author":{"_account_id":2,"name":"Monty Taylor","email":"mordred@inaugust.com","username":"mordred"},"change_message_id":"8abdd89771361d2d31837e215ff5fab002d5d356","unresolved":false,"context_lines":[{"line_number":3054,"context_line":"        except OpenStackCloudTimeout:"},{"line_number":3055,"context_line":"            self.log.debug("},{"line_number":3056,"context_line":"                \"Timeout waiting for image to become ready. Deleting.\")"},{"line_number":3057,"context_line":"            self.delete_image(image.id, wait\u003dTrue)"},{"line_number":3058,"context_line":"            raise"},{"line_number":3059,"context_line":""},{"line_number":3060,"context_line":"    def _upload_image_task("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_58d1e7fa","line":3057,"in_reply_to":"9a629dbe_1973feb2","updated":"2016-11-07 15:54:03.000000000","message":"I agree with Jordan. The behavior with timeouts should be the same, except that we\u0027ll delete half-uploaded images. delete_image should not throw an exception on missing image - if it does, that\u0027s a bug in shade and we should fix delete_image. If deleting the image actually does FAIL then that will bubble up in a general OpenStackCloudException exception - and that\u0027s something that a user almost certainly would want to know about, because deleting an image really shouldn\u0027t be a failure (and as Clint says, might cost someone money - although I\u0027m currently unaware of any clouds charging for image storage. Well, except Rackspace where images get uploaded to swift and one gets charged for storage of objects in swift - but this doesn\u0027t address that one way or the other)","commit_id":"e27516fa1cb754062663b26c0ba58cd60e471d5b"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"71d4d25d697823aa5a03a856296ce3ad48faf882","unresolved":false,"context_lines":[{"line_number":3054,"context_line":"        except OpenStackCloudTimeout:"},{"line_number":3055,"context_line":"            self.log.debug("},{"line_number":3056,"context_line":"                \"Timeout waiting for image to become ready. Deleting.\")"},{"line_number":3057,"context_line":"            self.delete_image(image.id, wait\u003dTrue)"},{"line_number":3058,"context_line":"            raise"},{"line_number":3059,"context_line":""},{"line_number":3060,"context_line":"    def _upload_image_task("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_1973feb2","line":3057,"in_reply_to":"da6895a0_e162f5d7","updated":"2016-11-07 12:38:18.000000000","message":"I am not sure what\u0027s wrong with this patch. If the call to \u0027delete_image\u0027 fails, then an exception will bubble up, right ?\n\nAnd the timeout error  is properly logged.","commit_id":"e27516fa1cb754062663b26c0ba58cd60e471d5b"}]}
