Error message when quota exceeded is incorrect and confusing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Medium
|
Pádraig Brady |
Bug Description
Right now when quota is exceeded (for any reason - RAM, instance count, CPU count, etc) you will get a message that says:
OverLimit: Quota exceeded: already used 1 of 1 instances.
Or more accurately, the two numbers will always be the same and will have the value of the maximum number of instances requested.
This is the case no matter how many instances are allowed by the quota.
Correct behavior should be:
assuming 1 2GB server requested, 50 instances allowed, 50GB of ram allowed, 50 instances used and 48GB of RAM used:
OverLimit: Quota exceeded: already used 50 of 50 instances.
and assuming 1 2GB server requested, 50 instances allowed, 50GB of ram allowed, 49 instances used and 49GB of RAM used:
Something different, I'm not sure what
Changed in nova: | |
status: | New → In Progress |
assignee: | nobody → Alex Meade (alex-meade) |
importance: | Undecided → Medium |
Changed in nova: | |
status: | In Progress → Confirmed |
assignee: | Alex Meade (alex-meade) → nobody |
Changed in nova: | |
assignee: | nobody → Pádraig Brady (p-draigbrady) |
Changed in nova: | |
status: | Confirmed → In Progress |
Changed in nova: | |
milestone: | none → folsom-2 |
status: | Fix Committed → Fix Released |
Changed in nova: | |
milestone: | folsom-2 → 2012.2 |
I believe that when you're getting that error, it is being raised by the following:
https:/ /github. com/openstack/ nova/blob/ master/ nova/compute/ api.py# L187
I think that the issue is that you have your instance quota limit set to 1 instance, therefore you're hitting the instance check and failing it and it never even gets to the other memory and disk checks, because it just stops at the instance
https:/ /github. com/openstack/ nova/blob/ master/ nova/compute/ api.py# L351
Let me know if you do not have your quota set at 1 instance.