)]}'
{"manifests/cells.pp":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"5cff0b32c6e85d1b4d0a27448d29186fc1702d98","unresolved":false,"context_lines":[{"line_number":171,"context_line":"      nova_config { \u0027cells/cell_type\u0027: value         \u003d\u003e \u0027api\u0027 }"},{"line_number":172,"context_line":"    }"},{"line_number":173,"context_line":"    \u0027child\u0027: {"},{"line_number":174,"context_line":"      nova_config { \u0027DEFAULT/quota_driver\u0027: value \u003d\u003e \u0027nova.quota.NoopQuotaDriver\u0027 }"},{"line_number":175,"context_line":"      nova_config { \u0027cells/cell_type\u0027: value    \u003d\u003e \u0027compute\u0027 }"},{"line_number":176,"context_line":"    }"},{"line_number":177,"context_line":"    default: { fail(\"Unsupported cell_type parameter value: \u0027${cell_type}\u0027. Should be \u0027parent\u0027 or \u0027child\u0027.\") }"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"df87a7cf_fd5eebe7","line":174,"updated":"2017-12-13 18:45:24.000000000","message":"uh, so nova doesn\u0027t provide it by default?","commit_id":"027a7d35ac6c8bf5b9e9d5e7efcb1fc6cac21c78"},{"author":{"_account_id":7156,"name":"Mathieu Gagné","email":"mgagne@calavera.ca","username":"mgagne"},"change_message_id":"2a554abba01fd924ccddce5944ff20495050d700","unresolved":false,"context_lines":[{"line_number":171,"context_line":"      nova_config { \u0027cells/cell_type\u0027: value         \u003d\u003e \u0027api\u0027 }"},{"line_number":172,"context_line":"    }"},{"line_number":173,"context_line":"    \u0027child\u0027: {"},{"line_number":174,"context_line":"      nova_config { \u0027DEFAULT/quota_driver\u0027: value \u003d\u003e \u0027nova.quota.NoopQuotaDriver\u0027 }"},{"line_number":175,"context_line":"      nova_config { \u0027cells/cell_type\u0027: value    \u003d\u003e \u0027compute\u0027 }"},{"line_number":176,"context_line":"    }"},{"line_number":177,"context_line":"    default: { fail(\"Unsupported cell_type parameter value: \u0027${cell_type}\u0027. Should be \u0027parent\u0027 or \u0027child\u0027.\") }"}],"source_content_type":"text/x-puppet","patch_set":1,"id":"df87a7cf_bd0dc3e9","line":174,"in_reply_to":"df87a7cf_fd5eebe7","updated":"2017-12-13 18:59:45.000000000","message":"Yes but not the right value if CellsV1 is used.\n\nThe default quota_driver value will make it so quota are checked/updated in the compute cell database which isn\u0027t actually updated with non-default quota values for a project (by nova-api which is in api cell). (and it makes less sense if you have multiple compute cells since quota usages won\u0027t be synced cross-cells databases anyway)\n\nI found this issue when enabling purge_config for Nova in our setup which had quota_driver configured from a previous puppet-nova release.\n\nHere is the actual error (20 is default core quota and 51200 ram quota):\n\n    ERROR nova.cells.messaging [XXX YYY ZZZ - - -] Error processing message locally\n    ERROR nova.cells.messaging Traceback (most recent call last):\n    ERROR nova.cells.messaging   File \"/opt/openstack/nova/lib/python2.7/site-packages/nova/cells/messaging.py\", line 188, in _process_locally\n    ERROR nova.cells.messaging     resp_value \u003d self.msg_runner._process_message_locally(self)\n    ERROR nova.cells.messaging   File \"/opt/openstack/nova/lib/python2.7/site-packages/nova/cells/messaging.py\", line 1328, in _process_message_locally\n    ERROR nova.cells.messaging     return fn(message, **message.method_kwargs)\n    ERROR nova.cells.messaging   File \"/opt/openstack/nova/lib/python2.7/site-packages/nova/cells/messaging.py\", line 892, in resize_instance\n    ERROR nova.cells.messaging     **extra_instance_updates)\n    ERROR nova.cells.messaging   File \"/opt/openstack/nova/lib/python2.7/site-packages/nova/cells/messaging.py\", line 834, in _call_compute_api_with_obj\n    ERROR nova.cells.messaging     return fn(ctxt, instance, *args, **kwargs)\n    ERROR nova.cells.messaging   File \"/opt/openstack/nova/lib/python2.7/site-packages/nova/compute/api.py\", line 171, in wrapped\n    ERROR nova.cells.messaging     return func(self, context, target, *args, **kwargs)\n    ERROR nova.cells.messaging   File \"/opt/openstack/nova/lib/python2.7/site-packages/nova/compute/api.py\", line 160, in inner\n    ERROR nova.cells.messaging     return function(self, context, instance, *args, **kwargs)\n    ERROR nova.cells.messaging   File \"/opt/openstack/nova/lib/python2.7/site-packages/nova/compute/api.py\", line 188, in _wrapped\n    ERROR nova.cells.messaging     return fn(self, context, instance, *args, **kwargs)\n    ERROR nova.cells.messaging   File \"/opt/openstack/nova/lib/python2.7/site-packages/nova/compute/api.py\", line 141, in inner\n    ERROR nova.cells.messaging     return f(self, context, instance, *args, **kw)\n    ERROR nova.cells.messaging   File \"/opt/openstack/nova/lib/python2.7/site-packages/nova/compute/api.py\", line 2743, in resize\n    ERROR nova.cells.messaging     allowed\u003dtotal_alloweds)\n    ERROR nova.cells.messaging TooManyInstances: Quota exceeded for cores, ram: Requested 2, 8192, but already used 232, 935936 of 20, 51200 cores, ram\n    ERROR nova.cells.messaging","commit_id":"027a7d35ac6c8bf5b9e9d5e7efcb1fc6cac21c78"}]}
