Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Unified Limits in OpenStack

14 views

Published on

I presented a lightning talk on the unified limits initiative in OpenStack and how it helps operators and developers achieve consistent quota enforcement.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Unified Limits in OpenStack

  1. 1. Lance Bragstad (lbragstad) Unified Limits Enforcing Quota Consistently with
  2. 2. What are unified limits? How do unified limits help operators? How do unified limits help developers? What's been done already? How can I get involved?
  3. 3. What are unified limits?
  4. 4. Limits are a theoretical maximum number of resources consumed by or associated to something.
  5. 5. Usage is the current consumption of resources by something, or associated to something.
  6. 6. limit management + usage enforcement = quota system
  7. 7. keystone + $SERVICE = quota system
  8. 8. resource + service (+ region) + limit (+ project) cores + compute + eu-west + 32 + 6bbdcd1e417640f7960faac553d49c3e
  9. 9. "registered_limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "region_id": "berlin", "resource_name": "cores", "default_limit": 32 } ]
  10. 10. "registered_limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "region_id": "berlin", "resource_name": "cores", "default_limit": 32 } ] applies to all projects, relatively static
  11. 11. "limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "project_id": "6bbdcd1e417640f7960faac553d49c3e", "region_id": "berlin", "resource_name": "cores", "resource_limit": 16 } ]
  12. 12. "limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "project_id": "6bbdcd1e417640f7960faac553d49c3e", "region_id": "berlin", "resource_name": "cores", "resource_limit": 16 } ] project-specific overrides
  13. 13. "limits":[ { "service_id": "9408080f1970482aa0e38bc2d4ea34b7", "project_id": "6bbdcd1e417640f7960faac553d49c3e", "region_id": "berlin", "resource_name": "cores", "resource_limit": 64 } ] project-specific overrides
  14. 14. user service keystone -------- resource request ------>
  15. 15. user service keystone (calculate usage)
  16. 16. user service keystone ------- fetch limits -------->
  17. 17. user service keystone <----- limit information ------
  18. 18. user service keystone project.usage + claimed usage < project.limit
  19. 19. How do unified limits help operators? one interface for all limits across all projects consistent validation single definition of enforcement rules
  20. 20. How do unified limits help developers? build your own limits API only* responsible for usage calculation complex project hierarchies
  21. 21. How do unified limits help developers? build your own limits API only* responsible for usage calculation complex project hierarchies
  22. 22. What's been done already? limit implementations in keystone python-openstackclient & openstacksdk oslo.limit enforcement library
  23. 23. How can I get involved? migrating services smoothing out interfaces in oslo.limit enforcement model feedback

×