3. 3
What is Quota ?
Quota helps to enforce restriction on resource
consumption.
4. 4
Projects and Resources
Nova
CPU, Memory, Disk,
#Instances
Cinder
Volumes,
Snapshots,
Gigabytes
Neutron
Port, Subnet,
Router, Network
Magnum Trove
5. 5
Why?
• Every project has its own way of enforcing Quotas.
• Similar pattern for Quota code in projects using Quota.
• Duplication of efforts.
• Time consumed in developing Quota features.
• Concurrency and Transactional Issues in current
design.
• Crucial to keep track of resource limits.
6. 6
State of Quota across different projects
• TOP CONCERNS in every Dev-Ops Summit.
• How to Refresh Quota ?
• How to reset in-correct quota count ?
7. 7
State of Quota Enhancement efforts
Discussion on Quota at Design Summit (or Mid cycle for
respective projects)
Propose a spec or solution. Realize Quotas are broken and
will need significant investment to get it right. Service v/s
Library debate.
Will it affect the current state of the project ?
Other features prop up.
9. 9
Delimiter – Cross Project Quota Library
• Delimiter – Library not a Service
• Delimiter’s role is to impose restriction on resource consumption.
• Delimiter will not be responsible for rate limiting.
• Delimiter will not maintain data for the resources.
• Respective projects will take care of keeping, maintaining data for
resources.
• Delimiter won’t have the concept of reservation.
• Delimiter may fetch information for project quota from Keystone or
respective projects.
• Delimiter will understand both Flat and Nested models.
• Consolidate utility code for quota issues at common place.