)]}'
{"nova/volume/api.py":[{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"fee10282987ea68697eaf61f6e52b0d0ddbd8738","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                LOG.warn(_(\"Quota exceeded for %(pid)s, tried to create \""},{"line_number":104,"context_line":"                           \"volume (%(consumed)d volumes already consumed)\")"},{"line_number":105,"context_line":"                           % locals())"},{"line_number":106,"context_line":"                raise exception.VolumeLimitExceeded(allowed\u003dquotas[\u0027volumes\u0027])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if availability_zone is None:"},{"line_number":109,"context_line":"            availability_zone \u003d FLAGS.storage_availability_zone"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAKH%2F%2F%2B0Y%3D","line":106,"updated":"2012-07-06 00:42:38.000000000","message":"Shouldn\u0027t there be a default case here as well? Re-raise the original exception perhaps?","commit_id":"dea224ae26c752d328ccbb622048a63e990bee50"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"7778d899e5e158aed16d1c6637a74e5b4989922f","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                LOG.warn(_(\"Quota exceeded for %(pid)s, tried to create \""},{"line_number":104,"context_line":"                           \"volume (%(consumed)d volumes already consumed)\")"},{"line_number":105,"context_line":"                           % locals())"},{"line_number":106,"context_line":"                raise exception.VolumeLimitExceeded(allowed\u003dquotas[\u0027volumes\u0027])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if availability_zone is None:"},{"line_number":109,"context_line":"            availability_zone \u003d FLAGS.storage_availability_zone"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAKH%2F%2F%2Br8%3D","line":106,"in_reply_to":"AAAAKH%2F%2F%2B0Y%3D","updated":"2012-07-06 09:39:25.000000000","message":"Due to the way the nova.quotas.reserve() method is implemented, in this case we\u0027re guaranteed that OverQuota is only raised if overs contains at least one of the quotas inquired about.\n\nMore formally, a post-condition of:\n\n  nova.quotas.reserve(context, quota_1\u003dX, quota_2\u003dY, ..., quota_i\u003dZ)\n\nraising OverQuota is that:\n\n  (quota_1 in overs) or (quota_2 in overs) ... or (quota_i in overs)\n\nso the default case would never arise.","commit_id":"dea224ae26c752d328ccbb622048a63e990bee50"},{"author":{"_account_id":2271,"name":"Michael Still","email":"mikal@stillhq.com","username":"mikalstill"},"change_message_id":"237deba5bf01768162e1542a4d360ceed7de1762","unresolved":false,"context_lines":[{"line_number":103,"context_line":"                LOG.warn(_(\"Quota exceeded for %(pid)s, tried to create \""},{"line_number":104,"context_line":"                           \"volume (%(consumed)d volumes already consumed)\")"},{"line_number":105,"context_line":"                           % locals())"},{"line_number":106,"context_line":"                raise exception.VolumeLimitExceeded(allowed\u003dquotas[\u0027volumes\u0027])"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"        if availability_zone is None:"},{"line_number":109,"context_line":"            availability_zone \u003d FLAGS.storage_availability_zone"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAKH%2F%2F%2BrU%3D","line":106,"in_reply_to":"AAAAKH%2F%2F%2Br8%3D","updated":"2012-07-06 10:06:21.000000000","message":"Fair enough then. Please proceed.","commit_id":"dea224ae26c752d328ccbb622048a63e990bee50"}]}
