)]}'
{"nova/objects/fixed_ip.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d6b3ff54fd5b11353f58841e8eebcf44d6e3d8e9","unresolved":false,"context_lines":[{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    @staticmethod"},{"line_number":232,"context_line":"    @db_api.pick_context_manager_reader"},{"line_number":233,"context_line":"    def _get_count_by_project_from_db(context, project_id):"},{"line_number":234,"context_line":"        return context.session.query(models.FixedIp.id).\\"},{"line_number":235,"context_line":"                filter_by(deleted\u003d0).\\"},{"line_number":236,"context_line":"                join(models.Instance,"}],"source_content_type":"text/x-python","patch_set":22,"id":"7f231b9d_69bb66c4","line":233,"range":{"start_line":233,"start_character":19,"end_line":233,"end_character":29},"updated":"2017-06-16 15:12:18.000000000","message":"OK it\u0027s by project only since fixed_ips are a project-only quota resource;\n\nhttps://github.com/openstack/nova/blob/8238e8aaa0103e96ddb67ad178ed9848e9071ea6/nova/db/sqlalchemy/api.py#L158","commit_id":"670bdc0276b165c14b49f1389627675b25a7429f"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d6b3ff54fd5b11353f58841e8eebcf44d6e3d8e9","unresolved":false,"context_lines":[{"line_number":231,"context_line":"    @staticmethod"},{"line_number":232,"context_line":"    @db_api.pick_context_manager_reader"},{"line_number":233,"context_line":"    def _get_count_by_project_from_db(context, project_id):"},{"line_number":234,"context_line":"        return context.session.query(models.FixedIp.id).\\"},{"line_number":235,"context_line":"                filter_by(deleted\u003d0).\\"},{"line_number":236,"context_line":"                join(models.Instance,"},{"line_number":237,"context_line":"                     models.Instance.uuid \u003d\u003d models.FixedIp.instance_uuid).\\"},{"line_number":238,"context_line":"                filter(models.Instance.project_id \u003d\u003d project_id).\\"},{"line_number":239,"context_line":"                count()"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"    @obj_base.remotable_classmethod"},{"line_number":242,"context_line":"    def get_all(cls, context):"}],"source_content_type":"text/x-python","patch_set":22,"id":"7f231b9d_89d482ea","line":239,"range":{"start_line":234,"start_character":8,"end_line":239,"end_character":23},"updated":"2017-06-16 15:12:18.000000000","message":"This is mirrored on _sync_fixed_ips which uses:\n\nhttps://github.com/openstack/nova/blob/8238e8aaa0103e96ddb67ad178ed9848e9071ea6/nova/db/sqlalchemy/api.py#L1577\n\ndef _fixed_ip_count_by_project(context, project_id):\n    nova.context.authorize_project_context(context, project_id)\n    return model_query(context, models.FixedIp, (models.FixedIp.id,),\n                       read_deleted\u003d\"no\").\\\n                join((models.Instance,\n                      models.Instance.uuid \u003d\u003d models.FixedIp.instance_uuid)).\\\n                filter(models.Instance.project_id \u003d\u003d project_id).\\\ncount()\n\nSo LGTM.","commit_id":"670bdc0276b165c14b49f1389627675b25a7429f"}]}
