)]}'
{"trove/instance/models.py":[{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"324dda9cd009857e4a033ef626f6ac9334cc3509","unresolved":false,"context_lines":[{"line_number":357,"context_line":"            guest.delete_queue()"},{"line_number":358,"context_line":"        except Exception as ex:"},{"line_number":359,"context_line":"            LOG.warn(ex)"},{"line_number":360,"context_line":"        deleted_at \u003d deleted_at or datetime.now()"},{"line_number":361,"context_line":"        self.update_db(deleted\u003dTrue, deleted_at\u003ddeleted_at,"},{"line_number":362,"context_line":"                       task_status\u003dInstanceTasks.NONE)"},{"line_number":363,"context_line":"        # Delete associated security group"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAQn%2F%2F8ks%3D","line":360,"updated":"2013-07-18 17:25:55.000000000","message":"not sure im a fan of this. talked to juice on irc about it. could be masking an error","commit_id":"7c29aabb106228bacef97061fb06d1afb580665a"},{"author":{"_account_id":739,"name":"Michael Basnight","email":"mbasnight@gmail.com","username":"hubcap"},"change_message_id":"c03920cd7e62e3e83c3864a7650d018c1a5a66b1","unresolved":false,"context_lines":[{"line_number":363,"context_line":"        # Delete associated security group"},{"line_number":364,"context_line":"        if CONF.trove_security_groups_support:"},{"line_number":365,"context_line":"            SecurityGroup.delete_for_instance(self.db_info.id,"},{"line_number":366,"context_line":"                                              self.context)"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    @property"},{"line_number":369,"context_line":"    def guest(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAQn%2F%2F8Vw%3D","line":366,"updated":"2013-07-18 18:20:34.000000000","message":"Why not just put the self.send_usage_event here instead. Then we dont have to pass deleted_at down","commit_id":"c7ff417b7b28a7943f50bdfb744026d8e1e6f297"}],"trove/taskmanager/models.py":[{"author":{"_account_id":1925,"name":"Vipul Sabhaya","email":"vipuls@gmail.com","username":"vipuls"},"change_message_id":"8fba64a5484eb8b4e01e4f653f6d311348bc06f0","unresolved":false,"context_lines":[{"line_number":447,"context_line":"                   time_out\u003dCONF.server_delete_time_out)"},{"line_number":448,"context_line":"        self.send_usage_event(\u0027delete\u0027,"},{"line_number":449,"context_line":"                              deleted_at\u003dtimeutils.isotime(deleted_at),"},{"line_number":450,"context_line":"                              server\u003dold_server)"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"    def resize_volume(self, new_size):"},{"line_number":453,"context_line":"        old_volume_size \u003d self.volume_size"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F5B0%3D","line":450,"updated":"2013-07-19 17:50:11.000000000","message":"Seems like the polling is unnecessary, if we are saying that we need to stop billing when the delete is issued, instead of when we actually delete.  \n\nThe polling introduces a scenario where the deleted event may not actually get sent at all, which would not satisfy the requirement above?","commit_id":"873a104eaecd7fbe6db8ca40065c364e42339acd"},{"author":{"_account_id":6156,"name":"Justin Hopper","email":"justin.hopper@hp.com","username":"justin-hopper"},"change_message_id":"dfe95d2ba9a98d3af83e9cbc56f253c2b48740ac","unresolved":false,"context_lines":[{"line_number":447,"context_line":"                   time_out\u003dCONF.server_delete_time_out)"},{"line_number":448,"context_line":"        self.send_usage_event(\u0027delete\u0027,"},{"line_number":449,"context_line":"                              deleted_at\u003dtimeutils.isotime(deleted_at),"},{"line_number":450,"context_line":"                              server\u003dold_server)"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"    def resize_volume(self, new_size):"},{"line_number":453,"context_line":"        old_volume_size \u003d self.volume_size"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAQn%2F%2F460%3D","line":450,"in_reply_to":"AAAAQn%2F%2F5B0%3D","updated":"2013-07-19 20:57:36.000000000","message":"This is a great point - in fact is this times out not only does the event not get sent but the rest of the \"delete_async\" will be skipped due to the exception being thrown.  This means the guest agent.queue will not be deleted nor will the security groups.  If we do care to wait we should wrap that line in a try/except and log the exception.  If we don\u0027t care, then let\u0027s remove it altogether.","commit_id":"873a104eaecd7fbe6db8ca40065c364e42339acd"}]}
