Status update on the effort to fix the Cinder Quota system.
Cover the effort done up till now, performance results, deployment poll results, and next steps.
6. Not a simple query
● Limits calculated from 2 tables:
○ Global defaults: quotaclasses
○ Project specific: quotas
● Limits by volume type: No direct cross
○ Limits by type name
○ Volumes by type id
● Snapshot GBs may count towards volume GBs
○ Also by volume type
● Still need reservations table: eg. extend
7. Performance
● Look at 2 operations:
○ Create volume
○ Get current usage
● Concurrency
○ Single request
○ Multiple requests (10)
● Things to look at:
○ Time: Per request avg & total
○ CPU: Total and per service (DB/Cinder)
14. Option 1
● Move forward
○ New counting driver is the default
○ Most projects will be better:
■ Faster
■ More accurate
○ Tell large projects:
It’s a tradeoff, accuracy for speed
15. Option 2
● Mixed solution:
○ Same as old: Use quota_usages table
○ Same as new:
■ Reservations only in indispensable operations
■ Wrap queries in transactions
● Requires changes to the new quota driver interface:
○ Instead of the counting
○ Have both
● Could be a future implementation