)]}'
{"nova/db/sqlalchemy/api.py":[{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"1fefaa62db89d839a5f7c9e5e06561187efa3a35","unresolved":false,"context_lines":[{"line_number":883,"context_line":"                                    project_id\u003dproject_id)"},{"line_number":884,"context_line":"            except Exception:"},{"line_number":885,"context_line":"                LOG.exception(_(\"Failed to update usages bulk \""},{"line_number":886,"context_line":"                                \"deallocating floating IP\"))"},{"line_number":887,"context_line":""},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2Bpxw%3D","line":886,"updated":"2014-01-23 14:32:03.000000000","message":"Can eating this exception cause the session to successfully commit, deleting the bulk but still leaving quotas in an inconsistent state?","commit_id":"4bd5b8acd6385c3fc6629485c383f2a015fe02a1"},{"author":{"_account_id":5652,"name":"David Ripton","email":"dripton@redhat.com","username":"dripton"},"change_message_id":"2033c319591585f86d0e15c5613ee85c8f9e9e44","unresolved":false,"context_lines":[{"line_number":883,"context_line":"                                    project_id\u003dproject_id)"},{"line_number":884,"context_line":"            except Exception:"},{"line_number":885,"context_line":"                LOG.exception(_(\"Failed to update usages bulk \""},{"line_number":886,"context_line":"                                \"deallocating floating IP\"))"},{"line_number":887,"context_line":""},{"line_number":888,"context_line":""},{"line_number":889,"context_line":"@require_context"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAUH%2F%2BpUg%3D","line":886,"in_reply_to":"AAAAUH%2F%2Bpxw%3D","updated":"2014-01-23 15:44:58.000000000","message":"My thinking was that, because quota interacts with bulk deletes only rarely, I didn\u0027t want bugs in the quota code to risk breaking the normal non-quota-affecting bulk deletes.\n\nBut we only hit the try block in the case where project_id_to_quota_count is non-empty because some of the IPs were not auto-assigned, so now I think that argument is kind of bogus.  So I\u0027ll add a raise statement to avoid swallowing the exception.\n\nThanks!","commit_id":"4bd5b8acd6385c3fc6629485c383f2a015fe02a1"},{"author":{"_account_id":1247,"name":"Mark McLoughlin","email":"markmc@redhat.com","username":"markmc"},"change_message_id":"062772217f188c4ea1f318c8adc9507f7de13102","unresolved":false,"context_lines":[{"line_number":862,"context_line":"            # thus need quota released."},{"line_number":863,"context_line":"            query \u003d model_query(context, models.FloatingIp).\\"},{"line_number":864,"context_line":"                filter(models.FloatingIp.address.in_(ip_block)).\\"},{"line_number":865,"context_line":"                filter_by(auto_assigned\u003dFalse)"},{"line_number":866,"context_line":"            rows \u003d query.all()"},{"line_number":867,"context_line":"            for row in rows:"},{"line_number":868,"context_line":"                # The count is negative since we release quota by"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUX%2F%2F4Zg%3D","line":865,"updated":"2014-02-10 07:33:32.000000000","message":"I was dubious about this auto_assigned\u003dFalse bit at first, but it corresponds to:\n\ndef _floating_ip_count_by_project(context, project_id, session\u003dNone):\n    nova.context.authorize_project_context(context, project_id)\n    # TODO(tr3buchet): why leave auto_assigned floating IPs out?                                                                            \n    return model_query(context, models.FloatingIp, read_deleted\u003d\"no\",\n                       session\u003dsession).\\\n                   filter_by(project_id\u003dproject_id).\\\n                   filter_by(auto_assigned\u003dFalse).\\\n                   count()\n\n\nLooks to me like that TODO should be replaced by a note explaining why auto-assigned floating IPs don\u0027t consume quoata","commit_id":"384cce84fde784f9e2f39db49502c66e20ff0b4c"}]}
